OpenRD Ultimate到着

注文してから約2ヶ月半もかかって到着。

到着したが、本体、電源アダプタ、ネットワークケーブル、USBケーブルで、DVDが入ってねえので、問い合わせ。

OpenRD Ultimateの使途は、今、Let’s noteで監視カメラシステムを動かしているので、その機能を代替させようかと思う。

【Ubuntu 10.04】vaapiとffmpeg更新

例によっておやくそく
◆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 function vp8_extend_mb_row':
(.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
X264_init’:
libx264.c:(.text.unlikely+0x4f7): undefined reference to x264_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

で、やっと終了(´・ ω・) もうウンザリ。
動画プレーヤーで再生テストすると、モザイク表示が直ってた。
とりあえず、良かった。

【Ubuntu 10.04】地雷だったVLC firefox plugin

firefoxで動画の再生に、動画プレーヤー(totem)では無く、VLCのプラグインを使おうと思い、mozilla-plugin-vlc のパッケージをインストール。

例によって、Big Buck BunnyのFull HD(1920×1024 H.264)を再生してみると、再生、音量コントロールが無く、再生画面のみなので、Synaptic パッケージマネージャでmozilla-plugin-vlcを「完全削除」。

再度、Big Buck Bunnyを再生してみると、画面がこんな感じに 🙁

mplayer で -va vaapi のオプション付けた時と同じ様な現象だが、これは動画プレーヤーで、設定しようが無い。

noizumi@purplecat:~/src/gstreamer-vaapi-0.2.4$ sudo make uninstall

とやると、一応再生できるようになったが、当然のごとく動画再生支援が効かなくなった。これは、vaapiレヴェルまで入れ直さないといかんのかな?

noizumi@purplecat:~/src$ sudo aptitude purge libva1 libva-dev xvba-video

さっくり削除。

noizumi@purplecat:~/src$ dpkg -i libva1_0.31.1-1+sds3_i386.deb libva-dev_0.31.1-1+sds3_i386.deb ../ダウンロード/xvba-video_0.7.1-1_i386.deb

そして、再びインストール。
gstreamer-vaapiを入れ直す。

noizumi@purplecat:~/src/gstreamer-vaapi-0.2.4$ make distclean
noizumi@purplecat:~/src/gstreamer-vaapi-0.2.4$ ./configure && make
noizumi@purplecat:~/src/gstreamer-vaapi-0.2.4$ sudo make install

ダメ 🙁
よし、ffmpegから入れ直すか。

【Ubuntu 10.04】ATI動画再生支援を有効にする その3

gstreamer-vaapi を入れてみた。

◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆
ここで行う事は、Ubuntuの提供するパッケージ管理機能に重大な影響を与えます。
自分でセキュリティホールの対処、バージョン管理ができない場合は、クラックされたりする危険があります。また、ここに書かれた事を実施した結果、PCが再起不能に陥ったとしても、わしは一切の責任を負いません。

◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆

noizumi@purplecat:~$ wget http://www.splitted-desktop.com/~gbeauchesne/gstreamer-vaapi/gstreamer-vaapi-latest.tar.gz
noizumi@purplecat:~$ tar xvzf gstreamer-vaapi-latest.tar.gz -C src

元ページの「Software requirements:」に書いてあるパッケージを入れるが、libva関係は既に入れてあるので、ibgstreamer0.10-dev、libgstreamer-plugins-base0.10-devを入れる。

noizumi@purplecat:~$ sudo aptitude install ibgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
noizumi@purplecat:~$ cd src
noizumi@purplecat:~/src$ ./configure && make
noizumi@purplecat:~/src$ sudo make install

こんなん出ました。

———————————————————————-
Libraries have been installed in:
/usr/lib/gstreamer-0.10

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the -LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the
LD_LIBRARY_PATH’ environment variable
during execution
– add LIBDIR to the LD_RUN_PATH' environment variable
during linking
- use the
-Wl,–rpath -Wl,LIBDIR’ linker flag
– have your system administrator add LIBDIR to `/etc/ld.so.conf’

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
———————————————————————-

ライブラリのPATH通せっと。
noizumi@purplecat:~/src$ sudo ldconfig
という事で、一応入ったはず。

動画プレーヤー(totem)で、例によって、Big Buck BunnyのFull HD(1920×1024 H.264)でテスト。ウインドウ画面だと、カクカク 🙁

しかし、全画面表示でヌルヌル 🙂

効いてるのかよく分からんので、「ubuntu gstreamer-vaapi」でぐぐれカスしてみると、こういうぺいづを見つける。registry.i486.binに何か記録しているようだ。

noizumi@purplecat:~$ strings .gstreamer-0.10/registry.i486.bin |grep vaapi
libgstvaapidecode.so
/usr/lib/gstreamer-0.10/libgstvaapidecode.so
libgstvaapisink.so
/usr/lib/gstreamer-0.10/libgstvaapisink.so
libgstvaapiconvert.so
/usr/lib/gstreamer-0.10/libgstvaapiconvert.so

システム的には、gstreamerで認識しているようだが、ウインドウでカクカクってのは、SMplayerでもそうだが、ウインドウ内表示は各アプリケーション依存なのだろう。

firefoxのプラグインでtotemが使われるので、totemのプラグインのgstreamerを動画再生支援対応にすれば、かなり動画再生環境が改善されると思い、今回のgstreamerの野良ビルドを実施したが、そう言えば、ブラウザのプラグインテストはしてない。

と、いう事で、Big Buck BunnyのFull HD(1920×1024 H.264)をダウンロードせずに、再生してみると、ヌルヌル動く :-)。

ウインドウ表示が癌なだけで、ブラウザ埋め込みプラグインだと大丈夫なので、やったかいがあったな。

【Ubuntu 10.04】ATI動画再生支援を有効にする その2

SMPlayerでの動画支援がイマイチなので、VLCでの再生はどうかな?と思い、Big Buck BunnyのFull HD(1920×1024 H.264)をテスト再生してみると、全く問題無くヌルヌル動く。

VLCは
noizumi@purplecat:~$ vlc –list |grep avcodec
VLC media player 1.0.6 Goldeneye
avcodec               FFmpegオーディオ/ビデオデコーダー
avcodec               FFmpegデインタレースビデオフィルター
avcodec               FFmpegオーディオ/ビデオエンコーダー

と、ffmpeg をデコーダにしているので、ffmpegの方でvaapiに対応していれば、動画再生支援が機能するようだ。

FFmpeg version SVN-r23798のconfigureだと、
noizumi@purplecat:~/src/ffmpeg$ ./configure –help|grep vaapi
–disable-vaapi          disable VAAPI code

なので、規定でVAAPIのコードは有効という事になっているので、野良ビルドで入れたffmpeg が効いているようだ。

VLC結構いい感じ。これからは、こっちをメインに使おう。

【Ubuntu 10.04】ATI動画再生支援を有効にする

第123回 ATI/AMDでも動画再生支援機能を使用する」を参考に、Libva、xvba-videoを入れて、mplayer の構築を行なった。

あと、このページを参考にSMPlayerの設定を行い、技評のページの動画再生テストに使っているBig Buck BunnyをSMplayerで再生すると、最初はチラチラしていたが、全画面表示とノーマル表示を繰り返しているとチラチラしなくなった。

設定の肝は、環境設定のパフォーマンスで、「ハードウエアフレームドロップを有効にする」にチェックを入れる事。

今までも、H.264の動画を全画面表示したりすると、音と映像がズレたりしていて、何とかならないかと考えていたが、動画支援があると、H.264の動画は、スムーズに再生されるようになった。

今のところ、libvaは標準ではないので、わしの環境だと、mplayerしか恩恵に預かれないが、早く標準搭載になればいいなあ。

大人の科学 Vol.27

Arduino が欲しいなあと思っていた今日この頃、学研の大人の科学 Vol.27で Arduino互換のJapaninoが付録で付いているという情報を入手。

Arduino は Amazon等でも買えるが、楽天のポイントが962円あったし、本ならば送料無料なので、実質2,398円で楽天ブックスで購入。

Ubuntu 10.04 の環境で USBに挿してみると、ttyUSB0で認識。
とりあえず、Arduino公式ページダウンロードページから、arduino-0018.tar.gzを落とした。

noizumi@purplecat:~$ tar xvzf arduino-0018.tar.gz
noizumi@purplecat:~$ cd arduino-0018
で、中を見ると、arduino ってシェルスクリプトがあるので実行。javaなのでjdkが必要だが、OpenJDKが既に入っていたので、何もせず。

noizumi@purplecat:~/arduino-0018$ ./arduino
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7

シリアルポートの切り替えは、「Tool」→「Serial Port」→「/dev/ttyUSB0」と選べばいいようだ。

と、ここまで来て、動作テストなどは、プログラムが無いと始まらないので、本を読んで光残像キットの組み立てを始めた(^^; 。

子供の頃、学研の科学の付録を本の解説も見ずにテキトーにいじるというのを未だにやってるから、進歩が無いな(笑)

んーと、電池ボックスと、LEDとブザー繋いで、単体動作テストっと、これはOK。
それから、光残像キットのP.O.Vを組み立て。

学研のJapaninoのページから、プログラムをダウンロードして、IDEに読み込ませる。
すると、エンコードがUTF-8じゃないので文句を言われる。

poviloveu.pde contains unrecognized characters.
If this code was created with an older version of Processing,
you may need to use Tools -> Fix Encoding & Reload to update
the sketch to use UTF-8 encoding. If not, you may need to
delete the bad characters to get rid of this warning.

noizumi@purplecat:~/arduino-0018/poviloveu$ sudo aptitude install nkf
っと。

noizumi@purplecat:~/arduino-0018/poviloveu$ nkf -w poviloveu.pde >poviloveu.tmp && mv poviloveu.tmp poviloveu.pde
とやってUTF-8に変換してIDEでVerify。

avr-gcc が無いって怒られた。端末で実行すると、gcc-avrというパッケージに入っているようだ。
noizumi@purplecat:~/arduino-0018/poviloveu$ sudo aptitude install gcc-avr

IDEでVerifyボタン押すと、
/home/noizumi/arduino-0018/hardware/arduino/cores/arduino/pins_arduino.c:25:20: error: avr/io.h: No such file or directory

エラーもりもり…(´・ω・)

ubuntu avr/io.h でぐぐると、avr-libc パッケージが必要らしい。
noizumi@purplecat:~$ sudo aptitude install avr-libc

IDEでVerify実行。
Binary sketch size: 1214 bytes (of a 30720 byte maximum)
今度は大丈夫のようだ。

そして、IDEのUploadボタンを押してみると
avrdude: stk500_recv(): programmer is not responding
応答しねえし…(´・ω・
)

japanino linuxでぐぐると、「Board に “Arduino Pro or Pro Mini (3.3V,8MHz)w/ATmega168” を選択」というのがあり、なるほど、ATmega168でないといかんのね。

【追記:2010/07/11 開始】
wikipediaを見ると、「表面実装のATmega168Vを搭載し内部RC発振8MHzで使用。ブートローダはLilypad168用をUSB-シリアルチップにはCP2104を 採用している。」との事なので、「Lylipad Arduino w/ Atmega168」を選ぶのが正解のようだ。

念のため、arduino-0018-japanino-2.zipを落として、hardware/arduino/boards.txt を見ると、japanino用設定が先頭にあるが、パラメータが「Lylipad Arduino w/ Atmega168」と同じなので、これを使えば良いようだ。
【追記:2010/07/11 終了】

ハンドル回したら無事動いた。
最初から入ってたプログラムでは、ブザーのスイッチだったのが、位置検出スイッチになってて、表示の開始のタイミングを取ってるのか。おもしろいな。

Ubuntu 10.04のffmpegでlibmp3lameを使用できるようにする

Ubuntu 10.04でffmpegコンパイルのコメントで、libmp3lame を使う為に ffmpeg をコンパイルしようとされている方がおられた。

しかし、、前回テストした時に、パッケージのffmpeg も libmp3lame が使えていたはずで、果たしてコンパイルが必要なのか?が気になったので、VirtualBoxにUbuntu 10.04を入れてインストールテストしてみた。

Synapticパッケージマネージャで ffmpeg をインストール指定。

ffmpeg に依存するパッケージをSynapticパッケージマネージャで unstripped をキーワードに検索して指定する

libavcodec-unstripped-52 (これを指定すると libmp3lame0がインストールされる)
libavdevice-unstripped-52
libavfilter-unstripped-0
libavformat-unstripped-52
libavutil-unstripped-49
libpostproc-unstripped-51
libswscale-unstripped-0

全部指定して「適用」を実行すると、ffmpegの他、次のパッケージがインストールされる。

インストールが完了したら、

noizumi@noizumi-desktop:~/share$ ffmpeg -formats |grep mp3
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: –extra-version=4:0.5.1-1ubuntu1 –prefix=/usr –enable-avfilter –enable-avfilter-lavf –enable-vdpau –enable-bzlib –enable-libgsm –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvorbis –enable-pthreads –enable-zlib –disable-stripping –disable-vhook –enable-runtime-cpudetect –enable-gpl –enable-postproc –enable-swscale –enable-x11grab –enable-libdc1394 –enable-shared –disable-static
libavutil     49.15. 0 / 49.15. 0
libavcodec    52.20. 1 / 52.20. 1
libavformat   52.31. 0 / 52.31. 0
libavdevice   52. 1. 0 / 52. 1. 0
libavfilter    0. 4. 0 /  0. 4. 0
libswscale     0. 7. 1 /  0. 7. 1
libpostproc   51. 2. 0 / 51. 2. 0
built on Mar  4 2010 12:35:30, gcc: 4.4.3
DE mp3             MPEG audio layer 3
EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)
D A    mp3             MP3 (MPEG audio layer 3)
D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
D A    mp3on4          MP3onMP4
text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra
noizumi@noizumi-desktop:~/share$

–enable-libmp3lame が有効になっていなくても、コーデックに libmp3lame が使用できるようになるようだ。
試しに mpeg1、mp2の動画ファイルの音声をmp3に変換してみると、

noizumi@noizumi-desktop:~/share$ ffmpeg -i bl25.mpg -vcodec copy -acodec libmp3lame -ab 128k test.mpg

Input #0, mpeg, from ‘bl25.mpg’:
Duration: 00:28:26.29, start: 0.500000, bitrate: 3804 kb/s
Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 1280×720 [PAR 1:1 DAR 16:9], 104857 kb/s, 29.97 tbr, 90k tbn, 29.97 tbc
Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16, 128 kb/s
Output #0, mpeg, to ‘test.mpg’:
Stream #0.0: Video: mpeg1video, yuv420p, 1280×720 [PAR 1:1 DAR 16:9], q=2-31, 104857 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 128 kb/s

無事変換できて、プロパティで確認すると、ちゃんとmp3になっていた。

Xvidエンコードテスト
$ ffmpeg -i bl25.mpg -vcodec libxvid -acodec libmp3lame -ab 128k test.avi

はOK。

libfaac0パッケージを入れてH.264のAACエンコードテスト
$ ffmpeg -i bl25.mpg -vcodec libx264 -vpre hq -acodec libfaac -ab 128k test.mp4

Unknown encoder ‘libfaac’

はダメ。
今流行りのH.264、AACのMP4のファイルを作ろうとすると、–enable-libfaac 付きでコンパイルしないと使えないようだ。

Rythmbox 0.12.8

Ubuntu に入っている Rythmbox 0.12.8 を使ってみた。

以前、F905i に音楽データを転送する為、CDから落とした Windows Media Player のファイル群があったので、それを「ミュージック」のディレクトリへ放り込んだ。

Rythmbox を起動してみると、アルバムとかアーティストが分類されて出てきた。

ジャケットの絵が表示されているので、データ構造はWindows Media Player互換みたいだが、プレイリストは読み込めなかった。

Rythmboxはネットラジオが聞けるので、このページからJ-POP(主にアニメ)のラジオ局を新しく登録してみた。

登録の仕方は、リンクを辿って、ネットラジオのページまで行って、”Listen”とか”Tune in”をクリックして開いたページでstreamが選べるので、それをブラウザの右クリックで、URLをコピーする。

Rythmboxで「新しいインターネット・ラジオ局(R)…」で出てくるダイアログの「インターネット・ラジオ局の URL:」にURLをペースト。

Japan A Radioならこんな感じ。
追加すると、URLがタイトルになっている項目が新しく出来上がる。タイトルを変更するには、その項目を右クリックして、プロパティでタイトルを編集できる。

ジャンルは勝手に入るので、ネットラジオ局からデータを取ってるようだ。
Rythmboxでは曲名も出るので、ブラウザを開かなくても曲名が分かる。

しかし、聞いてても殆ど知らない曲ばかりだが、作業用BGMとしては最適だ。

Ubuntu 10.04でffmpegコンパイル

ffmpegで動画変換をやろうと思ったが、Ubuntu は、ライセンスに厳密なので、Non-free なものは公式には含まれない。

そう言えば、motion でmpegムービーを記録しようとして、できなかった時に

libavcodec-unstripped-52
libavformat-extra-52
libavformat-unstripped-52
libavutil-unstripped-49
libswscale-extra-0
libswscale-unstripped-0

を入れたらできるようになったが、ffmpegで、3GPをmpegに変換するのができない。

そこで、ffmpegをコンパイルしてみた。

◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆
ここで行う事は、Ubuntuの提供するパッケージ管理機能に重大な影響を与えます。
自分でセキュリティホールの対処、バージョン管理ができない場合は、クラックされたりする危険があります。また、ここに書かれた事を実施した結果、PCが再起不能に陥ったとしても、わしは一切の責任を負いません。
◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆◆Caution◆

まず、ffmpeg野良ビルドする為に、開発系パッケージが必要なので、できるだけSynaptic パッケージ・マネージャで入れられるものを入れる。

libdirac-decoder0
libdirac-dev
libfaac-dev
libgsm1-dev
libmp3lame-dev
libopencore-amrnb-dev
libopencore-amrwb-dev
libspeex-dev
libtheora-dev
libxvidcore-dev
libdc1394-22-dev
libraw1394-dev

libvpxはパッケージに無いので、
http://code.google.com/p/webm/downloads/list から
libvpx-0.9.1.tar.bz2 を取得。

tar xvjf libvpx-0.9.1.tar.bz2
cd libvpx-0.9.1
./configure
make
sudo make install

libnutもパッケージに無く、x264はバージョンが古いと言われるので、

svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
cd libnut&&make
sudo make install

git clone git://git.videolan.org/x264.git
cd x264/
./configure
make
sudo make install

で、やっとffmpeg で configure ができる。ffmpegのコンパイルの参考サイト(後述)では、patchを当てているけど、マンドクセので当てない 🙂

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd 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
make
sudo make install

ffmpeg は –prefix 指定しないと、 /usr/local/bin にインストールされるが、

noizumi@purplecat:~$ echo $PATH
/home/noizumi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

と、/usr/local の方が優先されるので、Ubuntuのパッケージと同居は可能。
ちなみに、パッケージのffmpegを削除しようとしたら、zoneminderが道連れにされるので、削除してない。

で、動画変換をやってみると、
ffmpeg -y -i MOL003.3GP -acodec libmp3lame test.mpg

[mpeg1video @ 0xa317670] MPEG1/2 does not support 15/1 fps

15fpsはmpegに変換できないのか。
エラーが赤表示で分かりやすい。

一応、パッケージのffmpegでも同じパラメータでやってみると、
/usr/bin/ffmpeg -y -i MOL003.3GP -acodec libmp3lame test.mpg

[mpeg1video @ 0x8186150]MPEG1/2 does not support 15/1 fps

結果は同じ。
うーむ…。凝ったエンコードしないなら、ffmpegコンパイルしなくても、libavcodec-unstripped-52入れた程度で良さそう。

参考にしたぺいづ
http://ubuntu.futene.net/build/ffmpeg.htm

http://d.hatena.ne.jp/amachang/20080624/1214315801