radigoについて
radigoとは、 https://github.com/yyoshiki41/radigo にて公開されているradiko録音・再生用のCUI、コマンドラインのツールになります。
READMEにはdocker環境で動作するように記載されていますが、Rapberry Pi( Rasbian ) で試したところ、どうもうまく動作しませんでした。
そこで、ソースコードから導入してみましたので、その記録です。
goのインストール
Rapberry Pi には、試したところ、README 通りでもインストールできないようでした。
調べてみると、どうやらRaspberry PiのCPUアーキテクチャがARMな為のようです。
また、GitHubのreleasesにはradigoのARM用のバイナリは置いていません。
そこで、Goをインストールしてgo getでradigoをインストールします。
ちなみにRapberry Piのアーキテクチャはarmv7lでした。
uname -m armv7l
apt-get で goをインストールします。
sudo apt-get install golang
その後、radigoをインストールします。
go get github.com/yyoshiki41/radigo/cmd/radigo/...
インストールしたradigo がぱっと使えるようにパスを通しておきます。
vim ~/.bashrc export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin source ~/.bashrc
動作確認してみます
radigo area Area ID: JP40 +----------------------+----------------+ | NAME | STATION ID | +----------------------+----------------+ | RKBラジオ | RKB | | KBCラジオ | KBC | | ラジオNIKKEI第1 | RN1 | | ラジオNIKKEI第2 | RN2 | | LOVE FM | LOVEFM | | CROSS FM | CROSSFM | | FM FUKUOKA | FMFUKUOKA | | 放送大学 | HOUSOU-DAIGAKU | | NHKラジオ第1(福岡) | JOLK | | NHK-FM(東京) | JOAK-FM | +----------------------+----------------+
まずはOK!
依存ツールのインストール
録音するにはffmpegとrtmpdumpが必要のようですのでインストールします。
sudo apt-get install ffmpeg rtmpdump
結構な数のライブラリとあわせてインストールされます。
実際に録音してみる
試しに録音してみます。
radigo rec-live -id=FMFUKUOKA -t=1 Now downloading.. +------------+---------------+ | STATION ID | DURATION(SEC) | +------------+---------------+ | FMFUKUOKA | 1 | +------------+---------------+ - Completed! /home/pi/output/20191122005155-FMFUKUOKA.aac
Macで再生してみたところ、問題ないようですね!
CRONで毎週自動録音を
以下のようなシェルスクリプトを用意します。
vim save_radigo.sh #!/usr/bin/env bash cd $HOME # 現在日付より前の曜日をそれぞれ指定 export ONAIR_DATE_MON=`date --date 'last monday' +'%Y%m%d'` export ONAIR_DATE_TUE=`date --date 'last tuesday' +'%Y%m%d'` export ONAIR_DATE_WED=`date --date 'last wednesday' +'%Y%m%d'` export ONAIR_DATE_THU=`date --date 'last thursday' +'%Y%m%d'` export ONAIR_DATE_FRI=`date --date 'last friday' +'%Y%m%d'` export ONAIR_DATE_SAT=`date --date 'last saturday' +'%Y%m%d'` export ONAIR_DATE_SUN=`date --date 'last sunday' +'%Y%m%d'` # あ、安部礼司 $GOPATH/radigo rec -id=FMFUKUOKA -s=${ONAIR_DATE_SUN}170000
あとはcronで毎週実行するようにすればOKです。
CRON動作のログが初期状態では出力されないようなので rsyslog.conf内のcron記載がコメントアウトされていたら、コメントアウトを外します。
sudo vim /etc/rsyslog.conf #cron.* /var/log/cron.log ↓ cron.* /var/log/cron.log
rsyslogを再起動してログ出力を有効化します。
sudo /etc/init.d/rsyslog restart
cronログレベルの設定
sudo vim /etc/default/cron EXTRA_OPT="-L 15"
設定変更後に、デーモンの再起動を行います。
sudo /etc/init.d/cron restart
cronの動作設定をします。
書式は 分、時、日、月、曜日 コマンド
crontab -e #m h dom mon dow command 0 0 * * 2 /home/pi/bin/save_radigo.sh
シェルスクリプトに実行権限を与えておくのを忘れずに!
chmod 755 /home/pi/bin/save_radigo.sh
動作結果は
sudo less /var/log/cron.log
で確認できます。