2019/4/14追記:2019年4月より、RadikoによるNHKラジオ第二(JOAB)が終了しています。らじるらじるを録音する方法はこちらを参考にしてください。
はじめに
ラズパイでラジオ録音に挑戦してみます。
これまでPCを使ってRadikoをタイマー録音していたのですが、スリープ復帰に失敗することがあったのですが、PCを起動しっぱなしにしておけば、するわけにもいかず・・・
それじゃラズパイでいいじゃんということで、やってみます。
使用機材
- Raspberry Pi Zero W (PI 3とかでもOKです)
- Micro SDカード 16GB
Google Driveの認証のためにラズパイ上でブラウザを使うので、ラズパイに物理的にアクセスする環境も必要です。
- mini-HDMI-HDMI変換ケーブル
- Micro USB-USB A変換ケーブル
- キーボード、マウス(USBハブがなかったので抜き差しで対応。ほんとは良くないかも)
- 液晶モニター
パッケージを最新化
念のためラズパイのパッケージを最新化しておきます。
$ sudo apt-get update
$ sudo apt-get upgrade
必要なパッケージをインストール
ラジオ録音に必要なパッケージをインストールします。
$ sudo apt-get install rtmpdump
$ sudo apt-get install swftools
$ sudo apt-get install libxml2-utils
$ sudo apt-get install ffmpeg
$ sudo apt-get install libavcodec-extra
Radiko録音スクリプトをダウンロード
gitでスクリプトをダウンロードします。
$ git clone https://gist.github.com/3956266.git
スクリプトに実行権を与えます。
$ chmod 755 rec_radiko.sh
お試しで、NHKラジオ第一を1分間録音してみます。
$ ./rec_radiko.sh JOAK 1
こんな感じで出力されます。
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
WARNING: No application or playpath in URL!
Connecting ...
WARNING: Trying different position for server digest!
INFO: Connected...
Starting Live Stream
For duration: 60.000 sec
INFO: Metadata:
365.842 kB / 60.03 sec
Download complete
「WARNING: No application or playpath in URL!」という警告が出ていますが、良しとします。
留守録設定(タイマー録音)
cronで留守録をしかけます。
$ crontab -e
編集例
0 23 * * 2 sleep 15; /home/pi/rec_radiko.sh JOAK-FM 50 radio NHKFM-MISIA
sleepを入れていますが、Radikoはストリーミングの時差があるので、開始時刻の補正用です。自分の環境では15秒遅らせると、ぴったり番組の開始時間と合いました。
Googleドライブにアップロード
ブラウザを使ってGoogle Driveの認証が必要なためラズパイのGUIが必要です。ラズパイのGUI上のターミナルで作業をします。
$ cd ~
$ wget -O gdrive https://docs.google.com/uc?id=0B3X9GlR6EmbnVXNLanp4ZFRRbzg&export=download
gdriveに実行権を与えます。
$ chmod 755 gdrive
Google Driveを認証します。コマンドを実行すると、URLのリンクが表示されるので、ブラウザに開いて認証します。ブラウザに表示されたアクセスコードをコマンドに貼り付けるとgdriveコマンドが使えるようになります。
$ ./gdrive about
録音スクリプトを変更します。録音終了後にGoogle Driveにアップロードするように書き換えます。
if [ $? = 0 ]; then
rm -f "/tmp/${channel}_${date}"
# この行を追加
/home/pi/gdrive upload "${outdir}/${PREFIX}_${date}.mp3"
fi
さいごに
ラズパイでしばらく運用していますが、非常に安定しています。録音に失敗したことはほぼゼロです(Raspberry PIゼロだけに:)。ただし、Radikoの仕様変更がたまにあるので、録音スクリプトが使えなくなる可能性がありますので、注意してください。
それでは、素敵なラジオライフを!