ffmpegとHandbrakeのdeinterlaceを比較する
先日,某所の基地祭に行く機会がありました.ブルーインパルスJrのアクロバットな走行や,F-15,F-2,F-4,U-125,UH-60の展示飛行等,とても堪能しました.
ジェット音を聞くと,浜松に住んでいた頃を思い出すなぁ…あの頃が懐かしい.
と,いうことで,これまた出張から帰った後,ivisで撮影したMTSファイルをLinuxBoxにコピーし,サイズを小さくしたMP4形式のファイルへトランスコードするというルーチンワークを行いました.トランスコードはffmpegを使用して行ったわけですが,出力結果がどうもおかしい.
いや,前々から気にはなっていたのだけど,今回は動きが激しい対象を撮影したため,それが顕著に現れている.サンプルを挙げると,以下のような感じ.
そうです.インターレース解除のオプションを付けるのを忘れていました….
そんなわけで,下記のようなスクリプトに書き換えて,もう一度バッチで実行.
#!/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
結果は次のような感じ.
うむ.きちんと処理されてますな.
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
そして出力結果は以下の通り.
上記の例では,どちらも同じような感じに見えるけど,別のシーンを見てみると,かなり結果に差が出ています.
| ffmpegの出力 |
|
|
| HandBrakeの出力 |
※トリミングのせいで,画像サイズが一致していないのはご愛嬌 :-)
拡大してみると分かりますが,HandBrakeの方がシャープに見えます.
巷では,ffmpegのインターレース解除は『まぁあまり期待せんとき』という扱いのようです.私もMTSの変換に関しては,今後は前述のHandBrakeを使用したスクリプトを利用しようかなぁと考えています.
参考までに,HandBrakeを使用して変換した動画のサンプル(mp4形式)を2つ程貼っておきます.視聴されたい方は,以下の画像をクリックしてみてください.
音がかなりデカイので,再生時は気を付けてくださいまし.Have Fun!
| 動画1.約 12MB |
![]() |
| 動画2. 約 27MB |
![]() |
« 吉本興業:オモシロクナ~ル | トップページ | SDメモリ,USBメモリを使用して,ThinkPad X100e用のリカバリメディアを作成する »
「Linux」カテゴリの記事
- 家の中のネットワークを2.5GbEに置き換えて快適・高速化を試してみる&HeroBoxをNAS化(2022.09.20)
- 家のサーバやNW環境を停電に強い構成にするためにPoE化を考える:CHUWI HeroBox(2)(2022.08.29)
- 無音,ハイパフォーマンスなミニPCをLinuxサーバにする:CHUWI HeroBox(1)(2022.08.16)
- 【Linux】SoftRAIDを構成するディスクの交換(2014.09.02)
- 【Linux】出来るだけ簡単に行うブートディスクの換装(2014.09.01)
« 吉本興業:オモシロクナ~ル | トップページ | SDメモリ,USBメモリを使用して,ThinkPad X100e用のリカバリメディアを作成する »









コメント