らじこを録音してiPhoneに転送する方法

Macで、らじこを録音してiPhoneに転送する環境を作ったときのメモ。


追記:
急にうまくいかなくなった。
また仕様が変わったんだろうか。
とりあえず今は下記の通りやってもうまく動きません。



なぜらじこを録音したかったかというと、
いつもPodCasthttp://www.avanti-web.com/TBS RADIO AM954 + FM90.5 | URL変更のお知らせを聴いているんだけど、
PodCastのやつは抜粋版なので、本編を聴きたくなってやってみた。

うちにはAMもFMもラジオと録音環境がないところにらじこのサービスが始まったからということでもある。


テレビでは聞けない「おもしろい話」が聴けるので最近ハマっている。


ちなみに、他には伊藤洋一さんのPodCastは全部聞いてる。
あとは、ぽんすちとかiPhone小町とか。



本題
PodCastはいつも倍速(iPhoneで2xと表示されるモード)で聴いてるので、同じように倍速化をする。


作り方

1.Macportsをインストール。Snow LeopardにアップグレードしたときにManports環境が壊れていたので、全削除して作り直し。

2.wavをmp3に変換するffmpegをインストール
sudo port -d install ffmpeg +lame +xvid +x264

3.wavの再生速度を変えるsoxをインストール

4.ストリームを録音するrtmpdumpをインストール
svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
cd rtmpdump/
make posix
sudo cp -p rtmpdump /usr/bin


録音の仕方

1.録音
/usr/bin/rtmpdump -qvr rtmpe://radiko.smartstream.ne.jp/TBS/_defInst_/simul-stream -o TBS`date +%Y%m%d%H%M`.flv -B 60 --stop 7200

TBSの部分を以下のように変えると選局できる
FMJ J-WAVE
TBS TBSラジオ
QRR 文化放送
LFR ニッポン放送
NSB ラジオNIKKEI
INT INTERFM
FMT TOKYO FM

stopパラメータは録音したい番組の長さ(秒)。7200=2時間。

ちなみに、録音中のflvファイルをVLC等で再生すると、リアルタイム(正確にはタイムシフト)で聴くことができる。


2.wav取り出し
できたFLVファイルを変換していく
ffmpeg -i TBS201005231010.flv TBS201005231010.wav


3.倍速化
sox TBS201005231010.wav TBS201005231010_1.wav tempo 1.5 30
tempoの後のパラメータ、1.5にするとiPhoneiPodPodCastを2xで聴いてるスピードになる。
つまり普段聴いてるのは1.5倍なんだね・・・ 倍速にしては遅いと思ってたけど・・・


4.mp3に変換
ffmpeg -i TBS201005231010_1.wav -ab 128 TBS201005231010.mp3


5.mp3ファイルをiTunesにドロップ→iPhoneを同期



cronで毎週録音
crontab -e
59 9 * * 0 /usr/bin/rtmpdump -qvr rtmpe://radiko.smartstream.ne.jp/TBS/_defInst_/simul-stream -o TBS`/bin/date +\%Y\%m\%d\%H\%M`.flv -B 60 --stop 7200 > cron.log 2>&1

変換までを一気にやるシェルスクリプトにした方がいいんだろうけど、しばらくはこれで。



実際やってみて気がついたんだけど、mp3を曲として登録するのではなく、
mp3ファイルをPodCast化してiTunesに登録できれば、倍速化は要らないし、途中で止めても再生位置を覚えていてくれるし、聞き終わったら削除できるので便利そう。
何かXMLを書けばいいと思うんだけど、よく知らないのでこれについてはまた今度。