それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

コマンドからRadikoを録音する。

今更ながらRadiko祭りに参加する。

Radikoについて

ABCの技術の人に直接聞いた話とかも含めた。

  1. Radikoはラジオの放送
  2. Radikoサイマル放送(つまり電波放送の内容をリアルタイムエンコーディングしてる)
  3. 配信形式はFLV(rtmp)
  4. RadikoはWEBページの広告収入で運営している(クリックしてあげよう
  5. 全パケットは大阪から配信される。
  6. 大阪の中之島から配信されており、全放送局が大阪にいったん送信する。
  7. 地域判定はIPベースでやってる
  8. 地域判定は有る程度適当で細かい部分は気にしてない
    1. ラジオだって電波届くじゃん?そんなに細かくなくてイイよってことらしい。総務省的に
  9. 家庭用ラジオの替わりになる専用端末は無い。(2011-01-03現在
  10. NHKは参加してない(ココ重要

まあ、あれこれあるけど、Radikoは”ラジオ”なので私的利用範囲で複製が可能

地域別の放送を聞く方法
  1. 東京を聞くには、東京大手町経由のISPと契約する(例 IPQ
  2. 大阪を聞くには、大阪堂島経由のISP時計訳する(例 SAKURAインターネット
  3. SOCKSプロキシを使う。
  4. SSHのポートフォワードを使う。

などが有ります。

Radiko専用機器が欲しい

家庭からラジオ機器が無くなって久しい。ラジオはやっぱり便利なので、是非復活して欲しいところ。専用端末の発売が待たれる。


不特定多数にRadikoのストリームを中継したら違法になるので注意。

放送法やJASRACのような権利関係の整理に注力してて、API公開には手が回らない感じ。

専用アプリに録音機能がついてないのは明らかな片手落ち。でなければAPIを公開するべきだと思う。

まぁ法律に触れなければ好きにやって良いのですし。不正アクセスでもないし。


Radikoの録音

RTMPをキャプチャして保存するだけ。rmtpdumpを使う。

rtmpdumpのビルド

build して installする。

wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz
tar zxvf rtmpdump-2.3.tgz
cd rtmpdump-2.3
make SYS=posix
sudo make install

実際にキャプチャしてみる。

rtmpdump --rtmp rtmpe://radiko.smartstream.ne.jp/ \
         --port 1935 --app TBS/_defInst_ --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 \
         --flashVer "LNX 10,0,45,2" --live \
         --stop 30 --flv output.flv

#注意:関西ならTBS→MBSに変える。

標準出力に垂れ流す。

rtmpdump --rtmp rtmpe://radiko.smartstream.ne.jp/ \
         --port 1935 --app ABC/_defInst_ --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#ABC \
         --flashVer "LNX 10,0,45,2" --live \

radiko.rb

cron等で便利なように、作っておいた。

  1 #!/usr/bin/env ruby
  2 channel = ARGV[0] ? ARGV[0] : "ABC"
  3 time    = ARGV[1] ? ARGV[1] : 60*60*3 # デフォルト3時間
  4 cmd="rtmpdump --rtmp rtmpe://radiko.smartstream.ne.jp/ --port 1935 \
  5  --app #{channel}/_defInst_ --playpath simul-stream\
  6  --swfUrl http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf\
  7  --pageUrl http://radiko.jp/player/player.html##{channel} \
  8  --flashVer \"LNX 10,0,45,2\" --live\
  9  --stop #{time} --flv radiko_#{channel}_`date +'%Y-%m-%d_%T'`.flv
 10 "
 11 system(cmd)

使い方

ruby radiko.rb ABC 14400 #ABC ラジオを4時間録音

今後考えられる使い方

  1. 阪神戦を東京から聞ける
  2. 宗教学習に(僕は学会じゃないけど。。学会コンテンツ多いですよね
  3. 音楽をとりだすー。
  4. 語学学習には使えない。

語学学習に使いたいんだけど、NHKラジオとNHK-FMはまだなんですかねぇ。