zaurus で radiko を聴く!

いろいろ mplayer をいじってみたところ、なんとか radiko を再生できるようになりました。

SL-C1000 にスペカの環境(クロックアップなし)で試したところ CPU 能力的にギリギリらしく、たまに音飛びしますが、とりあえずストリーミング再生もできました。

ファイル

前回の rtmpdump も同梱してあります。

radiko-kit.tar.gz を展開し、以下のコマンドを実行することで radiko (TBSラジオ) を再生できました。

$ ./rtmpdump --rtmp "rtmpe://radiko.smartstream.ne.jp:1935" --playpath "simul-stream" --swfUrl "http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf" --pageUrl "http://radiko.jp/player/player.html#TBS" --app "TBS/_defInst_" --flashVer "LNX 10,1,53,64" --live | ./mplayer - 

あとはフロントエンドですねー。

それにしても radiko に必要ないデコーダ類を全部切ったのに mplayer が 6.3MB もあるなんて・・・でかすぎです。絶対動いてないコードあるって。無駄にダイエットさせてみようかな。

zaurus で radiko の録音(再生できず)

言わずと知れた、インターネット経由でラジオのサイマル放送を行っている radiko.jp ですが、Ubuntu などの Linux 機でも聞けるんですね。radiko 自体は知ってましたが、Linux で聞けるのは最近知りました。

rtmpdump というソフトを使えば録音もできてしまうようです。放送局というとDRMとかガチガチにしてそうなイメージだったんですが、そんなことないんですねー。

だったら zaurus でも? と思ってググってみましたが、成功事例はありませんでした。

実用的かどうかは置いておいて、面白そうだったので rtmpdump をビルドしてみました。

rtmpdump.tar.gz を展開すると rtmpdump が作成されますので、それを zaurus にコピーしてください。libssl とかのライブラリもスタティックにリンクしているので単体で動作可能です。

一応、以下のコマンドで TBS ラジオを録音することはできました。

$ ./rtmpdump --rtmp "rtmpe://radiko.smartstream.ne.jp:1935" --playpath "simul-stream" --swfUrl "http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf" --pageUrl "http://radiko.jp/player/player.html#TBS" --app "TBS/_defInst_" --flashVer "LNX 10,1,53,64" --live -o aaaa.flv

