【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 終了】

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

【映画】プレデターズ

B級映画の王道、プレデターズを観に行った。

予告編でマトリックスのモーフィアス役のローレンス・フィッシュバーンが出てるので、重要な役かと思ったら、ちょい役だった。

プレデターの2作めでアーノルド・シュワルツネッガーが出演を断ったというように、有名俳優をちょい役で使い、ネームバリューで映画を売ろうというコンセプトなのだろうか?

何も考えずに、アクションを観るには最適の映画だと思う。

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 付きでコンパイルしないと使えないようだ。