aviutlによるTSエンコード入門~バッチファイル編(DGIndex)~
DGMPGdec(DGIndex)を利用したtsファイルの分離パッチを作成してほしいとのリクエストをいただきました。
aviutlによるTSエンコード入門~バッチファイル編(BonTsDemux)~
http://coelacanth-deepsea.hatenablog.com/entry/2012/10/27/214435
を参考に少し書き換えればよいと思います。実はリクエスト前に公開するつもりで作成してあったので、これを機会に一部を披露、解説いたします。
DGIndex使ったほうがGOPリスト作らなくていいから楽かもしれませんね。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(省略)
set DGI="~~~~\DGIndex.exe"
set TOWAVE="~~~~\ToWave.exe"
set AVU="~~~~\aviutl.exe"
set AUC_DIR=~~~~\auc\
(省略)
%DGI% -i "%~1" -o "%OUTPUT_NAME%" -ia 4 -fo 0 -yr 2 -om 2 -hide -exit
for /f "usebackq tokens=*" %%i in (`dir /b "%PATH_NAME%%OUTPUT_NAME%.d2v"`) do set D2V_FILE=%%i
(省略)
set D2V_FILE_NAME=%D2V_FILE:~0,-4%
(省略)
rem echo "Make gl file"
rem %MME% -g -q "%D2V_FILE%"
(省略)
echo "Start Aviutl"
start /b "" %AVU%
timeout -t 3
echo "%D2V_FILE%"
echo "add D2V file"
call "%AUC_DIR%auc_open" "%D2V_FILE%"
timeout -t 2
(省略)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
詳細な文法の解説は
aviutlによるTSエンコード入門~バッチファイル編(BonTsDemux)~
http://coelacanth-deepsea.hatenablog.com/entry/2012/10/27/214435
に譲ります。また全文を掲載しておりませんのでご注意ください。
┃%DGI% -i "%~1" -o "%OUTPUT_NAME%" -ia 4 -fo 0 -yr 2 -om 2 -exit
ここが記述できたら完成したも同然です。パラメータはDGMPGdecのフォルダ内にある、DGIndexManual.htmlに『APPENDIX C: Unix-Style Command-Line Interface』として記述されています。オプションに解説を加えますと、-iは入力ファイル名、-oは出力ファイル名、-iaは分離作業に使うアルゴリズムの指定。4としてありますがPC環境によって左右されますので、どの引数が使用可能か事前にご確認ください。
1=MMX, 2=SSEMMX, 3=SSE2MMX, 4=64-bit Floating Point, 5=IEEE-1180 Reference, 6=Skal MMX, 7=Simple MMX
普通のテレビ番組なら-foは0でいいです。
-yrはPC、TVのカラースケールの指定です。発色はソースや環境によって違いますのでお好みでどうぞ。
1 = PC scale, 2 = TV scale
-omは出力方式。2でいいと思います。
0=None, 1=Demux Tracks, 2=Demux All Tracks, 3=Decode AC3 to WAV
次あたりに-hideとか-minimizeのオプションを入れると、作業中DGIndex本体を隠したり非表示にできます。-exitでプログラムを終了します。
┃for /f "usebackq tokens=*" %%i in (`dir /b "%PATH_NAME%%OUTPUT_NAME%.d2v"`) do set D2V_FILE=%%i
ファイル拡張子を.d2vに、変数名をD2V_FILEに変更してありますのでご注意ください。
┃set D2V_FILE_NAME=%D2V_FILE:~0,-4%
tsファイルは拡張子とピリオドを含めて3文字ですが、d2vファイルは4文字ですので、-4としています。
┃rem echo "Make gl file"
┃rem %MME% -g -q "%D2V_FILE%"
削除してもいいですが参考のためにコメントアウトしました。
┃echo "Start Aviutl"
┃start /b "" %AVU%
┃timeout -t 3
┃echo "%D2V_FILE%"
┃echo "add D2V file"
┃call "%AUC_DIR%auc_open" "%D2V_FILE%"
┃timeout -t 2
特に気をつけることはありませんが変数をD2V_FILEに変更お忘れなく。
なお、ファイルの分離処理中にecho offしてあるのにコマンドプロンプト上に数字が表示されますが、これはDGIndexの処理の進行割合を表示しているのだと思います。非表示にする方法は調べていません。