シーラカンスの非日常

サブカルの海から発信中

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.htmlAPPENDIX 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の処理の進行割合を表示しているのだと思います。非表示にする方法は調べていません。