radiko

CUIなサーバーだけでradikoを聞きたい!

More than 1 year has passed since last update.

どうも。かちおです。ちょっと作業をしているときに、無性にコマンドラインだけでラジオを聞きたくなりますよね?ということで自分なりにどうすれば再生できるか色々と試してみました。

方法1

https://gist.github.com/matchy2/3956266 で紹介されているスクリプトを使う方法です。
これだと録音しかできないのですが、有志の方が再生にも対応させるシェルスクリプトを書いてくれていました。

https://mtunn.wordpress.com/2017/02/08/raspberrypi3%E3%81%A7radiko/

swftoolsというパッケージが必要です。sudo apt install swftoolsで導入できました。

$ ./radiko.sh -p BAYFM78

で聞くことができた。このBAYFM78みたいなキー(文字列)は、radiko.jpの各ラジオ局のページのURLで確認できる。w3mとか使えばサーバーでもok。

自分で各ラジオ局のキーをまとめてみたら以下のようになった。

ラジオ局 キー
NHK第1 JOAK
NHK第2 JOAB
NHK FM JOAK-FM
FM横浜 YFM
文化放送 QRR
ラジオNIKKEI第1 RN1
ラジオNIKKEI第2 RN2
Jwave FMJ
bayfm78 BAYFM78
TBSラジオ TBS
NACK5 NACK5
TOKYOFM FMT
ニッポン放送 LFR
ラジオ日本 JORF
放送大学 HOUSOU-DAIGAKU
InterFM INT

もしバッググラウンドで動かしたいなら以下のように。

$ ./radiko.sh -o key >/dev/null 2>&1 &

ただmplayerの出力である標準出力と標準エラー出力を捨ててるだけ。

方法2

上のがめんどくさかったので、もっと簡単にできないかと思い、radiko.jpをchrome開発者ツールで見ているとm3u8なリクエストを発見。ということで以下のようにすればもっと簡単にradikoを聞くことができた。

  1. mplayerをサーバーにインストール
  2. radiko.jpをなんらかのブラウザで開き、開発者ツールのnetwork欄から拡張子が.m3u8なリクエストを見つけ、そのURLをコピー。
  3. mplayerの引数にURLを渡すだけ。

たとえばbayfm78は以下のようになった。

$ http://f-radiko.smartstream.ne.jp/BAYFM78/_definst_/simul-stream.stream/chunklist_w710715257.m3u8

で、これの問題は時間が立つとこのURLが変わってしまうこと。
なので素直に方法1を使うことにした。


結局他の人が書いたブログを引用するだけになってしまったけど、まあとりあえずこれでサーバーでラジオが聞けるね!
やったね!