yayugu/net-radio-archive

Radikoの一部局の録音ができない (radiko_hls)

Closed this issue · 0 comments

環境: Radiko TOKYO判定、非ログイン

radiko_hlsブランチのRadiko録音について、
少なくとも ラジオNIKKEI1(RN1)、ラジオNIKKEI2(RN2) の録音が行えていない状態です。

エラーとしては、

uri = "http://c-radiko.smartstream.ne.jp/#{job.ch}/_definst_/simul-stream.stream/playlist.m3u8"

で定義されたc-radikoサーバのHLSのURLをGETした結果が404で、bodyに想定した内容が来ていないため、
@m3u8_url = /^https?:\/\/.+m3u8$/i.match(res.body)[0]

で[0]がnilのためエラーとなっています。

他のプロジェクトやWeb版の動作を確認したところ、
http://radiko.jp/v2/station/stream_smh_multi/RN1.xml
https://radiko.jp/v3/station/stream/pc_html5/RN1.xml
よりHLSのURLを取得していました。(RN1はチャンネル)
stream_smh_multiでTBS等他チャンネルとRN1の内容を見比べると、
TBSのほうはareafree=0/1の各ノードでc-radiko/f-radikoの両方のURLが定義されていましたが、RN1やRN2ではどちらもf-radikoのURLが定義されているため、RN1/RN2についてはc-radikoサーバで配信がされていないようです。

対処としては上記xmlよりHLSのURLを取得するのが正攻法のようですが、簡単な回避策としてはc-radikoで404ならf-radikoでリトライするという対応で対処ができそうでしたので、これから試します。