台湾ラジオレコーダー

radikoNHKのらじるらじるを留守録するスクリプトは検索すると見つかるが、台湾のネットラジオを録音するのは台湾ではやってる人がいるみたいだがそのものずばりが見つからない。

いろいろ試行錯誤の結果、なんとかできたみたい。

参考

http://www.osslab.com.tw/VoIP/IP_PBX/%E8%BB%9F%E9%AB%94%E5%BC%8F_IP_PBX/Asterisk_-_%E5%85%8D%E8%B2%BB_IP_PBX_%E7%B6%B2%E8%B7%AF%E9%9B%BB%E8%A9%B1%E4%BA%A4%E6%8F%9B%E5%B9%B3%E5%8F%B0/Tips/%E5%BE%85%E6%A9%9F%E9%9F%B3%E6%A8%82_v.s_%E7%B6%B2%E8%B7%AF%E9%9B%BB%E5%8F%B0/MMS_Radio_with_mplayer

https://gist.github.com/matchy2/5310409

http://linux.matchy.net/archives/241

肝はmmsのurl取得だがダイナミックに取得するのはあきらめて、上のリストを使

わせてもらう。

スクリプト

[ken@linux bin]$ cat rec_fm98.sh

#!/bin/sh

pid=$$

date=`date '+%Y%m%d%H%M'`

playurl="mms://bcr.media.hinet.net/RA000073"

outdir="/home/kenhrd/doc/fm98/"

PATH="/usr/local/bin:/bin:/usr/bin:/home/kenhrd/bin"

if [ $# -le 1 ]; then

echo "usage : $0 station_name(FM98|Baodao) duration(minutes) [outputdir]

[prefix]"

exit

fi

if [ $# -ge 2 ]; then

station=$1

DURATION=`expr $2 \* 60 + 30`

fi

if [ $# -ge 3 ]; then

outdir=$3

fi

PREFIX=${station}

if [ $# -ge 4 ]; then

PREFIX=$4

fi

case $station in

"FM98")

url="mms://bcr.media.hinet.net/RA000073"

;;

"Baodao")

url="mms://bcr.media.hinet.net/RA000066"

;;

*)

echo "no station specified"

exit 1

;;

esac

echo $DURATION $station $date

(sleep ${DURATION}; echo -n q) | \

mplayer -nocache $url \

-benchmark -vo null -ao pcm:file="/tmp/${station}_${date}.wav" \

-really-quiet -quiet

ffmpeg -loglevel quiet -y -i "/tmp/${station}_${date}.wav" -acodec

libmp3lame -ab 128k "${outdir}/${PREFIX}_${date}.mp3"

if [ $? = 0 ]; then

rm -f "/tmp/${station}_${date}.wav"

fi