【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

mpeg1/2 decoder

Wineで大戦略パーフェクト3.0のオープニングムービーが再生されないので、GPL MPEG-1/2 DirectShow Decoder FilterをWineにぶっこんでみた。

動画再生プログラムで、オープニングのムービーを開くと、再生されるようになったので、WineでのMPEG1再生は問題無いはずなのだが、大戦略パーフェクト3.0を起動すると、オープニングムービーが再生されず、まだDirectX絡みでうまくいってないようだ。

デスクトップはConkyを入れて、こんな感じ

Conkyを見ると、Core i7 740QMは独立してCPUクロックを可変させているようだ。擬似8コアなのに(笑)

ターボブーストは観測できていないが、多分効いているだろう。

Wine 1.2と戯れる

Wineと戯れる。

とりあえず、Ubuntu 10.04で大戦略パーフェクト3.0が動くようになった。

しかし、オープニングムービーはエラー出てダメだとか、リアルファイトがほとんど表示されないとかある。

まあ、遊べない事はない。

後で何設定したか追記しよう。

【2010/6/16 追記:ここから】
大戦略パーフェクト3.0のCDを入れて、デスクトップに表示されるCDを開いてマウント。
$wine /media/DSP3/AutoRun.exe

でインストーラが起動するけど、そこでDirectXのセットアップでインストール。エラー出まくりで、Wineの方にはDLLの設定ができていないので、ツールで設定する。

$wget http://www.kegel.com/wine/winetricks
$sh winetricks

d3dx9、d3dx10、d3dxof、dinput8、directmusic、directplay、quartz にチェックを入れて[OK]を押す。
※directx9などにチェックを入れてはいけない

Wine設定のライブラリタブで、設定が追加されているか確認する。

で、もう一度
$wine /media/DSP3/AutoRun.exe

を実行して、大戦略パーフェクト3.0をインストールで完了。

【2010/6/16 追記:ここまで】

compiz fusion

新しく買ったDELL studio 1558のグラフィックボードはMobility RADEON HD 5470なので、compiz fusionのデスクトップキューブを使ってみた。

Ubuntu 10.04LTSだと、ctrl+alt+button1 でデスクトップをぐるぐる回せる。

スカイドームに画像指定しておくと、回転するキューブの背景がその画像になる。

わしのは、RX-7をスカイドームに指定してみたが、回転中のデスクトップの透明度を上げていないので、スカイドームの画像が透けて見えてないな。

驚くべき事に、回転中もブラウザで再生している動画など、すべて動いて見える。

グラフィック処理をGPUに任せると、ここまでできるのかと驚かされた。

Playstationの開発話でCPU+GPUで、GPUの部分に力を入れたって聞いたけど、納得だなあ。

DELL studio 1558にUbuntu 10.04LTSを入れた

Ubuntu 9.04の入ったUSBのディスクをStudio 1558に繋いだ時は画面出しに苦労したが、Ubuntu 10.04 LTSのCDからのインストールは、画面表示が出ないなんて事は無く、あっさりインストールできた。

しかし、Windows 7を起動した後、再起動すると、

no module name found Aborted Press any key to exit

などと表示されて起動不能に。

一応、嫌な予感がしてたので、
dd if=/dev/sda of=mbr.img bs=512 count=1

などとやって、Master Boot Recordのバックアップは取っておいたので、USB起動のUbuntuでMBRを復旧した。

再度インストールするも、やはり、Windows 7を起動すると、起動不能になる。
Google先生にご教示を願ったところ、全く同じ症状が…

ディスクのsignatureをGRUB2が破壊しているので、Windows 7が直してるけど、それでGRUB2が破壊されるので起動不能になるのか。

解決策は、前のバージョンのGRUBを入れてMBRに書くのがいいみたいだが、めんどくせえなあ…。

選択起動式にする場合は、GRUB2をMBRに入れずに、USBメモリとかに入れて、それでUbuntu起動した方がいいかもしれんね。わしの場合は、当面、USB外付けディスクのGRUBで起動するか。

https://forums.ubuntulinux.jp/viewtopic.php?id=8001

Dell studio 1558+Ubuntu 9.04でDVD再生いけた

DELLのサイトでは、Panasonic BD-RE UJ235Aのアップデートは無かった。

Windows 7のメディアセンターでDVDを再生してから、Ubuntu 9.04のVLCで再生してみると…

Windows 環境で一旦再生しないとLinux環境で再生できないってどんな地雷や?