-追記-
5/10にradiko公式アプリ「radiko.jp」が公開されたので、今後をそちらを使って聴くことをお勧めする。
Radikoをサーバ経由でアプリ無しでiPhoneから聴けるようにしてみた。
利点はSafariで再生するのでバックグラウンド再生が可能な点。またサスペンドしながらでも可。
Linuxサーバが必要なのが一般的には敷居が高いかもしれない(Windowsでも頑張ればできると思う)。
何らかしらのサーバは必要だが、恐らく最も低コスト、低リソースでiPhoneでRadikoを聴く方法だと思われる。
ちょうど1ヶ月程前からこの方法で聴いているが、本バージョンはRadikoのプロトコル変更に対応済み。
自宅サーバとServersMan@VPSの両環境(どちらもCentOS5.4)で動作確認済み。
参考にしたページ
用意するもの
- ffmpeg
- segmenter(audio only 対応改造版。ページ下部からダウンロード)
なお、segmenterについては下記のサイトが元で、それを音声のみのストリーミングに合わせて改造した。
ffmpegのインストール
ffmpegはconfigureに
--enable-librtmp --extra-ldflags=-lssl
を追加する(上記の参考ページを参照のこと)。
後はLAME(libmp3lame)が必要(AAC copyだと音が途切れる為)。
segmenterのインストール
segmenter.tar.gz(audio only 対応改造版)をダウンロード後、下記の手順でインストールを行う
$ tar xvzf segmenter.tar.gz
$ cd segmenter
$ make
# make install
segmenterのアンインストールは、makeしたディレクトリで下記のコマンド
# make uninstall
環境設定
ページ下部のradiko.tar.gzをダウンロードし、適当なディレクトリで解凍する
中身はこんな感じ
radiko/
|—fm/
|—kill.sh
|—radiko.sh
|—settings.txt
settings.txtをvi等のエディタで編集する。
変更必須箇所はmy_urlとchannelの2箇所。それ以外は必要に応じて変更。
my_url=“http://hogehoge.fugafuga/”
Apache等で公開するURL。自分の環境に合わせて書き換える。
channel=XXX
聴きたいチャンネルを記入
output_path=fm/
分割されたTSファイルと.m3u8ファイルがここに保存される。
segmenter_duration=15
分割されたTSファイルの長さ(秒)
segmenter_count=4
分割されたTSファイルの最大保存数。数字を消すと無制限に保存される。
file_prefix=radiko
output_path以下に保存されるファイル名のprefix。file_prefix-XXX.ts、file_prefix.m3u8の形式で保存される
segmenter=/usr/local/bin/segmenter
segmenterへのパス(デフォルト)。
スクリプトの起動、終了方法
起動
$ ./radiko.sh
スクリプトが実行するとディレクトリ内にradiko.pidが作成される。中身は実行されたffmpegのpid。
終了方法
$ ./kill.sh
プロセスの停止と同時にoutput_path下のファイル削除を行うので、output_path下に重要なファイルを配置しないこと。
分かっていること
起動スクリプトの実行後、下記のような内容がコンソールに表示されるがエンターでOK。(出ないようにする方法が分からないので放置)
[mpegts @ 0x9f585a0]max_analyze_duration reached
[mpegts @ 0x9f585a0]Estimating duration from bitrate, this may be inaccurate
Output #0, mpegts, to ‘fm/radiko’:
Stream #0.0: Audio: libmp3lame, 48000 Hz, 2 channels, 128 kb/s
[mpegts @ 0x9f64fb0]muxrate 1 bps, pcr every 4 pkts, sdt every 200, pat/pmt every 40 pkts
[mpegts @ 0x9f64fb0]st:0 error, non monotone timestamps 126000 >= 126000
Warning: Could not write frame of stream
確認方法
output_path以下に.tsと.m3u8が作成され、新しいtsファイルがどんどん生成されていればOK。
Webサーバで公開する
iPhoneで視聴する為に、output_pathをWebサーバで公開する。
ApacheでFollowSymLinksを有効にして、output_pathをドキュメントルート下にリンクすると楽。
ポイントは、
${my_url}${output_path}${file_prefix}.m3u8
の形式でiPhoneからアクセスできるかどうか。
下記の設定の場合、
my_url=”http://hogehoge.fugafuga/”
output_path=fm/
file_prefix=radiko
このURLにアクセスすることになる
http://hogehoge.fugafuga/fm/radiko.m3u8
なお、当然のことであるが、自分以外の外部からの不正アクセスを防ぐ為に接続元IPアドレスで限定するか、Basic認証をかけておく。
iPhoneからのアクセス方法
Safariで公開している.m3u8ファイルをURLに入力。接続が成功すると自動で再生が始まる。
再生を停止すればページのブックマークが可能。


[...] This post was mentioned on Twitter by adachi000, nrglog. nrglog said: blog更新しました。:RadikoをiPhoneからHTTP Live Streamingで聴くhttp://bit.ly/bM7iRX [...]