FFmpegでTSファイルをエンコード

FFmpegの入手

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

Versionは下の安定版を選びます。
ArchitectureはOSに合わせて選んでください。
LinkingはStaticを選びます。

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

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

バッチファイル

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

@echo off
cd /d %~dp0

:loop
if "%~1" == "" goto end

ffmpeg.exe -i "%~1" -vf bwdif=1 -c:v libx264 -preset medium -crf 23 -c:a copy -bsf:a aac_adtstoasc "%~dpn1.mp4"

shift
goto loop
:end

使い方

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

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

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

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

解説

-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です。

-c:a copy -bsf:a aac_adtstoasc

音声はファイルサイズが小さいので、コピーしています。

カスタマイズ

逆テレシネ

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

-vf pullup -r 24000/1001

リサイズ

-s 1280x720

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

TSファイルを削除

shiftの上に書きます。

del "%~1"

完全に削除されるので、注意してください。