Tako can fry!

とほほ・・・

pcDuino でも radiko を録音したい

Raspberry Pi なら結構簡単に radiko を録音できるようになるけど、pcDuino の場合、ちょっと余計な手順を踏まなければならないので、覚書として熟々と。
ちなみにうちの pcDuino には、32GB の SD カードに pcduino_ubuntu_mmc_20130531 のイメージを書き込んだものを使用している。

rec_radiko.sh のインストール

Raspberry Pi なら次の手順で実行していけば、rec_radiko.sh で radiko を録音できるようになるけど、pcDuino では swftools がないのでビルドする必要がある。
参考: http://shinyamatsuyama.blogspot.jp/2013/06/raspberrypiradiko.html

$ sudo apt-get install rtmpdump swftools libxml2-utils ffmpeg
$ cd ~/bin
$ wget https://gist.github.com/raw/3956266/0dc83895770e26a7c37104d896a150c8bb1dffbb/rec_radiko.sh
$ chmod +x rec_radiko.sh

rec_radiko.sh の編集

/bin/bash にする必要があったり、ファイル名にコロンが使われていると samba で共有したときにファイル名がちゃんと表示されなかったりするので、少々編集する必要あり。
ffmpeg の代わりに avconv を使うついでに metadata を指定したり、44.1kHz、64kbps で記録するように変更した。

#!/bin/bash
:
date=`date '+%Y%m%d-%H%M'`
:
avconv -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ar 44100 -ab 64k \
  -metadata album="Radiko" -metadata genre="ラジオ" \
  "${outdir}/${date}_${channel}.mp3"

swftools のビルド・インストール

pcDuino で swftools をビルドして、インストールする手順はこんな感じ。
参考: http://d.hatena.ne.jp/toolkit/20090813/p1
swftoolshttp://www.swftools.org/

$ sudo apt-get install libfreetype6-dev libgif-dev libjpeg62-dev libt1-5 zlib1g-dev libavifile-0.7-dev libart-2.0-dev
$ wget http://www.swftools.org/swftools-0.9.2.tar.gz
$ tar zxf swftools-0.9.2
$ cd swftools-0.9.2
$ ./configure
$ make
$ sudo make install

make install のときに実はエラーが出てくるので、swfs/Makefile を編集して、rm コマンドの行で -o 以降を削除しなければならなかった。

libmp3lame のインストール

いざ録音してみると libmp3lame がないと言われるので、これもインストール。
参考: http://d.hatena.ne.jp/rougeref/20130610/1370859123

$ sudo apt-get install libavcodec-extra-53

rec_radiko.sh で録音

お手本通り、TBS ラジオを 1 分間、録音してみてファイルができれば OK かな。

$ rec_radiko.sh TBS 1 ~/

とりあえず局の一覧はこんな感じらしい。(関東だけ?)

TBS:TBSラジオ
QRR:文化放送
LFR:ニッポン放送 1242
NSB:ラジオNIKKEI
INT:INTER FM
FMT:TOKYO FM
FMJ:J-WAVE
JORF:ラジオ日本 1422
BAYFM78:bayfm78
NACK5:NACK5
YFM:FMヨコハマ

cron で予約録音

cron の設定方法は適当にググっていただきたい。

$ crontab -e

毎週土曜深夜24:30(日曜の00:30)のモーニング女学院から120分。
毎週日曜深夜24:30(月曜の00:30)のベリーズステーション1422から50分。
録音したファイルを ~/Music にひとまず突っ込んでおく。

30 0 * * 0 /home/ubuntu/bin/rec_radiko.sh JORF 120 /home/ubuntu/Music
30 0 * * 1 /home/ubuntu/bin/rec_radiko.sh JORF 50 /home/ubuntu/Music

minidlna のインストール

録音したファイルを DLNA で共有したいので minidlna をインストールする。

$ sudo apt-get install minidlna

/etc/minidlna.conf の該当箇所をこんな感じで編集。

media_dir=A,/home/ubuntu/Music
:
friendly_name=pcDuino

これで予約録音した radiko を他の PC や、よく活用している iMito MX1 から再生できるようになった次第。
あと、情報によると、minidlna.conf を編集した後は、/var/lib/minidlna/files.db を削除してから restart したほうがいいんだとか。