ffmpeg を使えばradikoをmp3ファイルに録音することができる
- この記事はmacOS想定
- ffmpegさえ利用可能にすればWindowsやLinuxでも使えるのでは
Homebrew のインストール
必須ではないが便利
macOS
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ffmpeg のインストール
macOS
brew instal ffmpeg
インストールできたかの確認
macOS
ffmpeg -version
ffmpeg version N.N Copyright (c) 2000-YYYY the FFmpeg developers
録音したファイルを置く専用フォルダを用意して移動
macOS
$ cd Desktop
$ mkdir radio
$ cd radio
radikoを録音する
デベロッパーツールを開き、Networkタブへ移動する
表示 > 開発 / 管理 > デベロッパー ツール
"Network"タブを表示する
録音したいradikoをChromeブラウザで開く
http://radiko.jp/#!/live/hoge
m3u8のURLを取得する
Networkコンソールにchunklistを表示する
フィルターにm3u8
を指定すると便利
m3u8を右クリックしてcURLを取得する
Copy > Copy as cURL
ffmpeg コマンドラインの構築に必要な情報を抽出する
コピーしたcURLは以下のようになる
curl 'http://f-radiko.smartstream.ne.jp/hoge/_definst_/simul-stream.stream/chunklist_hogehoge.m3u8' -H 'Origin: http://radiko.jp' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36' -H 'Accept: */*' -H 'X-Radiko-AuthToken: hogehogehogehoge' -H 'Referer: http://radiko.jp/' -H 'Connection: keep-alive' --compressed
ffmpeg コマンドラインを構築する
上記の情報を以下のように再構築する
ffmpeg \
-headers 'Origin: http://radiko.jp' \
-headers 'Accept-Encoding: gzip, deflate' \
-headers 'Accept-Language: ja,en-US;q=0.8,en;q=0.6' \
-user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" \
-headers 'Accept: */*' \
-headers 'X-Radiko-AuthToken: hogehogehogehoge' \
-headers 'Referer: http://radiko.jp/' \
-headers 'Connection: keep-alive' \
-i "http://f-radiko.smartstream.ne.jp/hoge/_definst_/simul-stream.stream/chunklist_hogehoge.m3u8" \
-vn \
radio.mp3
実際は各々の環境で異なる箇所のみ変更すれば良い。具体的には
- user_agent
- X-Radiko-AuthToken
- m3u8のURL
録音する
macOSのターミナルを開き、上記コマンドを実行する。
停止するには q
を押す
確認する
フォルダ内を覗くと
radio.mp3
ができているはず
高度な操作
[ffmpeg Documentation] (https://ffmpeg.org/ffmpeg.html#Options)
にたくさんオプションが説明されている