+・準備するもの
+ ffmpeg 動画からの音声抽出に使います。
+ 環境変数 FFMPEGCMD で指定可能
+ 音声を再エンコードする場合ビデオの抽出にも使います。
+ faad 動画からの音声抽出に使います。
+ ffmpegの代わりに使うことができます。
+ 環境変数 FAADCMD で指定可能
+ FAADCMD,FFMPEGCMDが両方指定されている場合FAADCMDが優先されます。
+ mp4box mp4ファイルの分割に使用
+ 環境変数 MP4BOXCMD で指定可能
+ sox 分割したwaveファイルを結合するのに利用
+ 環境変数 SOXCMD で指定可能
+ aacplusenc 結合したwaveファイルをaacエンコードするのに利用
+ 環境変数 AACENCCMD で指定可能
+ AACENCPOT でオプション指定可能
+ mplayer サムネイル出力に利用
+ 環境変数 MPLAYERCMD で指定可能
+
・使い方
waveファイルを読み込み判定
例: cmcheckwave out.wav
mp4ファイルからwaveファイルをpipe出力し判定
例: ffmpeg -v 0 -i 録画ファイル.mp4 -f wav pipe: | cmcheckwave -
mp4ファイル直接指定(-bが指定されたとして動作します)
+ (プログラムにはmp4を読み込む機能はなく上記例のffmpegコマンドを発行しています。)
cmcheckwave 録画ファイル.mp4
出力は標準出力に区切りとカット用のコマンドサンプルが出力されます。
+
+ 例: mp4ファイルを読み込み一連のカット処理を実行。サムネイル出力も行う。
+ 再処理のため判定内容ファイルを 録画ファイル.mp4-sh として保存します。
+ cmcheckwave -t -x 録画ファイル.mp4 > 録画ファイル.mp4-sh
+
+ 例: うまくカットできたのでファイルの後始末と録画ファイルの置き換えを行う。
+ cmcheckwave -t -x -c 1 録画ファイル.mp4-sh
+
+
コマンドのオプション
-b ファイル名 :出力するコマンドに使う元ファイル名を指定します。
指定されない場合mp4boxのsplitコマンドのみ出力します。
-m 無音判定秒数 :無音と判定する秒数を指定します デフォルト 250ms
-v 判定ボリューム:無音と判定する最小ボリューム デフォルト 9
-a 音声の再エンコードコマンドを出力しない(MP4のカット結合のみ)
-
---以下未実装
+ -t サムネイル出力用コマンドを出力
-x コマンドテキストを出力せず、そのまま実行します。(-bのファイル名必須)
+ -c opt コマンドテキストを読み込み出力したサムネイルファイルの削除やmp4ファイルの
+ リネームなどを行う一連のコマンドを出力(チェック済みファイルの置き換えに利用)
+ opt が 1 の場合CMカットしたファイルで録画ファイルを置き換えます。
+ opt が 2 の場合はファイルの置き換えを行いません。
+
判定は無音の秒数のみでみるため不正確です。そのため出力をファイルに保存して修正
してCM判定を調整することができます。
例:ffmpeg -v 0 -i 録画ファイル -f wav pipe: | cmcheckwave -b 録画ファイル - > コマンドファイル
とすることでコマンドファイルの修正内容を反映した、一連のコマンドが再出力されます。
+ ・補足(カット位置調整)
+
+# 1760.10 1761.61 diff 15.60 -0.5,3
+ ^^^^^^
+ コマンドテキストの再処理時に、本編部分のカット位置調整用にパラメータを指定できます。
+ 上記の例ではカット開始位置を-0.5秒、カット終了位置を3フレームずらします。
+ (1フレーム0.033秒で計算されます。開始位置はキーフレームが必要なため大きくずれたり
+ まったく変化しないことがあります。)
+ カット位置調整パラメータは開始位置は本編開始のみ、終了位置は本編終了位置
+ のみ機能します
+
+# 295.99 296.93 diff 14.96 CM
+# 709.51 709.94 diff 413.01 -10,10
+# 898.90 899.85 diff 189.91 -20,20
+# 913.88 914.97 diff 15.12 CM
+
+ たとえば上記のように記述したとしても、
+ 最初の行の終了位置の10フレーム指定はここでは終了しないため無視され、
+ 2行目の開始位置もここは開始位置でないので無視されます。
+
+# 295.99 296.93 diff 14.96 CM
+# 709.51 709.94 diff 413.01 -10,
+# 898.90 899.85 diff 189.91 ,20
+# 913.88 914.97 diff 15.12 CM
+
+ 書き直すとこのような指定がされているものとして扱われます。