QSVEncC+avisynthで高速自動エンコードする 改良編
その2で書いたbatファイルはSAR4:3としているので、
1440x1080の地デジはいいですが、1920x1080のBSやCSだと比率が狂ってしまうのです。
地デジかBSかを分岐する方法を思いついたので書いておきます。
まず自分の録画ファイルの管理について箇条書きで書いておきます。
・すべてのTSは一時フォルダに置く ・後処理が終了するとTSとmp4が一時フォルダに残る(あとlogファイル) ・TSはmp4確認後に削除する ・mp4は番組名ごとに作ったフォルダにbatファイルで自動振り分け |
大丈夫そうなら、QSVEncC.batの残骸ファイルにTSも記述しようかなと思っています。
↑春アニメやって大丈夫そうなので削除する事にしました。その2に追記してあります。
batファイルでのmp4自動振り分けは、いつか記事にしておこうかなと思います。
方法1.地デジ・BS全てエンコードする場合
早速書いていきましょう。TVRockの後処理コマンドを直に記述せずに、
新しく作るbatファイルを呼び出すようにしました。そのbatファイルが以下です。TVRock.batとしました。
rem ==============================================
rem 変数
rem ==============================================
set SAVE=<一時フォルダ>
rem ### QSVEncC ###
set QSVEncC="C:\avisynth\QSVEncC.bat"
rem ### TsSplitter ###
set TsSplitter="C:\avisynth\program\TsSplitter\TsSplitter.exe"
rem ### SCRename ###
set SCRename="C:\avisynth\program\SCRename\SCRenameTvRock.bat"
rem ==============================================
rem エンコード処理
rem ==============================================
call %TsSplitter% -EIT -SD -1SEG -OUT "%SAVE%" -WAIT2 "%~1"
if exist "%SAVE%\%~n1_HD.ts" del "%~1"
call %QSVEncC% "%SAVE%\%~n1_HD.ts"
call %SCRename% "%SAVE%\%~n1_HD.ts"
call %SCRename% "%SAVE%\%~n1_HD.mp4"
exit
冒頭でも書いたとおり、その2で書いたbatではsarは4:3と書きましたが、
コメントによりsar -16:-9とすると、DAR 16:9と同じ意味になり、地デジとBS両方対応出来るみたいです。

なのでQSVEncCの映像エンコード設定にあるsar 4:3をsar -16:-9に修正して欲しいです。m(_ _)m
QSVEncC.batを地デジ用とBS用とで2つ作る必要ないのでスマートですね。
方法2.地デジとBSの処理を分けたい場合
rem ==============================================
rem 変数
rem ==============================================
set SAVE=<一時フォルダ>
set MOVE=<移動フォルダ>
rem ### QSVEncC ###
set QSVEncC="C:\avisynth\QSVEncC.bat"
rem ### TsSplitter ###
set TsSplitter="C:\avisynth\program\TsSplitter\TsSplitter.exe"
rem ### SCRename ###
set SCRename="C:\avisynth\program\SCRename\SCRenameTvRock.bat"
rem ###BS/CS###
set BS1=-TBS
set BS2=BS11
set BS3=BS-
echo ****************************************************************
echo BSファイル振り分け
echo ****************************************************************
move "%SAVE%\*%BS1%*_HD.ts" "%MOVE%"
move "%SAVE%\*%BS2%*_HD.ts" "%MOVE%"
move "%SAVE%\*%BS3%*_HD.ts" "%MOVE%"
if not exist "%SAVE%\%~n1_HD.ts" goto BS
echo ****************************************************************
echo 地デジ処理開始
echo ****************************************************************
call %TsSplitter% -EIT -SD -1SEG -OUT "%SAVE%" -WAIT2 "%~1"
if exist "%SAVE%\%~n1_HD.ts" del "%~1"
call %QSVEncC% "%SAVE%\%~n1_HD.ts"
call %SCRename% "%SAVE%\%~n1_HD.ts"
call %SCRename% "%SAVE%\%~n1_HD.mp4"
exit
:BS
echo ****************************************************************
echo BS処理開始
echo ****************************************************************
rem (処理なし。移動するだけ)
exit
こっちは地デジとBSを処理分けしたい場合のものです。必要ないならいりません。
個人的にBS放送は録画漏れ対策なので、地デジがちゃんと録画されているなら削除しています。
なので、BSはエンコードせずに別フォルダに分けてあった方が無駄が少なくいいかなと思います。
まず流れの説明を。
1.録画したファイルは全て共通の処理を実行し、元のTSは削除 2.TsSplitterで出力したTSのファイル名にBS・CSの局が含む場合、指定フォルダに移動する 3.もし、一時フォルダにTsSplitterで出力したTSのファイルが無いならBS処理へジャンプ 4.あるならそのままTS処理実行 |
変更する部分はいつもどおり基本的に青い部分のみです。
変数MOVEはBSやCSなどを移動して置くフォルダです。
TsSplitterとかは普通に変数設定してください。
BS1やBS2とかですが、これが局名を表す部分なので移動したい局名を変数セットして下さい。
BS3まで作ってますが、増やしたら下の『BSファイル振り分け』でそれを処理するコマンドも追加です。
上のbatではBS処理には何も記述せず、移動だけになっているので、
エンコードしたい場合は、地デジ処理の内容をコピペして下さい。
作ったbatはavisynthフォルダに置いて、TVRockの後処理コマンドで呼び出して上げれば良いです。スッキリ!

とりあえずこんな感じで終わりです。これで多分無駄なエンコードは無くなるでしょう。
まぁもしおかしい所や書き換えた方が良い所がわかったら書き直します。
それではまた~
- 関連記事
-
- 【QSVEncC】不完全な番組前後の自動CMカット【avisynth】
- MP4ファイルを無劣化で編集する
- QSVEncC+avisynthで高速自動エンコードする 改良編
- QSVEncC+avisynthで高速自動エンコードする その3
- QSVEncC+avisynthで高速自動エンコードする その2
| エンコード | 16:38 | comments:7 | trackbacks:0 | TOP↑
非常に参考になります。
もし可能であれば「Avisynth+バッチファイル+αで簡単にアニメ高速エンコード」に記載のようにインタレ解除も行うようなスクリプトの解説もご一考下さい。
| かとう | 2013/04/15 01:32 | URL | ≫ EDIT