radiko.jp が 2020年11月末でAdobe Flashによる配信を停止させ、HLS配信のみになってしまいました。聴きたい番組はタイマーで自動録音して後から聴く派の私は、タイムフリー番組録音に切り替え、現在は、放送終了後、10分程度経過してから、スクリプトにより一気にダウンロードして、Podcastに登録→ 空き時間やバイクで移動中にiPodで聴取できるようにしています。iTunesに自動登録されるので手作業不要で便利。
ほとんどのケースでは、この仕組みで問題無いのですが、できればバックアップ目的でリアルタイム録音も行っておきたいところです。過去タイムフリー番組を聴取していると、確率は低いのですがシステム障害などで、リアルタイム番組では放送されている一部時間が、タイムフリーには空白になっていることに遭遇したことがあります。聞き逃したくない番組の場合は、リアルタイムにも録音しておきたいところです。
また、NHKや放送大学など、タイムフリーに対応していなくて、リアルタイム録音しか許可していない番組録音も、いつ録音が必要になるかわからないので準備しておきたいところです。
バックアップ手段候補
- Radika をHLS用に改造する(Windows Only)
- うる さん製作の、radish(radi.sh)を使う(FreeBSD/Linux)
今回は24時間サーバーにインストールして起動スクリプトを書くだけで使用できる、radish を使う事にしました。
radishを使うための設定
基本的には、
https://github.com/uru2/radish
に書いてあるとおりに作業を進めて行けば悩むところなし。
必要パッケージは、curl、libxml2、jq、ffmpeg ですが、curl, libxml2, ffmpeg は WordPressやすでに使用しているラジコタイムフリー録音に使っているパッケージなので、不足しているのは jq のみ。
pkg install jq
で、必要パッケージのインストールを終わらせます。
radi.sh をPATHが通ったディレクトリーにコピー。chmod 755 radi.sh で実行権を与えます。
radi.sh に手を着ける必要はないので、これだけでリアルタイム録音準備完了。
radi.sh は、ラジコの他、ラジコプレミアム、らじる★らじる、コミュニティーFMなどに対応しています。
radi.shで録音テストする
まず、radi.sh とタイプして、コマンドにPATHが通っていることを確認。
> radi.sh Usage: radi.sh [options] Options: -t TYPE Record type nhk: NHK Radidu radiko: radiko lisradi: ListenRadio jcba: JCBA simul radio shiburadi: Shibuya no Radio -s STATION ID Station ID -d MINUTE Record minute(s) -o FILEPATH Output file path -i ADDRESS login mail address (radiko only) -p PASSWORD login password (radiko only) -l Show all station ID list
上記のように確認できたら、radishサイトの実行例を見ながら、テストコマンドをタイプ。
-o オプションを使うのが面倒なので、cd /tmpで/tmp に移動した後でコマンド発行します。自動的にタイムスタンプ付きのファイルが保存されます。
民放ラジオテスト
radi.sh -t radiko -s TBS -d 3
- -t radiko でラジコを選択
- -s TBS で放送局コードを指定
- -d で録音時間を分単位で指定。
- 放送局IDはradi.sh -l で確認可能。
これで、コマンド発行時刻から、-d オプションで指定した時間、リアルタイム録音できます。テストなので、録音時間は3分。
NHKらじる☆らじるをテスト
radi.sh -t nhk -s tokyo-r1 -d 3
NHKに関しては、-t オプションを nhk に変更。-s オプションで放送局IDを指定。
保存ディレクトリに、放送局ID+タイムスタンプ.m4a ファイル名が出来上がっていれば成功。
自動録音する
私の場合、tcshスクリプトを使うので、まず、録音保存ディレクトリ ~/radish を作った後、TBSの「たまむすび」をリアルタイム自動録音するために、以下のようにスクリプトを準備します。スクリプトと言うよりコマンドの羅列ですね。エラー処理もしていないし。
> cat bin/radiko_tamamusubi.tcsh #!/bin/tcsh setenv PATH ${PATH}:/usr/local/bin:~/bin cd ~/radish radi.sh -t radiko -s TBS -d 150
一時間半番組なので、-d 150とします。ファイル名は、radi.sh のデフォルト値を使います。
また、バックアップ録音なので、Podcast化する後処理は無し。そのまま一定期間保存するだけ。
これを、crontab に設定して平日13:00に起動するように設定します。本日、テストしてみたところ、無事、録音出来ていました。
0 13 * * 1-5 $HOME/bin/radiko_tama.sh 2> /dev/null
これで、設定完了。
今年に入って、FreeBSDによるリアルタイム録音を復活させようと思っていたのですが、サーバートラブルやら、自作ルーター交換やら、スーパーカブの装備変更に時間をとられて延び延びになっていましたがようやく、テストと実装が出来ました。
radi.sh を開発された、うるさん(@uru_2)さんに感謝です。