2010/02/10

[Nokia N810] gstreamer(gst-ffmpeg) vs mplayer (SVN-r30479-3.4.4)で H.264+aac再生対決 (2)

言いたいことも言えずに! (少ないキューブリック*1知識でがんばって書いています)
ハイハイゼア!
前回のラポストのグラフはHeartRails GraphてえハラーショーなWebサービスで作ったんだ。いくらグルーピーな俺でもこのサイトが如何にキューブリックを偏愛してるかはすぐにわかったぜウジ虫!
ライティライト、今回はmplayerをbuildする訳だが、ソースコードをじっくりかわいがった結果、まるでオープンソース界にそびえ立つクソのようになって、なって、えーっと、
(ハートマン語彙が尽きた)

さりとてデイジィベルを歌う訳にもいかないので
さっさと結論に入りますと、mplayerのrc1,rc2*2ではとても再生できず、最新svnはH.264の判別にすら失敗しました。
(適当半手動パッチが原因?)
かくして、前回の冒頭に戻ってgstreamerの勝ち。

某不正献金問題に対するマスコミ各社同様に役に立たなくなってしまった(長い修辞)
SMplay(svnのmplayer)*3ですが、
さすが最新ソースというべきか、はたまた例の魔法の呪文*4のおかげか、
rc2よりキビキビ動くので、amrとlibcacaサポートを有効にしてコンパイルしてみました。
多分libncurseswも要るのでextras-develにある奴を使ってください。
オマケはlibgstcacasink.so。

ファイル:


インストール:
  • *.deb : dpkg -i
  • *.gz : gunzip後、mplayerは/usr/local/bin/だとか適当な所へ、
    libgstcacasink.soは/usr/lib/gstreamer-0.10/へ

使いかた:
mplayer_svn-30479-3.4.4 -vo caca -vf scale -tv driver=v4l2:width=192:height=144:noaudio -fps 15 tv://
だとか
gst-launch v4l2src ! 'video/x-yuv-rgb,width=320,height=240,framerate=8/1' ! ffmpegcolorspace ! cacasink

で前出のネオ拡張現実。*5
neoar
コレです

libcaca_0.99.16-maemo1_armel.debに同梱の
cacaview
cacaview

は"cacaview necofolder/koneko/*.jpg"(imlib2が要ります)


*1
声に出していってみよう!モバイラーならゾクッとするはず。
キュー、ブリック。
*2
extrasにある1.0rc1と、TMOのこのスレッド(http://forums.internettablettalk.com/showthread.php?t=18231 )にあるbundyo氏版rc2(SVN-r26265-3.4.4)
オプションはほとんどmaemoデフォルトのmplayer.conf +
-correct-pts -noframedrop -vfm ffmpeg -lavdopts fast:skiploopfilter=all
*3
その長く果てしないコンパイルの間にN810が二回落ちたことで知られている。
*4
-mfpu=vfp -mfloat-abi=softfp -mcpu=arm1136jf-s
高度に発達した科学や愛の実在並に理解不能デス。
*5
よくよく考えるとネオのは拡張仮想現実ですね。

ビルド:
libamr はここ(http://www.penguin.cz/~utx/amr)から
libcaca はこちら(http://caca.zoy.org/)から
mplayer はあちら(http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2)から
mplayerのmaemopatchはそこら(http://www.mediafire.com/?noc0lynd0gi)から 持ってきました。
libgstcacasinkはこのgstreamer-plugins-good(http://www.gstreamer.net/src/gst-plugins-good/)の中にあります。

mplayerのconfigureは
--enable-armv5te --enable-armv6 --enable-armvfp --enable-largefiles --prefix=/usr --confdir=/etc/mplayer --enable-alsa --disable-ossaudio --enable-menu --disable-md5sum --enable-freetype --enable-esd --enable-sdl --enable-mad --enable-caca --enable-fbdev --disable-mencoder --enable-libopencore_amrnb --enable-libopencore_amrwb
こんなかんじで、patchしてからconfig.makに例の呪文をつけました。
そのあと/usr/lib以下libamrnbからlibopencore_amrnbにシンボリックリンクしてmake。

1 件のコメント:

  1. >r30479
    1月終わりぐらいのものですか。ならもっと新しいrev使った方が良いかと。
    ffmpegのr21696-r21705において、更なるarmv6向けの最適化が入ったようですし。
    http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2010-February/thread.html

    返信削除