ラジオ番組を予約録音するのにMacのAudio Hijack Pro($32)を使っているのですが、たまに録音に失敗することがあったり、MBPが謎の再起動をすることがあったり、イマイチ安定しないのでCentOS上にRadikoの録音環境を作りました。
DropboxにコピーするようにしたのでMacやiPhoneからも簡単にアクセスできて、なかなか便利。
必要コマンドのインストール
yumでrtmpdump,swftools,ffmpegをインストールします。
$ sudo yum install -y rtmpdump swftools ffmpeg
パッケージが見つからないようならRPMforge/Remi/EPELをリポジトリへ追加してみてください。
Dropboxのインストール
Linux マシンに Dropbox をインストールを参考にしてDropboxをインストールします。アカウントとのリンクのため提示されたURLを開いたりする必要があります。
私は新規にDropboxのアカウントを取得してMP3の置き場を共有設定し、メインのアカウントから参照するようにしました。
無事に起動できたら、Dropboxdデーモンが自動起動するように/etc/rc.dあたりの設定もしておきます。
▼CUI の CentOS 6.4 minimal で Dropbox
録音スクリプトの準備
スクリプトは簡易Radiko録音スクリプトを使わせてもらいました。
$ wget https://gist.github.com/matchy2/3956266/raw/1b38b25eb954419b019cada7ba4081e88ea1fb16/rec_radiko.sh
$ chmod +x rec_radiko.sh
このスクリプトは放送局と録音時間などをパラメタから指定するとmp3を作成してくれます。例えば、
$ ./rec_radiko.sh LFR 30 /path/to/Dropbox/radiko test
とすると、ニッポン放送が30分間録音し、/path/to/Dropbox/radikoディレクトリ配下にMP3ファイルが出力されます。
4番目の引数はファイルのプレフィックスです。この場合、test_YYYY-MM-DD-HH_MM.mp3 というファイル名になります。番組名を指定すれば整理しやすいかな。
聴取できる放送局の識別子を調べる
録音のためには放送局の識別子を指定する必要があります。
Radikoはロケーションによって聴取可能なラジオ曲が制限されており、私が住んでいる神奈川はエリアコードJP14です。(radikomemo)
JP14の場合、http://radiko.jp/v2/station/list/JP14.xmlから聴取可能な放送局リストをXMLで取得できますので、それぞれの識別子を調べておきます。
ちなみに、JP14のリストは以下の通りです。
放送局識別子TBSラジオTBS文化放送QRRニッポン放送LFRラジオNIKKEI第1RN1ラジオNIKKEI第2RN2InterFMINTTOKYO FMFMTJ-WAVEFMJラジオ日本JORFbayfm78BAYFM78NACK5NACK5FMヨコハマYFM放送大学HOUSOU-DAIGAKU
予約録音
予約録音はcronを使います。
$ crontab -e
として、crontabを編集します。例えば、TBSラジオ毎週月曜日 25時00分~27時00分「JUNK 伊集院光 深夜の馬鹿力」を予約するなら、
00 01 * * 2 /path/to/rec_radiko.sh TBS 120 /path/to/Dropbox/radiko "JUNK 伊集院光 深夜の馬鹿力" >/dev/null 2>&1
とすればOKです。
これで安定するかなぁ。とりあえずお手軽なDropboxにしたけどownCloudにしても良いかもしれない。