TS全自動エンコードバッチ

スポンサーリンク
スポンサーリンク
エンコード

自動CMカットとエンコードを同時に行います。

スポンサーリンク
スポンサーリンク

必要

join_logo_scp

こちらの記事を参考にしてください。

FFmpeg

ダウンロードページからffmpeg-git-full.zipをダウンロードします。

解凍して「bin」フォルダにあるffmpeg.exeを使います。

バッチファイル

拡張子を.batにして保存します。

@echo off
cd /d %~dp0

rem ループ処理の開始
:loop
if "%~1" == "" goto end

rem 自動CMカットの開始
call jlse_bat.bat "%~1"

rem エンコードの開始
ffmpeg.exe -i "result\%~n1\in_cutcm_logo.avs" -vf bwdif=1 -c:v libx264 -preset medium -crf 23 -aspect 16:9 -b:a 192k "%~dpn1.mp4"

rem 一時ファイルの削除
rd /s /q "result\%~n1"
del "%~1.lwi"

shift
goto loop
:end

使い方

ffmpeg.exeとバッチファイルをjlse_bat.batと同じフォルダに入れます。

TSファイルをバッチファイルにドラッグ&ドロップすると、エンコードが始まります。
複数の場合は順番にエンコードされます。

出力先はTSファイルと同じフォルダです。

エンコード後に画面を閉じたくない場合は:endの下にpause >nulを書いてください。

解説

-i "result\%~n1\in_cutcm_logo.avs"

in_cutcm_logo.avsを入力ファイルに指定しています。

ロゴ除去しない場合はin_cutcm.avsに書き換えてください。

-vf bwdif=1

インターレース解除です。
1で60fps出力、0で30fps出力です。

-c:v libx264

エンコーダーの指定です。
libx265にすると遅くなりますが、高圧縮になります。

-preset medium

画質と速度のバランスです。10種類あります。

ultrafast
superfast
veryfast
faster
fast
medium
slow
slower
veryslow
placebo

上に行くほど低画質で高速に、下に行くほど高画質で低速になります。
デフォルトはmediumです。

-crf 23

画質と圧縮率のバランスです。範囲は0~51です。
値が小さいほど高画質で低圧縮に、大きいほど低画質で高圧縮になります。

libx264のデフォルトは23です。
libx265のデフォルトは28です。

-aspect 16:9

アスペクト比の指定です。

-b:a 192k

音声ビットレートの指定です。

rd /s /q "result\%~n1"

「result」フォルダに出力されるファイルを削除しています。
必要なら消してください。

del "%~1.lwi"

LWLibavVideoSourceが生成するインデックスファイルを削除しています。

カスタマイズ

逆テレシネ

映画やアニメにおすすめです。
インターレース解除の部分を書き換えます。

-vf pullup -r 24000/1001

リサイズ

-s 1280x720

1280×720にリサイズされます。

TSファイルを削除

shiftの上に書きます。

del "%~1"

ただ自動CMカットは完璧ではないので、エンコード結果を確認してから削除するのがおすすめです。

コメント

  1. Edcb_cmcutter より:

    わかりやすい!!
    あなたは天才ですか!

  2. thtsf より:

    L-SMASH Worksの不具合かもしれません。
    こちらにあるL-SMASH-Works-r935-ffmpeg4.0.3-fix2.7zと入れ替えてみてください。

    • thtsf より:

      CMカットしたavsファイルはAviUtlなどで読み込んで正しく表示されますか?

      • thtsf より:

        やはりL-SMASH Worksに問題がありそうですね。
        同じように自動CMカットとエンコードが出来るAmatsukazeというソフトがあり、こちらの方が読み込みの安定性が高いと思うので、もしよろしかったら試してみてください。

  3. thtsf より:

    よかったです。

  4. thtsf より:

    できると思います。

  5. ぽんた より:

    FFMPEGのエンコード処理のところで

    Output file #0 does not contain any stream

    と出てしまいます。

    AVSファイル自体は正常にAviUtilやPotPlayerで再生できました。
    特定の原因が何かあるのでしょうか。

    • thtsf より:

      そのエラーに遭遇したことがないので分かりません。
      TSファイルのエンコードはAmatsukazeの方が優秀だと思うので試してみてください。

タイトルとURLをコピーしました