iPod touch 用に動画をエンコードする

事前に言っておきますと、ぼくは動画エンコードに対する知識はほとんどありませんので、検索エンジン等から深い情報を求めて、ここにたどり着いてしまった方ごめんなさい。。 🙂

というわけで、iPod touch 用の動画ですが試行錯誤のうえ、ffmpeg で以下のようにエンコードすることにしました。 普段使っている PC でエンコードすると、精神衛生上いただけないので、サーバにしている Linux 上でやっています。 Windows や Mac でも ffmpeg をどこかから用意すれば同様にできると思います。 

ちなみに、ffmpeg はコンパイルオプションやバージョン、派生バージョンによって結構挙動が違うみたいです。 ご注意ください。

iPod touch は、H264 (mpeg4 AVC)とただの mpeg4 の再生に対応しているようです。 で、H264 のほうが綺麗(低ビットレートでも OK)なんですが、エンコードに時間がかかり(体感ですが mpeg4 の 2,3倍かかる?)、またエンコーダの動作をうまく安定させることができなかったので、ノーマル mpeg4 をつかうことにしました。

どうせ、touch でしか再生しない動画なのでお手軽な方に。 容量も、touch 内にずっと保持しておくような使い方はしないので、多少大きくても問題ないっす。

ビデオソースは PV です。 PV ってかなり動きが大きく、光の濃淡表現も多いのでビットレートは相当あげています。 テレビの録画とかなら半分くらいでもいいはずです。

ffmpeg01

で、つくってみた ffmpeg のパラメータ。 2 パスエンコードしています。

ffmpeg -y -i [入力ファイル].[拡張子] -pass 1 -passlogfile ./[入力ファイル].log -deinterlace -s 432×320 -b 1000k -aspect 4:3 -ac 2 -threads 2 -vcodec mpeg4 -an -f mp4 [入力ファイル].mp4

ffmpeg -y -i [入力ファイル].[拡張子] -pass 2 -passlogfile ./[入力ファイル].log -deinterlace -s 432×320 -b 1000k -aspect 4:3 -ac 2 -threads 2 -vcodec mpeg4 -acodec aac -ab 192 -f mp4 [入力ファイル].mp4

# ↑ × は 英文字エックスに置換すること。

-deinterlace (インターレス解除)は、ソースによっては不要でしょう。 ぼくは手持ちの DVD から取り込んでいるのでいれています。

動画が 16:9 の場合、-aspect(アスペクト比の設定)を 16:9 に。 サイズは 480×272 にしておくと良いそうです。(ちなみに touch の液晶解像度は 480×320 の変則です)

2パスエンコードしているので、PV でもビットレートは 768K くらいでもいいと思います。 若干ざらついたので適当に 1000K まであげています。

ffmpeg ベースの GUI ツールも結構でているようなのですが、バッチエンコードしたかったので本家の ffmpeg を使っています。 いつも同じことしかしないときは、GUI は逆に面倒。

Windows のファイル共有でつないだLinux ディレクトリを対象として、動画ファイルをそこにコピー。 あとは適当にかいたシェルを Linux でキックして全てエンコード。 GNUpod を設定すれば iPod に転送まで自動でできるでしょう。 ほっとけるので便利です。 🙂

iPod touch での再生ですが、最初アスペクト比がファイル設定通り反映しないーーと思ったら、動画再生画面でフルスクリーン設定していました。。 orz  動画の上でダブルタップすると即時で純アスペクトと、画面に入らない部分を削除して再生するフルスクリーンモードを切り替えられるようです。

あとは、なかなか綺麗に再生してくれています。 PC のモニタの液晶より発色よい。 😛

さー、これでパラパラの練習ができるよ?(笑)

iPod touch 用に動画をエンコードする」への2件のフィードバック

  1. まだかなー。まだかなー。
    もう準備は整いまくっているみたいなので、アレ、待ってまーす。;)

  2. むはー、もう忘れたかと思っていたのに 😛
    ではオフ会の時にでも。(笑)

コメントを残す