radikoの仕様変更によるRaspberry Piでの録音失敗対応

  • 18
    Like
  • 1
    Comment
More than 1 year has passed since last update.

以前投稿したRaspberry Piでradiko録音の記事の続編です。
http://qiita.com/komacchi/items/ca09d195699815c81c3e

2016/10/12からradikoがタイムフリーに対応しました。
その際、仕様変更があったようで、今までのスクリプトでは録音できなくなっていました。
(気がついたのが遅かった)

ということでrec_radiko.shを修正します。

playerurlの変更

rec_radiko.sh
playerurl=http://radiko.jp/player/swf/player_4.1.0.00.swf
↓
playerurl=http://radiko.jp/apps/js/flash/myplayer-release.swf
rec_radiko.sh
swfextract -b 12 $playerfile -o $keyfile

(ここの数字はオプションの予約idっぽいので2~5または12か14でもいけるかも?調整してみてください)

auth1_fms,auth2_fms両方

rec_radiko.sh
--header="X-Radiko-App: pc_1" \
--header="X-Radiko-App-Version: 2.0.1" \
↓
--header="X-Radiko-App: pc_ts" \
--header="X-Radiko-App-Version: 4.0.0" \

Authtoken,Partialkeyのキャメルケース変更

rec_radiko.sh
--header="X-Radiko-Authtoken: ${authtoken}" \
--header="X-Radiko-Partialkey: ${partialkey}" \
↓
--header="X-Radiko-AuthToken: ${authtoken}" \
--header="X-Radiko-PartialKey: ${partialkey}" \

ヤッターこれで録音可能になりました。

apt-getをupdateしたり、swftoolsのバージョンアップをしていた場合、
前記事でも書きましたが、

/tmp/player.swf is not a valid SWF file or contains errors.
failed get keydata

このようなエラーが出たら/tmp/player.swfを削除すると良いかと。

快適なラジオライフを。

参考サイト

https://goo.gl/cQnKH8
https://goo.gl/TgAQb