らじる★らじる m3u8 を ffmpeg で録音する(8放送局)2017/9 以降対応(2021/4更新)

NHKのネット配信サービスであるらじる★らじる

従来は https://gist.github.com/riocampos/5656450 のように rtmpdump を使う必要がありましたが、2017年9月から m3u8 というか HLS による配信へ変更されました*1。m3u8 なので10秒単位での録音になります*2。ので改めてエントリ(2022/2/23に M3U8URL の更新をしました)。

録音コマンド

まず m4a(mp4 AAC)の場合。

ffmpeg -i M3U8URL -c copy outputfilename.m4a

ファイルサイズ的に m4a が最も小さくなります。また m4a ファイルのときだけ "-c copy" オプションが使えます。
次に mp3 の場合。

ffmpeg -i M3U8URL -write_xing 0 outputfilename.mp3 

Mac かつ保存形式が mp3 ファイルの場合には、ファイルの時間表示を正しくさせるために "-write_xing 0" オプション必須。(参考: https://trac.ffmpeg.org/ticket/2697

ffmpeg コマンドに含まれる M3U8URL は以下の通りです。(2021/4以降*3

ラジオ第2(各放送局共通だがJOAK扱い*4
https://radio-stream.nhk.jp/hls/live/2023501/nhkradiruakr2/master.m3u8
札幌放送局(JOIK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023545/nhkradiruikr1/master.m3u8
札幌放送局(JOIK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023546/nhkradiruikfm/master.m3u8
仙台放送局(JOHK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023543/nhkradiruhkr1/master.m3u8
仙台放送局(JOHK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023544/nhkradiruhkfm/master.m3u8
東京放送局JOAK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023229/nhkradiruakr1/master.m3u8
東京放送局JOAKNHK-FM
https://radio-stream.nhk.jp/hls/live/2023507/nhkradiruakfm/master.m3u8
名古屋放送局(JOCK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023510/nhkradiruckr1/master.m3u8
名古屋放送局(JOCK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023511/nhkradiruckfm/master.m3u8
大阪放送局(JOBK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023508/nhkradirubkr1/master.m3u8
大阪放送局(JOBK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023509/nhkradirubkfm/master.m3u8
広島放送局(JOFK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023512/nhkradirufkr1/master.m3u8
広島放送局(JOFK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023513/nhkradirufkfm/master.m3u8
松山放送局(JOZK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023547/nhkradiruzkr1/master.m3u8
松山放送局(JOZK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023548/nhkradiruzkfm/master.m3u8
福岡放送局(JOLK)ラジオ第1
https://radio-stream.nhk.jp/hls/live/2023541/nhkradirulkr1/master.m3u8
福岡放送局(JOLK)NHK-FM
https://radio-stream.nhk.jp/hls/live/2023542/nhkradirulkfm/master.m3u8

なお M3U8URL は http://www.nhk.or.jp/radio/config/config_web.xml に記載されています。
また、これらの M3U8URLへのリンクをHLS対応のブラウザで開くと、各放送を直接聴けます*5。この辺りは radiko よりも気軽で良いですね。

例:大阪放送局のラジオ第1をm4aで5分(300秒)間録音する
ffmpeg -i https://radio-stream.nhk.jp/hls/live/2023508/nhkradirubkr1/master.m3u8 -to 300 -c copy r1.m4a

2021/3までのM3U8URL

参考のため残しておきます。が、2022/2/28で廃止されました。


いよいよ昨年更新した古い送信設備を停止する時が来ました。
今月(2月)28日未明に5.7.9以下のバージョンでは同時配信が聴けなくなります。

ラジオ第2OLD(各放送局共通だがJOAK扱い)
https://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8
札幌放送局(JOIK)ラジオ第1OLD
https://nhkradioikr1-i.akamaihd.net/hls/live/512098/1-r1/1-r1-01.m3u8
札幌放送局(JOIK)NHK-FM OLD
https://nhkradioikfm-i.akamaihd.net/hls/live/512100/1-fm/1-fm-01.m3u8
仙台放送局(JOHK)ラジオ第1OLD
https://nhkradiohkr1-i.akamaihd.net/hls/live/512075/1-r1/1-r1-01.m3u8
仙台放送局(JOHK)NHK-FM OLD
https://nhkradiohkfm-i.akamaihd.net/hls/live/512076/1-fm/1-fm-01.m3u8
東京放送局JOAK)ラジオ第1OLD
https://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8
東京放送局JOAKNHK-FM OLD
https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8
名古屋放送局(JOCK)ラジオ第1OLD
https://nhkradiockr1-i.akamaihd.net/hls/live/512072/1-r1/1-r1-01.m3u8
名古屋放送局(JOCK)NHK-FM OLD
https://nhkradiockfm-i.akamaihd.net/hls/live/512074/1-fm/1-fm-01.m3u8
大阪放送局(JOBK)ラジオ第1OLD
https://nhkradiobkr1-i.akamaihd.net/hls/live/512291/1-r1/1-r1-01.m3u8
大阪放送局(JOBK)NHK-FM OLD
https://nhkradiobkfm-i.akamaihd.net/hls/live/512070/1-fm/1-fm-01.m3u8
広島放送局(JOFK)ラジオ第1OLD
https://nhkradiofkr1-i.akamaihd.net/hls/live/512086/1-r1/1-r1-01.m3u8
広島放送局(JOFK)NHK-FM OLD
https://nhkradiofkfm-i.akamaihd.net/hls/live/512087/1-fm/1-fm-01.m3u8
松山放送局(JOZK)ラジオ第1OLD
https://nhkradiozkr1-i.akamaihd.net/hls/live/512103/1-r1/1-r1-01.m3u8
松山放送局(JOZK)NHK-FM OLD
https://nhkradiozkfm-i.akamaihd.net/hls/live/512106/1-fm/1-fm-01.m3u8
福岡放送局(JOLK)ラジオ第1OLD
https://nhkradiolkr1-i.akamaihd.net/hls/live/512088/1-r1/1-r1-01.m3u8
福岡放送局(JOLK)NHK-FM OLD
https://nhkradiolkfm-i.akamaihd.net/hls/live/512097/1-fm/1-fm-01.m3u8

おまけ

ffmpeg の各種オプションに関しては https://ffmpeg.org/ffmpeg.html を見てください。日本語だと FFMPEGのオプション (FFMPEG -H)|cagylogic (WebArchive) 辺りで充分かと。
-t オプションと -to オプションだけで済むと思いますが。余談ですが -t オプションと -to オプションの違いは -ss オプションなどで起点指定した場合に出てきます(詳しくは Seeking – FFmpeg 参照)。

*1:HLS のより詳しい解説は第95回 「らじる☆らじる」をHLS経由で:玩式草子─ソフトウェアとたわむれる日々|gihyo.jp … 技術評論社 をご参照ください。

*2:-toオプションなどを使うと10秒よりも短く区切れます。

*3:正確には2021/3/31更新のようです。参考のWebArchive:更新直前/更新直後

*4:なおNHK東京のラジオ第2コールサインはJOAB。コールサインについては全国放送局リンク<ラジオ局> 略称(愛称)/コールサイン/開局日/周波数一覧などをご参考に。

*5:iPhoneSafariiOS 10.3.3)ではバッファ時間による遅延が45秒でした。