例によっておやくそく
◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆
ここで行う事は、Ubuntuの提供するパッケージ管理機能に重大な影響を与えます。
自分でセキュリティホールの対処、バージョン管理ができない場合は、クラックされたりする危険があります。また、ここに書かれた事を実施した結果、PCが再起不能に陥ったとしても、わしは一切の責任を負いません。
◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆
vaapiのソースのページを見ると、
- [2010/07/13] libva
VA API extensions for VDPAU and XvBA backends - [2010/07/13] xvba-video
XvBA backend for VA API - [2010/07/13] mplayer-vaapi
VA API support for MPlayer
と、昨日更新されたようなので、それぞれソースを取ってくる。
~$
cd ダウンロード
~/ダウンロード$wget http://www.splitted-desktop.com/~gbeauchesne/libva/libva-latest.tar.gz http://www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video_0.7.2-1_i386.deb http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2
ローカルソースディレクトリへ移動
~/ダウンロード$
cd ../src
一応前に入れたlibvaソースツリーを削除
~/src$
rm -rf libva-0.31.1
ソース展開
~/src$
tar xvzf ../ダウンロード/libva-latest.tar.gz
パッケージビルド
~/src$
cd libva-0.31.1
~/src/libva-0.31.1$dpkg-buildpackage -rfakeroot -uc -b
~/src/libva-0.31.1$cd ..
libva関係まとめてインストール
~/src$
sudo dpkg -i libva1_0.31.1-1+sds4_i386.deb libva-dev_0.31.1-1+sds4_i386.deb ../ダウンロード/xvba-video_0.7.2-1_i386.deb
「Ubuntu 10.04でffmpegコンパイル」を見て、ffmpegの再構築。せっかくなので、野良ビルドしたものは全て最新ソースにする。
libvpxのコンパイル
~/src$
git clone git://review.webmproject.org/libvpx.git
~/src$cd libvpx
~/src/libvpx$./configure
~/src/libvpx$make
~/src/libvpx$sudo make install
~/src/libvpx$cd ..
libnutのコンパイル
~/src$
svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
~/src$cd libnut&&make
~/src/libnut$sudo make install
~/src/libnut$cd ..
libx264のコンパイル
~/src$
git clone git://git.videolan.org/x264.git
~/src/x264$cd x264/
~/src/x264$./configure
~/src/x264$make
…
gcc -o x264 x264.o input/timecode.o input/yuv.o input/y4m.o output/raw.o output/matroska.o output/matroska_ebml.o output/flv.o output/flv_bytestream.o input/thread.o input/lavf.o libx264.a -lm -lpthread -s -L. -pthread -L/usr/local/lib -lavformat -lavcodec -ljack -lasound -ldc1394 -lraw1394 -lxvidcore -lx264 -lvpx -lvorbisenc -lvorbis -ltheoraenc -ltheoradec -logg -lspeex -lschroedinger-1.0 -lpthread -loil-0.3 -lrt -lopenjpeg -lopencore-amrwb -lopencore-amrnb -lnut -lmp3lame -lgsm -lfaac -ldirac_encoder -ldirac_decoder -lstdc++ -lva -lm -lbz2 -lz -lswscale -lavutil
/usr/local/lib/libvpx.a(extend.c.o): In functionvp8_extend_mb_row':
X264_init’:
(.text+0x10c): warning: memset used with constant zero length parameter; this could be due to transposed parameters
/usr/local/lib/libavcodec.a(libx264.o): In function
libx264.c:(.text.unlikely+0x4f7): undefined reference tox264_encoder_open_100'
collect2: ld returned 1 exit status
make: *** [x264] エラー 1
む!?
libavcodec.a はffmpegのライブラリだが、ffmpegをコンパイルするには、x264のヘッダとライブラリが必要で、x264をリンクするには、ffmpegのlibavcodec.aが必要…。
いわゆる、「卵が先か鶏が先か」だな。
とりあえず、ffmpegのコンパイルに必要なファイルはできているので、手動でファイルコピー
~/src/x264$
sudo cp x264.h /usr/local/include
~/src/x264$sudo cp libx264.a /usr/local/lib
~/src/x264$sudo cp x264.pc /usr/local/lib/pkgconfig
x264は一旦放置で、ffmpegのコンパイル
~/src/x264$
cd ..
~/src$svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
~/src/ffmpeg$cd ffmpeg
~/src/ffmpeg$./configure --enable-gpl --enable-nonfree --enable-pthreads --disable-debug --disable-ffserver --disable-ffplay --enable-libdirac --enable-libschroedinger --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-bzlib --enable-libopenjpeg --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libnut --enable-libspeex --enable-libvpx --enable-avfilter --enable-avfilter-lavf --enable-vaapi
~/src/ffmpeg$make
~/src/ffmpeg$sudo make install
ffmpegはできたので、x264のコンパイルを通す。
~/src/ffmpeg$
cd ../x264
~/src/x264$make
~/src/x264$sudo make install
mplayer-vaapiをコンパイル
~/src/ffmpeg$
cd ..
~/src$tar xvjf ../ダウンロード/mplayer-vaapi-latest-FULL.tar.bz2
~/src$cd mplayer-vaapi-20100713
~/src/mplayer-vaapi-20100713$./checkout-patch-build.sh
~/src/mplayer-vaapi-20100713$cd mplayer-vaapi
~/src/mplayer-vaapi-20100713/mplayer-vaapi$sudo make install
gstreamer-vaapiをコンパイル。ソースは前回展開済みなので、再設定とコンパイル。
~/src/mplayer-vaapi-20100713/mplayer-vaapi$
cd ../../gstreamer-vaapi-0.2.4
~/src/gstreamer-vaapi-0.2.4$make distclaen
~/src/gstreamer-vaapi-0.2.4$./configure && make
~/src/gstreamer-vaapi-0.2.4$make install
で、やっと終了(´・ ω・) もうウンザリ。
動画プレーヤーで再生テストすると、モザイク表示が直ってた。
とりあえず、良かった。