TOKYO FMなどのタイムフリーをffmpegでダウンロードする
TOKYO FMなどの過去の放送(タイムフリー)をダウンロードする
方法は、すでに私が発見したものがあります。WEBではffmpegに
よる方法が紹介されており、この方法も面白いので紹介します。
ただ、この方法で使用するオプションは、ffmpegの公式サイトに
もなく、裏のオプションらしく、幽霊のようなものです。従って
その動作に保証はありません。実際に、昨日まで動作していたもの
が、急に動作しなくなった---などという例があります。しかし、
こちらのほうはスクリプトによる自動化ができ、少し便利ですが、
すでに紹介した私の方法のほうが、ダウンロードのスピードは速い
ようです。
さてその方法ですが、下記のサイトを参考にして下さい。
http://blog.hanpen.net/radiko-jp%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%95%E3%83%AA%E3%83%BC%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B/
この中の-headersというのが、裏のオプションです。このオプションに
X-Radiko-AuthTokenの文字列を渡すため、FirefoxのF12キーを押して
デバック環境を開き 、“ネットワークウィンドウ”を開きます。このデ
バック環境というのが、少し面倒です。解説にあるバッチファイルは、私
が作成したスクリプトにより、自動的に作成されますので、上記サイトを
参考にして、スクリプトの指示に従って下さい。
さて、下記のバッチファイルとスクリプトをNotePadなどにコピーして
それぞれバッチファイルはCMD k radiko-DOWNLOAD.bat、32BitのOSの場合はCMD k radiko-DOWNLOAD-32bitOS.bat、スクリプトはRadiko-download.jsとしてffmpegと同じフォルダに保存します。
****バッチファイル****
32BitのOSは
CMD /k C:\Windows\System32\WScript.exe Radiko-download.js
それ以外
CMD /k C:\Windows\SysWOW64\WScript.exe Radiko-download.js
*****スクリプト****
WScript.Echo(" F12を押してデバック環境を開き、ネットワークウィンドウを表示してから該当の番組を再生して、 playlist.m3u8のURLをコピーした後、何かキーを押して下さい");
var objIE = new ActiveXObject ('InternetExplorer.Application');
objIE.Navigate ('about:blank');
while (objIE.Busy) WScript.Sleep (10);
var _textarea = objIE.document.createElement ("textarea");
objIE.document.body.appendChild (_textarea);
_textarea.focus ();
_textarea.innerText = "";
objIE.execWB (13, 0);
var strUrl1 = _textarea.innerText;
WScript.Echo("playlist.m3u8のURLを右クリックし 編集して再送信(E) を選択し、デバックウィンドウの右半分にあるX-Radiko-AuthToken文字列をコピーした後、何かキーを押して下さい");
_textarea.focus ();
_textarea.innerText = "";
objIE.execWB (13, 0);
var strUrl2 = _textarea.innerText;
objIE.Quit ();
var wsh = new ActiveXObject("WScript.Shell");
var cmdtxt = "ffmpeg.exe -headers \"" + strUrl2 + "\" -i " + strUrl1 + " -acodec copy output.aac"
wsh.run(cmdtxt);
**************
使い方は簡単で、該当の番組を表示後上記のバッチファイルをダブル
クリックで起動し、指示に従います。output.aacができるファイルです。
操作はplaylist.m3u8のURLをコピーし、X-Radiko-AuthToken文字列を
コピーするという、たった2回のものです。