2020/12/04
radiko の仕様変更により radikorec で録音できなくなりましたので、
録音環境を radish(radi.sh) に変更しました。


2016/10/27

radiko が仕様変更して radikorec で録音できなくなったので対応

2016/10/20から radiko が録音できなくなりました。
どうやら radiko がタイムフリーに対応したことにより仕様が変更されたことが原因のようです。
早速ネットで調べたら対策が見つかったので記録しておきます。

対象ファイル:radiko.py

cd /
sudo find -name radiko.py

cd /usr/local/lib/python2.7/dist-packages
sudo cp -p radiko.py radiko.py.org
sudo mv radiko.pyc radiko.pyc.org

変更内容
--- radiko.py.org    2015-02-15 20:35:21.000000000 +0900
+++ radiko.py    2016-10-27 12:40:21.423547231 +0900
@@ -6,7 +6,7 @@ import commands
 import xml.etree.ElementTree as ET
 
 def getCommand1(config):
-    playerurl="http://radiko.jp/player/swf/player_3.0.0.01.swf"
+    playerurl="http://radiko.jp/apps/js/flash/myplayer-release.swf"
     playerfile="/tmp/radiko_player.swf"
     keyfile="/tmp/radiko_authkey.png"
 
@@ -19,7 +19,7 @@ def getCommand1(config):
             exit(1)
            
     if not os.path.exists(keyfile):
-        command = "swfextract -b 14 %s -o %s" % (playerfile, keyfile)
+        command = "swfextract -b 12 %s -o %s" % (playerfile, keyfile)
         r = config.R(command)   
        
         if r is not 0:
@@ -32,8 +32,8 @@ def getCommand1(config):
     command = """\
 wget -q \
 --header="pragma: no-cache" \
---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" \
 --header="X-Radiko-User: test-stream" \
 --header="X-Radiko-Device: pc" \
 --post-data='\r\n' \
@@ -98,8 +98,8 @@ count=%d \
     command = """ \
 wget -q \
 --header="pragma: no-cache" \
---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" \
 --header="X-Radiko-User: test-stream" \
 --header="X-Radiko-Device: pc" \
 --header="X-Radiko-Authtoken: %s" \


sudo python -m compileall radiko.py

rm /tmp/radiko_player.swf