EDCBで録画後に全自動エンコード

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

必要

join_logo_scp

自動CMカットソフトです。

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

FFmpeg

ダウンロードページへ行きます。

Versionは下の安定版を選びます。
ArchitectureはAviSynthが32bitソフトなので、32bitを選びます。
AviSynth+なら64bitも使えます。
LinkingはStaticを選びます。

それぞれ選んだら「Download Build」をクリックします。

解凍して「bin」フォルダにあるffmpeg.exeをEpgTimer.exeと同じフォルダに入れます。

バッチファイル

拡張子を.batにして保存して、EpgTimer.exeと同じフォルダに入れます。

jlse_bat.batがあるフォルダのパスを指定してください。

@echo off

rem jlse_bat.batがあるフォルダのパス(""を付けない、\を付ける)
set jlse_dir=C:\join_logo_scp\

rem 自動CMカットの開始
call "%jlse_dir%jlse_bat.bat" "$FilePath$"

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

rem 一時ファイルの削除
rd /s /q "%jlse_dir%result\$FileName$"
del "$FilePath$.lwi"

使い方

予約登録画面で「録画後実行bat」にバッチファイルを指定します。

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

プリセットの「変更」をクリックすれば、バッチファイルを毎回指定する手間が省けます。

解説

-i "%jlse_dir%result\$FileName$\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 "%jlse_dir%result\$FileName$"

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

del "$FilePath$.lwi"

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

カスタマイズ

逆テレシネ

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

-vf pullup -r 24000/1001

リサイズ

-s 1280x720

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

マージンの指定

指定したマージン以上録画予定がないときにバッチファイルを実行します。

xtne6f版EDCBで追加された拡張命令を使います。

@echo offの下に書きます。

rem _EDCBX_BATMARGIN_=10

単位は分なので、この場合10分以上録画予定がないときに実行されます。

TSファイルを削除

バッチファイルの最後に書きます。

del "$FilePath$"

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