« 吉本興業:オモシロクナ~ル | トップページ | SDメモリ,USBメモリを使用して,ThinkPad X100e用のリカバリメディアを作成する »

2010年6月 1日 (火)

ffmpegとHandbrakeのdeinterlaceを比較する

F15_f2_f4_2

先日,某所の基地祭に行く機会がありました.ブルーインパルスJrのアクロバットな走行や,F-15,F-2,F-4,U-125,UH-60の展示飛行等,とても堪能しました.

ジェット音を聞くと,浜松に住んでいた頃を思い出すなぁ…あの頃が懐かしい.

と,いうことで,これまた出張から帰った後,ivisで撮影したMTSファイルをLinuxBoxにコピーし,サイズを小さくしたMP4形式のファイルへトランスコードするというルーチンワークを行いました.トランスコードはffmpegを使用して行ったわけですが,出力結果がどうもおかしい.

いや,前々から気にはなっていたのだけど,今回は動きが激しい対象を撮影したため,それが顕著に現れている.サンプルを挙げると,以下のような感じ.

Ffmpeg_interlace

そうです.インターレース解除のオプションを付けるのを忘れていました….

そんなわけで,下記のようなスクリプトに書き換えて,もう一度バッチで実行.

#!/bin/sh
for fname in "$@"
do
  echo "Start:" $fname -- `date`
  /usr/local/bin/ffmpeg -y -i $fname -r 30000/1001\
   -threads 2 -vcodec libx264 -b 4000k -nr 50 -deinterlace\
   -s 960x540 -acodec libfaac -ac 2 -ar 48000 -ab 192k\
   -vpre libx264-hq -crf 22 `dirname $fname`/`basename $fname ".MTS"`.mp4
  echo `date`
done

結果は次のような感じ.

Ffmpeg_deinterlace

うむ.きちんと処理されてますな.

HandBrakeでも試してみましょう.使用したスクリプトは次のような感じ.

#!/bin/sh
for fname in "$@"
do
  echo "Start:" $fname -- `date`
  nohup /usr/local/bin/HandBrakeCLI -i $fname\
  -o `dirname $fname`/`basename $fname ".MTS"`.mp4\
  -e x264 -b 4000 -a 1 -E faac -B 192 -R Auto -6 dpl2\
  -f mp4 -P --crop 0:0:0:0 -m -2 -X 960 --deinterlace\
  -T -x ref=2:bframes=2:me=umh > /dev/null
  echo `date`
done

そして出力結果は以下の通り.

Handbrake_0066_deinterlace_2

上記の例では,どちらも同じような感じに見えるけど,別のシーンを見てみると,かなり結果に差が出ています.

ffmpegの出力

Ffmpeg_deinter_0064_3


HandBrakeの出力

Handbrake_0064_2

※トリミングのせいで,画像サイズが一致していないのはご愛嬌 :-)

拡大してみると分かりますが,HandBrakeの方がシャープに見えます.

巷では,ffmpegのインターレース解除は『まぁあまり期待せんとき』という扱いのようです.私もMTSの変換に関しては,今後は前述のHandBrakeを使用したスクリプトを利用しようかなぁと考えています.

参考までに,HandBrakeを使用して変換した動画のサンプル(mp4形式)を2つ程貼っておきます.視聴されたい方は,以下の画像をクリックしてみてください.

音がかなりデカイので,再生時は気を付けてくださいまし.Have Fun!

動画1.約 12MB
動画2. 約 27MB

|

« 吉本興業:オモシロクナ~ル | トップページ | SDメモリ,USBメモリを使用して,ThinkPad X100e用のリカバリメディアを作成する »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/198640/48500129

この記事へのトラックバック一覧です: ffmpegとHandbrakeのdeinterlaceを比較する:

« 吉本興業:オモシロクナ~ル | トップページ | SDメモリ,USBメモリを使用して,ThinkPad X100e用のリカバリメディアを作成する »