radiko録音(ダウンロード)への道 その3

いよいよダウンロードです

認証したトークンを使用して、データをダウンロードします
なお、ダウンロードにはffmpegを使うので、必要に応じてインストールしてください

ダウンロードする前に、再生する場合の動作を見てみます。

HTTPヘッダにX-Radiko-AuthTokenを指定した状態で、

https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=放送局ID&l=15&ft=開始時刻(yyyymmddhhss)&to=終了時刻(yyyymmdd)

を取得します。

このファイルの中身は、

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=52973,CODECS="mp4a.40.5"
https://radiko.jp/v2/api/ts/chunklist/hogehoge.m3u8

のようになっていて、更にm3u8を取得すると、

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2018-06-23T10:00:00+09:00
#EXTINF:5,
https://media.radiko.jp/sound/b/放送局ID/20180623/20180623_100000_oFUdP.aac
#EXT-X-PROGRAM-DATE-TIME:2018-06-23T10:00:05+09:00
#EXTINF:5,
https://media.radiko.jp/sound/b/放送局ID/20180623/20180623_100005_8fa2c.aac
#EXT-X-PROGRAM-DATE-TIME:2018-06-23T10:00:10+09:00
-- snip --

と、いくつものチャンクのURLが記載されています。

ここに記載されたaacを順に取得して再生をしています。

さて、ダウンロードですが、ffmpegを使用してplaylist.m3u8を取得すれば、aacを1つのファイルに結合してくれます。

ffmpeg -headers "X-Radiko-AuthToken: Step2で認証成功したX-Radiko-AuthToken"
 -i "https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=放送局ID&l=15&ft=開始時刻(yyyymmddhhss)&to=終了時刻(yyyymmdd)"
 -acodec copy 出力ファイル.aac

ね、簡単でしょ。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする