Vine Linux 4.0にFFmpegと携帯動画変換君版FFmpegをインストール

Vine Linux 4.0にFFmpeg携帯動画変換君付属のFFmpegをソースからコンパイルしてインストールしたメモ。
FFmpegを自力でコンパイルする方法がようやく分かってきた。


以下手順

依存パッケージの用意

あらかじめ以下のパッケージをapt-getかSynapticでインストールしておく。おそらくこれで十分だと思う。

  • subversion
  • nasm
  • ncurses
  • ncurses-devel
  • XOrg-devel
  • SDL
  • SDL-devel
  • faad2
  • faad2-devel
  • libogg
  • libogg-devel
  • libvorbis
  • libvorbis-devel


以下は自分でコンパイルする依存パッケージ。リンク先でソースを入手出来る。


基本はファイルを展開して、「configure」〜「make」〜「make install」の流れでいいが、以下の内容が通常と違う。

★faac

ソースを展開して、bootstrapの改行コードをWindows用からUnix用に変えて実行する。

$ perl -pe 's/\r\n/\n/' bootstrap > hoge
$ chmod +x hoge
$ ./hoge


configureファイルをエディタで開き、21424行目に制御コード「^M」とバックスラッシュ「\」(環境によっては円マーク?)を削る。

21424: ac_config_files="$ac_config_files common/Makefile common/mp4v2/Makefile libfaac/Makefile frontend/Makefile include/Makefile Makefile"
21425: cat >confcache <<\_ACEOF


あとは「configure」〜「make」〜「make install」でインストールする。
configureに「--with-mp4v2」を付けるとlibmp4v2もインストールされる。

★xvidcore

携帯動画変換君FFmpeg東芝製の携帯に動画を変換したいなら、src/bitstream/bitstream.cの1254行目から始まる括弧の所をコメントアウトする。

1253:    /* xvid id */
1254:/*  {
1255:        const char xvid_user_format[] = "XviD%04d%c";
1256:        char xvid_user_data[100];
1257:        sprintf(xvid_user_data,
1258:                xvid_user_format,
1259:                XVID_BS_VERSION,
1260:                (frame->vop_flags & XVID_VOP_CARTOON)?'C':'\0');
1261:        BitstreamWriteUserData(bs, xvid_user_data, strlen(xvid_user_data));
1262:    }*/
1263:}
★x264

ソースは下記コマンドで入手する。

$ svn co svn://svn.videolan.org/x264/trunk x264


configureに「--enable-pthread」オプテョンを付けることが出来る。

FFmpegのインストール

ソースは下記コマンドで入手出来る。

$ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

configureのオプションは下記の通りにする。
「--cpu」オプションは自分のマシンに合わせる。

$ ./configure \
 --cpu=pentium4 \
 --disable-debug \
 --enable-mp3lame \
 --enable-libogg \
 --enable-vorbis \
 --enable-faad \
 --enable-faac \
 --enable-x264 \
 --enable-xvid \
 --enable-a52 \
 --enable-pp \
 --enable-pthreads \
 --enable-gpl


携帯動画変換君FFmpegは下記のコマンドを入れればインストールされる。
configureのオプションで「--enable-x264」を付けるとコンパイルエラーが出るので付けない。
名前をffmpeg-mhに変えてインストールした。

$ wget http://www.nurs.or.jp/~calcium/3gpp/sources/ffmpeg-051130-0.33.tar.gz
$ wget http://can.homeunix.org/sw/psp/ffmpeg_psp/ffmpeg-mh-unix.patch
$ tar zxvf ffmpeg-051130-0.33.tar.gz
$ cd ffmpeg_051130
$ patch -p1 < ../ffmpeg-mh-unix.patch
$ ./configure \
 --cpu=pentium4 \
 --disable-debug \
 --enable-mp3lame \
 --enable-libogg \
 --enable-vorbis \
 --enable-faad \
 --enable-faac \
 --enable-xvid \
 --enable-a52 \
 --enable-pp \
 --enable-pthreads \
 --enable-gpl \
 --disable-ffserver \
 --disable-ffplay
$ make
$ su
# cp ffmpeg /usr/local/bin/ffmpeg-mh

これで出来上がった携帯動画変換君FFmpegは、Wine + QuickTime + 携帯動画変換君を組み合わせれば携帯動画に変換できる。
具体的には下のリンクを参照。

携帯動画に変換してW44Tで再生した図


★以前書いた関連記事

http://d.hatena.ne.jp/SPR/20061115
Fedora Core 6で携帯動画変換君を動かしたメモ。今見るとずいぶん間違えた事を書いてる。


http://d.hatena.ne.jp/SPR/20061230
Vine Linxu 4.0にWineをインストールする方法。