asf(wma)ストリームのダウンロード その2

・mimms ビルド?(^^;)

 formerly called mmsclient...とかドキュメントに書かれているので、どうも mmsclientの後継みたい。

 とりあえず、ここでサンプルに上がってるサイトが、正に asfrecorder&mmsclientで DL出来なかったサイトだったりしたんで、かなり期待(笑)。


 さて、今までの二つと違って、こっちのソースはは C++
 ってコトで、gnu-dev_0.0.4_cpp.cramfs を利用して、まずは make・・・失敗。


 なんか、uuid.h と popt.h がどーだか言うてるみたい。

 とりあえず、ここのサイトの解説を参考に uuidを作成。こっちはこれで問題なし。
 念の為、出来上がったパッケージ置いとく〜。


 さて、問題は popt。
 要は、構文解析用のライブラリみたいなんだけど、どうも大本は redhat由来のもんらしい。
 こことか参照しながら、ビルドしてみるけど・・・これが仲々通らない。まぁ、このページの人も苦労してはるみたいだけど(^^:)。

 えー加減、セルフビルドに煮詰まりつつあったとこで、ここで配布されてるりなざう用の rpmの ipkパッケージ(ああ、ややこしい/笑)に poptも含まれてるのを発見。

 これで、今度こそ行けるか?!、と思ったら今度は poptのバージョン違いで轟沈(^^;)。

 改めて、poptの最新バージョン探してると、そのまんま Debianの mimmsのパッケージ紹介ページに辿り着く(汗)。
 ・・・って、良く見たら、そもそも mimms自体の arm用バイナリパッケージがあるやんけ〜〜〜〜(爆)。

 とりあえず、 debパッケージをバラしてバイナリ抽出。依存ライブラリも同じく debから引っ張ってきて、てけとーに配置。
 で、試してみると・・・あっさり動作(苦笑)。

 件の asfrecorderとかで DL出来なかったサイトからの録音も成功(^^)。

・mimms 使い方

 ってことで、使い方の説明です。
 このソフトも、今までの二者と同じくコマンドラインツールなので、基本的には CUIから以下のようにして起動します。

mimms mms://〜

 -tオプションを用いることで録音時間(分)が、また -oオプションでは保存するファイル名を指定することが出来ます。
 例えば、下記の例だと放送内容の先頭から 1分間だけ録音(録画)します。

mimms -t1 mms://〜

 ただし、ヘッダ情報はオリジナルの情報がそのまま保存されます。
 りなざうの Musicplayerなどで表示される時間や、シークバーはこのヘッダ情報に基づいて表示されるため、実際の記録時間に関係なく常に本来の再生時間で表示されます。
 当然、実際に録音されてる以上の再生位置を指定するとエラーになるので注意が必要です。


 また、拡張子が asfとなっているメディアファイルは、りなざうの標準環境では動画ファイルとして解釈され Musicplayerでは表示されません。
 基本的に asfと wma/wmvのファイル構造は共通であるため、単純にリネームすれば Musicplayerで再生が可能になります。
 ネットラジオ等の音声データを保存する場合は前述の -oオプションを用いて拡張子を wmaにしたファイル名で保存してやると良いでしょう。
 例えば、以下のように指定してやると配信元のファイル名に関わらず、 hoge.wmaと言う名前で保存されます。

mimms -o hoge.wma mms://〜

 残念ながら、ローカルの asxファイルから DLを指定したりは出来ません。このへんは前身の mmsclientと同一の仕様ですね。
 このへん、 Netfrontの外部ヘルパ機能と組み合わせてやれないもんかと、さらに考え中だったり。


 なお、テクノウの方では依存ライブラリ含め、丸ごとパッケージングしたものを公開してますが、開発環境などの関係でライブラリの競合が気になる方のために個別にパッケージングしたものもこちらに置いておきます。

 一応個別化してますが、あくまでも mimmsに必要な依存部分をまとめたものなので、単体でどこまで有用なのかは微妙です。ですんで、バージョンNo.も適当(^^;)。

 なお、これらのライブラリですが、どうも mimms本体が /usr/lib を決め打ちで見に行ってるみたいなんで、これ以外の場所に置いてあってもエラーになります。

 テクノウで公開してるパッケージはライブラリを含んでいる関係上、本体以外へのインストールは不可となっていますが、こちらのパッケージはライブラリを分離しているため、 SDや CFへインストールすることも可能です。つっても、たかだか 18KB程度のバイナリ本体外に逃がすのにどれだけ意味があるのかって話もありますが・・・(^^;)。