ffmpegでiPhone用動画に変換
3月で大学を卒業した。SoftBankは3月中に契約すれば卒業後も3年間は学割が適用されるとのことだったので、まだ前回2年契約した911Tの割賦が数回残っていたが、iPhoneを契約した。
iPhoneで見られる形式の動画に変換するためにffmpegを再度インストールした。
ffmpegの最新版ソースをダウンロードする。
% sudo svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
libx264をインストールしておく。
% sudo aptitude install libx264-dev
% sudo ./configure --enable-gpl --enable-libfaac --enable-libxvid --enable-libx264 --enable-pthreads ERROR: libx264 version must be >= 0.65.
libx264のバージョンが低い、と怒られた。libx264の最新版をインストールする。ちなみに古いバージョンのffmpegだとこのようなメッセージは出ないそうなので、昔のソースをコンパイルする手もある。
libx264のソースはgitでダウンロードできるので、git-coreをインストールする。
% sudo aptitude remove libx264-dev
先ほどインストールしたlibx264を削除する。
% sudo aptitude install git-core % sudo git clone git://git.videolan.org/x264.git
x264というディレクトリが作成される。
% cd x264 % sudo ./configure Found no assembler Minimum version is yasm-0.6.1 If you really want to compile without asm, configure with --disable-asm.
アセンブラが存在しないというエラーが出るが、--disable-asmオプションを付加するとうまくいく。
% sudo ./configure --disable-asm Platform: X86 System: LINUX asm: no avis input: no mp4 output: no pthread: yes debug: no gprof: no PIC: no shared: no visualize: no You can run 'make' or 'make fprofiled' now. % sudo make % sudo make install
x264のインストールができた。改めてffmpegをコンパイルする。
% cd ../ffmpeg/ % sudo ./configure --enable-gpl --enable-libfaac --enable-libxvid --enable-libx264 --enable-pthreads % sudo make % sudo make install
今度はうまくいった。
ffmpegで変換する際のオプションは以下のような感じ
ffmpeg -i <INFILE> -s 480x270 -vcodec libx264 -b 600k -acodec libfaac -ac 2 -ar 48000 -ab 128k -coder 0 -level 13 -nr 50 -threads 2 <OUTFILE>.mp4
変換した動画ファイルはiTunesでないとiPhoneに転送できないため、VMwareでWindowsを起動して行う。非常に面倒だし、PCのメモリが1GBであるためか動作がとても遅い。早いところMacを手に入れたい。
画面解像度は911Tの480x800よりiPhoneの320x480の方が低いが、iPhoneの方が911Tよりもビットレートを高く設定できるので画質は良く感じられる。
iPhoneは、再生を停止した箇所を記憶してくれる便利。これは移動中などに時々見るというモバイル機器の使い方からすれば非常に快適。
また、動画再生中にアスペクト比固定拡大のオンオフを切り替えられる。動画ファイル自体は4:3だが内容は16:9で上下に黒帯が入っている、というような場合に便利である。