LoginSignup
13
14

More than 5 years have passed since last update.

NHKらじるらじるをタイマー録音〜Googleドライブ転送

Last updated at Posted at 2019-04-13

これまではRadikoを使ってNHKのラジオ講座をタイマー録音していたのですが、2019年4月より、ラジオ第二(JOAB)のRadioの配信が終了しまったので、らじるらじる単体でタイマー録音するようにしてみました。

タイマー録音はライズパイを使います。録音が終わったら自動的にGoogleドライブに転送して、出先からスマホを使っていつでもどこでも聞けるようにします。
機材やパッケージのインストールはこちらを参考にしてください。

らじるらじる録音スクリプト

rec_radio.shを参考にm3u8urlで録音するしたスクリプトです。アルバム名などのメタデータも追加しています。録音完了後にGoogleドライブに転送して完了です。

rec_nhk.sh
#!/bin/bash

LANG=ja_JP.utf8

DATE=`date '+%Y-%m-%d-%H_%M'`
OUTDIR="."

if [ $# -le 1 ]; then
  echo "usage : $0 channel(NHK-FM | NHK-R1 | NHK-R2) duration(minuites) [outputdir] [prefix]"
  exit 1
fi
if [ $# -ge 1 ]; then
  CH=$1
  M3U8URL=""
  if [ ${CH} = "NHK-FM" ]; then
    # TOKYO NHK-FM
    M3U8URL="https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8"
  fi
  if [ ${CH} = "NHK-R1" ]; then
    # TOKYO R1
    M3U8URL="https://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8"
  fi
  if [ ${CH} = "NHK-R2" ]; then
      # TOKYO R2
      M3U8URL="https://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8"
  fi
  if [ -z ${M3U8URL} ]; then
    echo invalid channel name.
    exit 1
  fi
fi
if [ $# -ge 2 ]; then
  DURATION=`expr $2 \* 60`
fi
if [ $# -ge 3 ]; then
  OUTDIR=$3
fi
PREFIX=${CH}
if [ $# -ge 4 ]; then
  PREFIX=$4
fi

echo "channel:  "${CH} 
echo "duration: "${DURATION} 
echo "outdir:   "${OUTDIR} 
echo "prefix:   "${PREFIX} 

ffmpeg -i ${M3U8URL} -to ${DURATION} -metadata genre="Radio" -metadata artist="${CH}" -metadata album="${PREFIX}" -c copy "${OUTDIR}/${PREFIX}_${DATE}.m4a"

if [ $? = 0 ]; then
  /home/pi/gdrive upload "${OUTDIR}/${PREFIX}_${DATE}.m4a"
fi

タイマー録音

録音スクリプトをcronに設定します。配信に遅延があるので、sleepで開始タイミングを調整しています。

crontab
30 8 * * 1-5 sleep 30; /home/pi/rec_nhk.sh NHK-R2 10 radio TimeTrial
55 12 * * 1-5 sleep 30; /home/pi/rec_nhk.sh NHK-R2 5 radio e-news
0 23 * * 2 sleep 30; /home/pi/rec_nhk.sh NHK-FM 50 radio MISIA-hoshizora

参考

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14