FFmpegでボトムフィールドファーストのインターレース形式にエンコード

ボトムフィールドファーストでエンコード

FFmpegでBottom Field First(BFF)のInterlace形式のx264にエンコードする方法を調べてみました。

とりあえず自分の環境でうまくいったコマンドは次のような感じです。

$ ffmpeg -i input.avi -flags +ilme+ildct -top 0 -c:v libx264 -x264opts "interlaced=1:bff=1" -c:a copy output.mp4

-flags +ilme+ildct -top 0の設定を追加するとInterlaceでエンコードはできているようなのですが、Top Field First(TFF)になってしまうため-x264opts "interlaced=1:bff=1"も追加してみました。

+ilme+ildctのあたりも含めて、よく分かっていませんので、うまくいかない場合はいろいろ試してみてください。

トップフィールドファーストでエンコード

ちなみに、トップフィールドファーストでエンコードしたい場合は-top 0-top 1bff=1tff=1に変えるとエンコードできます。

$ ffmpeg -i input.avi -flags +ilme+ildct -top 1 -c:v libx264 -x264opts "interlaced=1:tff=1" -c:a copy output.mp4

Avidemux

GUIで操作したい場合はAvidemuxを使うのも便利です。

Video OutputMpeg4 AVC (x264)に設定して、InterlacedのオプションをTop Field FirstBottom Field Firstに設定します。Avidemuxは内部でFFmpegを使ってエンコードしているらしいですが、カット編集とかする場合はFFmpegを直接使うより便利な場合もあるかと思います。

リンク

FFmpeg-users – Interlaced x264
http://www.ffmpeg-archive.org/Interlaced-x264-td4675482.html

Avidemux – Main Page
http://fixounet.free.fr/avidemux/

関連記事

アニメーションGIFの作り方
0000.png, 0001.png, 0002.png, ...の連番PNGファイルからアニメーションGIFを作るコマンド ffmpeg編 $ ffmpeg -framerate 30 -i %04d.png output.gif convert編(ImageMagick) $ convert -delay 10 -loop 0 *.png output.gif ...

FFmpegで動画から静止画像を出力する方法
FFmpegで動画ファイルから静止画像を出力したい場合は、次のようなコマンドを実行します。 $ ffmpeg -an -i video.mp4 %04d.png 0001.png、0002.png、0003.png、...のような連番ファイルが出力されます。 一部のみ抜き出したい場合は-ssオプションで開始時刻を、-tオプションで長さを指定します。 $ ffmpeg -a...

FFmpegで動画を連結するコマンド
1. 連結したい動画をテキストファイルに書き出します。 $ vi list.txt $ cat list.txt file '/path/to/file1.avi' file '/path/to/file2.avi' file '/path/to/file3.avi' 2. FFmpegを実行します。 $ ffmpeg -f concat -safe 0 -i list.txt...

FFmpegで5.1chオーディオを2chに変換
FFmpegを使って5.1chオーディオのファイルを2ch(ステレオ)に変換するコマンドのメモ down-mix ダウンミックスして2chオーディオに変換 $ ffmpeg -i input.wav -ac 2 stereo.wav FL/FRを抜き出す 「Front Left」「Front Right」のオーディオを抜き出して2chオーディオに変換 $ ff...

コメントを残す

メールアドレスが公開されることはありません。