LoginSignup
6
10

More than 5 years have passed since last update.

RaspberryPiでらじるらじる(m3u8)を聞く方法

Last updated at Posted at 2018-05-15

2018年5月現在コマンドライン環境でHLS(HTTP Live Streaming).m3u8形式の配信をパッケージアプリケーションで簡単に受信する方法をメモします。2018年3月でradikoでの配信実験が一旦終了し12日後に再編再開されました。中断期間もありましたし、今の配信実験も期間が定まっているため本家サービス側m3u8への対応の手順です。より各種リソースやナレッジが豊富なIAマシンやDebian/Ubuntu等OSでも同様にvlc/ffmpegで動作すると思います。
インタラクティブに再生だけかプロセス間通信とかできるならdefaultインストールされているomxplayerで再生できますが、ストリームメディアの場合止めない限り止まらないのです。難しいことせずに止まるプレーヤー探しました。

環境

-Raspberry Pi
-Raspbian jessie / stretch GUI無し
-スピーカー

リアルタイム再生

vlcのコマンドライン版でvlcに画面出力無しのオプションをつけたエイリアスのcvlcを使います。vlcのパッケージにcvlcも入っています。vlcが入っていない場合はapt-getでインストールします。jessieではupdateしてから、
stretchは定期自動updateだと思うのでupdateは任意で。

 sudo apt-get update
 sudo apt-get -y install vlc

再生実行方法

cvlc <m3u4のURL>

らじるらじるのURLはhttp://www.nhk.or.jp/radio/config/config_web.xmlにあります。

視聴時間を指定する場合

cvlc --run-time <秒> <m3u4のURL>

これだけだとcvlcの再生が停止するだけでcvlcは終了しません。

cvlc --run-time <秒> <m3u4のURL> vlc://quit

vlc://quitをつけるとcvlcが終了します。cron実行で目覚ましや学習にどうぞ。

結構カラフルなwarnやerrorが出ます、気になる場合--quietで抑制してください。

録音

こちらを参照させていただきました。
 らじるらじる m3u8 を ffmpeg で録音する(8放送局)2017/9 以降対応

Raspbian stretchの場合は各種エンコーダ、デコーダをサポートしたパッケージがリポジトリにありましたのでffmpegをインストールします。

sudo apt-get -y install ffmpeg

録音実行方法

使い方についても上記サイトどおりで、録音時間を秒で設定します。

ffmpeg -i <m3u4のURL> -t <秒> -c copy <m4a出力ファイル名>

こちらもcronでスケジュールが可能ですね。

Raspbian jessieの場合

Raspbian jessieのリポジトリにはffmpegのパッケージが無いようです。ソースからビルドする必要があります。以下のサイトの全自動スクリプトがRaspberry Piでも動作しました。こちらを利用させていただきます。

 自分に負けないラボラトリー LinuxでFFmpegをほぼ全自動でビルドする(CentOS、Ubuntu等に対応)
説明には

64bit版(amd64)のLinux OSで実行して下さい。32bit版(i386)ではビルドに失敗します。

と記載ありましたが、ARM32のRaspbianでもだいたい動作しました。一点、x265の途中で止まってしまいました。

 Umbrella RaspberryPi Pi3でlibx265 リベンジ
こちらのサイトのCMakeListsの修正点を反映させると通ります。しかしながら、H.265エンコードは非力なRaspberry Piでは途方もなく時間がかかり実用的ではないので、全自動ビルドスクリプトでenable_h265=0として無効にしたほうがよいともいます。

この全自動ビルドスクリプトのままではhttpsのm3u8が取得できないので全自動ビルドスクリプトの最後のほうの./configureに --enable-openssl \を追加します。
 sudo apt-get install libssl-dev でsslのライブラリを追加した後全自動スクリプトを実行するか手動でmake installまで動かせば当初の目的のm3u8受信録音可能なffmpegが完成します。この全自動スクリプトでは専用の場所にインストールされるので使い方に記載のPATHを通しておいてください。

ちなみに、本家Raspberry PiサイトからMPEG2ハードウェアライセンス(£2.40)を買って、起動ファイルに設定したうえでRaspbian stretchのパッケージのffmpegやビルド時に--enable-mmal --enable-omx --enable-omx-rpiが追加されたffmpegではRaspberry Pi 3でもHD動画のリアルタイムデコード+エンコードが一応可能でした。

注意

環境にもよると思いますが、らじるらじる は感覚的にはradikoよりさらに遅延しているようです。私の場合ラジオ波と比べて1分ぐらいは遅れている感じです。お尻が切れないように余裕持たせてください。

参照

GitHubGist riocampos らじるらじる m3u8 を ffmpeg で録音する(8放送局)2017/9 以降対応

自分に負けないラボラトリー LinuxでFFmpegをほぼ全自動でビルドする(CentOS、Ubuntu等に対応)

Umbrella RaspberryPi Pi3でlibx265 リベンジ

メモ

6
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
10