PF-50WG によるラジオ視聴

[`google_buzz` not found]
[`friendfeed` not found]
このエントリーをはてなブックマークに追加
[`yahoo` not found]
[`livedoor` not found]

PF-50WGでネットラジオ(radiko)を聴けるようにしてみた。

自宅は電波状況が悪くラジオがノイズだらけ。radiko によるラジオ放送はすごく便利。
ただし、radikoを聴くためだけにネットブック+外付けスピーカーを居間に置く必要があるし、
聞き始めや聞き終わりに毎朝PCの操作をする必要があるというのは面倒だった。

PF-50WGには、音楽やムービーの再生にMPlayerが入っている。http通信に対応したコンパイルがされているので、これをそのままネット再生に使える。

そこで、PF-50WGで自動で毎朝ラジオを鳴らすようにしてみた。

ただし、radiko のラジオはMPlayerでは直接再生できないので、再エンコードを行う中間サーバーを用意する。
下記はFreeBSDで行っているが、rtmpdump、ffmpeg が動く環境ならどこでも使えると思う。
参考サイト: コンソールで radiko.jp を鳴らす & 録音するchumby で radiko を聴く その3

中継サーバの設定

% sudo portinstall rtmpdump
% sudo portinstall ffmpeg
% mkdir public_html/radiko
% vi ABC.cgi
% vi .htaccess

ABC.cgi の内容

#! /bin/sh
echo 'Pragma: no-cache'
echo 'Content-Type: audio/aac'
echo ''

tune="ABC"

(/usr/local/bin/rtmpdump  \
	--rtmp rtmpe://radiko.smartstream.ne.jp:1935 \
	--playpath simul-stream \
	--swfUrl http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf \
	--pageUrl http://radiko.jp/player/player.html#${tune} \
	--app ${tune}/_defInst_ \
	--flashVer LNX 10,1,53,64 \
	--live \
	--stop 10800 \
| /usr/local/bin/ffmpeg \
	-i - -vn -f adts -ar 48000 -ab 24000 -ac 1 -acodec libfaac - ) 2>/dev/null

.htaccess の内容

deny from all
allow from 192.168.
allow from 127

動作確認

Windows上のVLC Player から、http://<サーバのIPアドレス>/~taka2/radiko/ABC.cgi を開いて、ラジオが聴けることを確認

PF-50WGでの再生設定

月曜~金曜の6時に再生を開始し、9時に再生を終了するようにする。
改造ファームウェアでは、「定時」ではなく「起動時から1時間ごとに実行」しているので、そのままでは正確な時間指定ができないが、
PF-50WGのタイマー起動で6時に電源オンするようにしている。
PF-50WGにログインしての作業

# /mnt/LStorage/sknand
# vi radiko-abc

radiko-abc の内容

#! /bin/sh
week_start=1
week_end=5
hour_start=6
hour_end=9
week=`/bin/date +%u`

if [ $week -lt $week_start -o $week -gt $week_end ]; then
	exit
fi
hour=`/bin/date +%H`
if [ $hour -eq $hour_start ]; then
	/sky/mplayer -cache 64 http://<サーバのIPアドレス>/~taka2/radiko/ABC.cgi &
fi
if [ $hour -eq $hour_end ]; then
	killall mplayer
fi

以上で、平日の毎朝6時~9時に、ABC(大阪朝日放送)「おはようパーソナリティ道上洋三です」が聴けるようになった。