TSを半自動でエンコードするためのバッチファイルを作成しました。
以下の記事の環境が整っていることが前提になります。
バッチファイル
とりあえずバッチファイルを貼り付けます。
TSCook.batなどのファイル名で保存してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
@echo off setlocal rem ############################################################# rem # TS半自動エンコードバッチ by Heet (https://heetnote.com/) # rem # 【更新日】2016/11/06 # rem # 【機能】TSをAviUtlでエンコードするための下準備をします。 # rem # 1. TsSplitterで不要なサービスを削除 # rem # 2. DGIndexでd2v/aacに分離、avsを作成 # rem # 3. FAWでaacを疑似wavに変換 # rem # 4. logoGuilloでCMカット用フレームリストを作成 # rem # 5. avsをAviUtlで読み込みお好きに料理してください # rem ############################################################# rem ##### 環境設定 ############################################## rem 注) パスを「""」で括らないでください。 rem フォルダ指定の最後に「\」を付けないでください。 rem 出力先フォルダ set OutputDir=D:\Video\Edit rem 「TsSplitter.exe」のパス set TsSplitterPath=D:\AviUtl\TsSplitter\TsSplitter.exe rem 「DGIndex.exe」のパス set DGIndexPath=D:\AviUtl\DGIndex\DGIndex.exe rem AVSテンプレートのパス set AvsTemplatePath=D:\AviUtl\DGIndex\template.avs rem 「fawcl.exe」のパス set fawclPath=D:\AviUtl\FakeAacWav\fawcl.exe rem logoGuillo関連の設定 set LOGOG_PATH=D:\AviUtl\logoGuillo\logoGuillo.exe set AVS2X_PATH=D:\AviUtl\logoGuillo\avs2pipemod\avs2pipemod.exe set AVSPLG_PATH=D:\AviUtl\DGIndex\DGDecode.dll rem ロゴデータ(.lgd)とロゴ検出パラメータ(.param)の格納フォルダ rem TSファイル名に含まれる放送局名と一致する必要があります。 rem ex)「ABCDE 第1話 (20161010-2400 BS11).ts」の場合 rem 「BS11.lgd」と「BS11.lgd.autoTune.param」が必要 set LOGO_DIR=D:\AviUtl\logoGuillo rem ##### オプション ############################################ rem CS放送をエンコードする場合は1を指定 set CSEnable=0 rem 番組情報及びPMT情報で分割する場合は1を指定 rem ファイルが大量に作成されるので、 rem 不要なものは手動で削除してください。 set SEP2Enable=0 rem ##### 設定終了 ############################################## rem ##### 処理開始 #$############################################ echo; echo ============================ echo 処 理 開 始 echo ============================ echo; rem 出力先フォルダを作成 if not exist "%OutputDir%\" ( mkdir "%OutputDir%" ) rem TsSplitterの追加パラメータを設定 set TsSplitterParam= if %CSEnable% == 1 ( set TsSplitterParam=-CS ) if %SEP2Enable% == 1 ( set TsSplitterParam=%TsSplitterParam% -SEP2 ) rem ##### 入力ファイル数分ループ ##### for %%i in (%*) do ( echo ===== 処理するファイル ====== echo %%i echo; echo ====== TsSplitter開始 ====== rem TsSplitterにTSを渡す "%TsSplitterPath%" -SD2 -SD3 -1SEG %TsSplitterParam% -OUT "%OutputDir%" -WAIT2 %%i echo; rem 出力されたTSファイル数分ループ for %%j in ("%OutputDir%\%%~ni_*") do ( echo ====== DGIndex開始 ====== rem DGIndexにTSを渡す "%DGIndexPath%" -i "%%j" -o "%%~dpnj" -ia 5 -fo 0 -om 2 -yr 2 -at "%AvsTemplatePath%" -hide -exit echo; rem AACファイル数分ループ for %%k in ("%%~dpnj PID*.aac") do ( echo ====== FAW開始 ====== rem FAWにAACを渡す "%fawclPath%" "%%k" echo; ) echo ====== logoGuillo開始 ====== rem logoGuillo用パラメータ設定 set LOGO_PATH=0 set PRM_PATH=0 set VIDEO_PATH=%%~dpnj.d2v set OUTPUT_PATH=%%~dpnj.avs.txt rem 放送局に対応するロゴデータを検索 for %%l in ("%LOGO_DIR%\*.lgd") do ( rem TSファイル名にロゴデータ名が含まれるか echo %%j | find "%%~nl" >NUL if not errorlevel == 1 ( set LOGO_PATH=%%l rem 放送局に対応するロゴ検出パラメータを検索 for %%m in ("%LOGO_DIR%\*.param") do ( rem ロゴ検出パラメータ名にロゴ名が含まれるか echo %%m | find "%%~nl" >NUL if not errorlevel == 1 ( set PRM_PATH=%%m ) ) ) ) rem CMカットサブルーチン呼び出し call :subCMCut ) echo; ) echo =========================== echo 処 理 完 了 echo =========================== echo; endlocal pause exit rem ##### CMカットサブルーチン ################################## :subCMCut rem ロゴ検出パラメータがあればCMカットをする if not %PRM_PATH% == 0 ( rem logoGuilloを実行 "%LOGOG_PATH%" -video "%VIDEO_PATH%" -lgd "%LOGO_PATH%" -avs2x "%AVS2X_PATH%" -avsPlg "%AVSPLG_PATH%" -prm "%PRM_PATH%" -out "%OUTPUT_PATH%" -outFmt keyF ) else ( echo --- ロゴデータが見つかりませんでした。 --- ) echo; exit /b |
環境設定
使用前に環境設定を行う必要があります。
環境設定をする際の注意事項は、バッチファイル内に記載しています。
- 出力先フォルダ
- 「TsSplitter.exe」のパス
- 「DGIndex.exe」のパス
- AVSテンプレートのパス
- 「fawcl.exe」のパス
- logoGuillo関連の設定
- ロゴデータ(.lgd)とロゴ検出パラメータ(.param)の格納フォルダ
使い方
バッチファイルにTS(複数可)をドラッグ&ドロップすると、
以下の処理を自動で実施します。
- TsSplitterを使用して、不要なサービスを削除します。
- DGIndexを使用して、映像(d2v)と音声(aac)に分離し、
AviSynthスクリプトファイル(avs)を作成します。 - FAWを使用して、音声(aac)を疑似wavに変換します。
- logoGuilloを使用して、CMカット用フレームリストを作成します。
ここまでをバッチファイルが行います。
これ以降の作業は、AviUtlを使用して手動で行うことになります。
CMカットやフィルタの設定は自分で確認して行いたい。
そのあとはバッチ登録するだけなので自動化するほどでもない。
という考えから、このような半自動エンコードバッチにしています。
使用上の注意
- 基本的に自分用なので、エラーチェックなどはしていません。
TS以外のファイルを渡されても大丈夫だと思いますが、
環境設定は誤りのないように注意してください。 - お約束ですが、このファイルの使用により発生した
いかなる損害についても作者は一切の責任を負いません。