前回書いたとおりLANDISKをメディアサーバーにすべく環境構築中なのですが、ちょっと手こずっています
AX300から引っ張ってきたメディアファイルをPSPサイズにエンコードさせるためには、MobileHackerzの携帯動画変換君でも使われているffmpegが必要なのですが、さすがにSH4*1のfedora coreって事でパッケージはありません。なのでソースからコンパイルする必要があります
yumでセルフコンパイル環境を整えられるので、引き続きLANDISKで漕ぎいでな~のところのメモを参考に、適当にgcc、g++……とインストール
そして次に参考にしたところはPC WEBのコラム「OS X ハッキング! OS XでPSPを愉しむ」。ffmpeg本体の他、PSP動画に必要なライブラリはここを参考にしました
ここで一度躓いたのですが、コラムの手順通りmake installまで進めても、ちっとも本体に参照されないという現象。コンソールでmake~とかするのは未経験だったので知らなかったのですが、ldconfigで共有ライブラリのキャッシュを更新しないといけないとの事だったので、ググって見よう見まねで ldconfig -v とかコマンド打っても反映されず……
さらに「ldconfig /usr/local/lib fedora」という検索キーでググってみると/etc/ld.so.conf に/usr/local/lib の一行を追加しなければ見に行ってくれないらしいという事が判明。RedHat系ディストリビューション(つまり今使ってるfedora coreも対象)はデフォルトでこの行が書かれてない、って事がわかるまで半日……
-bash-2.05b# ffmpeg -i THR_OP_normal.mpg -f psp -r 29.97 -s 320x240 -b 768 -ar 24000 -ab 3
2 -title 'ToHeart Remember my memory' 'THR_OP_normal.MP4'
ffmpeg version 0.4.9-pre1, build 4754, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --cpu=SH4 --enable-faac --enable-faad --enable-a52 --enable-gpl
built on May 7 2005 16:41:12, gcc: 3.4.3
Input #0, mpeg, from 'THR_OP_normal.mpg':
Duration: 00:01:28.7, start: 0.340078, bitrate: 1418 kb/s
Stream #0.0: Video: mpeg1video, yuv420p, 352x240, 29.97 fps, 1150 kb/s
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 224 kb/s
Output #0, psp, to 'THR_OP_normal.MP4':
Stream #0.0: Video: mpeg4, yuv420p, 320x240, 29.97 fps, q=2-31, 768 kb/s
Stream #0.1: Audio: aac, 24000 Hz, stereo, 32 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
[mpeg4 @ 0x6434bc]removing common factors from framerate
Press [q] to stop encoding
frame= 284 q=0.0 size= 1012kB time=9.2 bitrate= 899.7kbits/s
こんな感じでffmpegが動くようにはなりました。PSP向けフォーマットのパラメータ入れてテストエンコードしてみると……当たり前だけど新型PSXのPSPエンコードのほうが何倍も早いんじゃないかというのを体感。またタイトル等のパラメータが反映されないという問題も。これは未だ何故なのかわかっていません*2
あとはしまさわら様のAX300の内容をDivXへ自動変換よりスクリプトをいただいて、landisk向けにディレクトリ等を修正。こちらは必要環境整えれば動作したので概ね問題なし。タイトルのヘッダ取り周りで誤動作するのでコメント付けて様子見、そもそも環境が違うのであとで見直す必要はあり
AX300サーバーのほうでは既にこんなのを作成、運用テスト済みだったりするので、あとはもうほんとにffmpegの具合次第なんだけど……
ちなみにこれ、表に出してないので外から試しても繋がりません
第二話はリアルタイムで視聴してたけどHDDがいっぱいだったらしく、録画失敗してたみたい……
*1 SH4:日立製組込用途向けCPU
*2 わからないなりにMobileHackerzで公開されているパッチのソースとオリジナルを見比べたり眺めたり開きっぱなしで放置したりしているのですが……