ボトムフィールドファーストでエンコード
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 1にbff=1をtff=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 OutputをMpeg4 AVC (x264)に設定して、InterlacedのオプションをTop Field FirstかBottom Field Firstに設定します。Avidemuxは内部でFFmpegを使ってエンコードしているらしいですが、カット編集とかする場合はFFmpegを直接使うより便利な場合もあるかと思います。
リンク
FFmpeg-users – Interlaced x264http://www.ffmpeg-archive.org/Interlaced-x264-td4675482.html
Avidemux – Main Page
http://fixounet.free.fr/avidemux/