Raspberry Pi で遊ぶ (7) —NHK ネットラジオを録音する—

前回 の設定で MPD を利用して Radiko の音源や SHOUTcast 等のインターネットラジオの放送が聴けるようになった。今回は NHK ネットラジオ (らじる★らじる) を録音して、MPD のライブラリに登録して聴いてみる。

基本的には Radiko の録音 とほぼ同じで RTMPDump を利用する。こちら の方のスクリプトを参考に利用させていただいた。スクリプトは一部変更している。

#!/bin/bash

URL="rtmpe://netradio-${1}-flash.nhk.jp"
PLAYURL="http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf"
DATE=`date '+%Y-%m-%d-%H:%M'`

if [ $# -eq 2 ]; then
  CHANNEL="$1"
  DURATION=`expr $2 \* 60`
  OUTDIR="."
elif [ $# -eq 3 ]; then
  CHANNEL="$1"
  DURATION=`expr $2 \* 60`
  OUTDIR="$3"
else
  echo "usage : $0 channel_name(r1|r2|fm) duration(minuites) [outputdir]"
  exit 1
fi

case $CHANNEL in
    r1) PLAYPATH='NetRadio_R1_flash@63346' ;;
    r2) PLAYPATH='NetRadio_R2_flash@63342' ;;
    fm) PLAYPATH='NetRadio_FM_flash@63343' ;;
    *) exit 1 ;;
esac

rtmpdump --rtmp "${URL}" \
         --playpath "${PLAYPATH}" \
         --app "live" \
         -W "${PLAYURL}" \
         --live \
         --stop "${DURATION}" \
         --flv "/tmp/${CHANNEL}_${DATE}"

avconv -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ar 44100 \
  -metadata album="NHK Radio" -metadata artist="Raspberry Pi" \
  "${OUTDIR}/${CHANNEL}_${DATE}.mp3"

if [ $? = 0 ]; then
  rm -f "/tmp/${CHANNEL}_${DATE}"
fi

# ここまで

このスクリプトを適当な名前 (ここでは rec_nhk_radio.sh) でパスの通ったところ (~/bin など) に配置して実行権を与えておく。

$ chmod +x ~/bin/rec_nhk_radio.sh
使用法: rec_nhk_radio.sh チャンネル(第1=r1, 第2=r2, FM=fm) 時間(分) 保存先(ディレクトリ)

「保存先」は指定がなければカレントディレクトリになる。

放送を定期的に録音するには cron を利用する。ピーター・バラカンさんの土曜日 7:20–9:00 A.M.の ウィークエンドサンシャイン を予約してみる。保存先は NAS に指定 (/mnt/storage/Radio)。

# NHK, Peter Barakan, Weekend Sunshine
19 7 * * 6 rec_nhk_radio.sh fm 101 /mnt/storage/Radio/NHK/FM

上のスクリプトの avconv の過程でタグ情報を追加しているのでアルバム “NHK Radio” に分類される。

MPD クライアント Ario から見た様子:

https://skalldan.files.wordpress.com/2013/03/wpid-ario_nhk_radio.png

タグ情報は何でもよいので適宜書き換えて下さい。

Advertisements

One thought on “Raspberry Pi で遊ぶ (7) —NHK ネットラジオを録音する—

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s