録音はできましたが、肝心の再生はできてません(ぉぃ

どうも超有名な阿川さん作の mplayer では 1.1.5-1 でも 1.2.0-1 でも再生できないようです。AAC には対応しているみたいなんですけどねぇ。

録音したファイルを PC に持ってきて再生すればちゃんと聞けたので、多分 rtmpdump 自体は正しくビルドできていそうな感じです。

だれか mplayer のビルドに挑戦してみる人いませんか?

うまくいけばストリーム再生もできちゃうかも??

 

ちなみに、rtmpdump-nosrc.tar.gz の方はビルドスクリプトとパッチです。展開して make すれば必要なソースをダウンロードしてビルドしてくれます。

SL-6000借りました

SL-6000 シリーズにも SDHC ドライバが欲しいとのコメントを頂きまして、本格的に調査しようと思っていたのですが、私は実機を持っていないのです。試しにオークションを覗いてみたら1万円もするんですね。私にはちょっと気軽に買えません。

そこで会社の人に聞いてみたところ、SL-6000 を持っている人がいたのでを借りてきました。

SL-6000 借りました
SL-6000 借りました

結構大きいし厚みがありますね。

どれくらいの大きさなのか SL-A300, SL-C1000 と比べてみました。

大きさの比較 (左から SL-6000, SL-C1000, SL-A300)
大きさの比較 (左から SL-6000, SL-C1000, SL-A300)

スライド式のハードウェアキーボードがあるため縦に長いですが、横幅は SL-C1000 より少し小さいようです。

高さの比較 (左 SL-6000, 右上 SL-A300, 右下 SL-C1000)
高さの比較 (左 SL-6000, 右上 SL-A300, 右下 SL-C1000)

厚みは SL-C1000 より薄く、SL-C1000 の画面を開いた時+α 位のようです。

LCDが反射型液晶なので外での視認性は抜群ですね。qgmap には向いてるかもしれません。

SL-6000の画面とハードウェアキーボード
SL-6000の画面とハードウェアキーボード

反射型液晶って昔の携帯みたいにあまり発色がよくないイメージがあったんですが、SL-6000は綺麗だったので驚きました。 カラーの反射型液晶ってあまり見かけないだけで結構綺麗なんですね。

早速SDドライバまわりを確認してみましたが、3桁機と同じパスにありました。3桁機と同じ PXA255 なのでカーネルも同じなのでしょう。

ただ、気になったのはドライバのサイズが結構違うこと。各機種の sharp_mmcsd.o のサイズは以下のようになっています。

  • SL-A300(PXA210) 47,879 Byte
  • SL-C700(PXA250) 40,657 Byte
  • SL-CXX0(PXA255) 40,222 Byte
  • SL-6000(PXA255) 49,629 Byte
  • SL-CXX00(PXA270) 67,530 Byte

SL-A300 は限定的ながら SDIO の処理が入っている(PHSカードのみ使用可能)ため大きいのと、4桁機は PXA255 と PXA270 でSDコントローラが違っているため大きくなっているとして、SL-6000は同じ PXA255 のSL-CXX0 より結構サイズが増えています。

作りが変わったりしていなければいいのですが・・・。

今度こそ SDHC ドライバ内蔵 rootfs for SL-A300

えー、長らくお待たせ致しました。

結構時間がかかっちゃいましたが、やっとまともに動作する initrd.bin 作成ツールができたので公開します。→ダウンロードページ

使い方はダウンロードページに書いてあります。

やっと安定して initrd.bin が作れるようになりました。前回公開しようとしていたものは、オリジナルの mkcramfs を使ったものでしたが、これがものすごくメモリを食うため、メモリの少ない SL-A300 で動作させるためには swap を有効にしてダマシダマシ動かすしかありませんでした。

しかし、どうも SL-A300 用カーネルのスワップが不安定で、フリーズしたり、なんとか mkcramfs が正常終了しても initrd.bin が壊れていたりと、とても使えるものではなかったため、公開を諦めました。

そこで今回は mkcramfs に手を加えて、メモリの代わりにテンポラリファイルを使うようにすることで、メモリ使用量を抑えるようにしました。これでなんとかスワップを有効にしなくても mkinitrd.bin を作れるようになりました。

一応確認してはいますが、initrd.bin が壊れていると起動しなくなることもありますので、ご理解の上お使いください。ヒトバシラーな人大募集です(^^;
気づいた点があったらコメントで教えていただけるとうれしいです。

SDHCドライバ内蔵済 rootfs for SL-A300

—-4/10追記—-

すいません、qinstall の対応漏れや、検証してみたら問題があったなど、公開できるレベルにないことがわかったので、もう少しちゃんとした形にしてから公開します。期待していた方ごめんなさい。

rootfsの入れ替えは完全初期化が必要で、さらに起動しなくなる可能性もあるなど結構影響が大きいので、中途半端な形での公開はご迷惑をかけることになるので、もう少し検証してからにしたいと思います。
ダウンロードページも一時非公開にしました。ブースカさんからコメントいただきましたが、ページごと非公開になっているだけで、コメントは残っています。消したわけではありませんのでご心配なく(^^)

———

最近仕事が忙しくなってきて久々の更新です。

SDHC ドライバを SL-A300 の rootfs に組み込んでしまって、電池が切れて全てが消えてしまっても最初から SDHC が使えるようにするキットを作成しました。  → ダウンロードページ

Linux PC等を使わなくても SL-A300 本体のみでSDHC内蔵 initrd.bin を簡単に作成するためのものです。

発端は sugarware さんのコメントでした。電池が切れるとSDHCドライバも消えてしまうため、SDHCにバックアップしたデータをリカバリするのに手間がかかるというご相談でした。

確かにSL-A300はバッテリバックアップで RAMDISK を保持しているので、電池が切れると全て消えてしまいます。

そのため頻繁にバックアップは取りたいけど、バックアップだけは1GB以下のSDというのもちょっと使いづらいです。

ということで、SL-A300 の NOR Flash に書かれている rootfs に SDHC ドライバを組み込んでしまうことにしました。

本当なら rootfs のイメージ(initrd.bin) を配布できれば楽なのですが、 GPL でないものも含まれているので勝手に配布できないため、イメージをユーザの方々に作っていただく必要があります。

できるだけ簡単に作れるようにしたつもりです。イメージの作成方法からアップデートの方法までダウンロードページに書きましたので、興味のある方はお試しください。