2014年3月23日日曜日

NHKのラジオ講座を cron と vlc を用いて自動で録音する

基本的に下のサイトを参考にしました.

ShellScript - NHKネットラジオをVLCで録音するスクリプト - Qiita


しかし,シェルを直接実行すると録音できるのに,cron で回すと失敗する.
調べてみると,下の人とまったく同じ症状のようだ.

NHKラジオ英会話を録音するまでの軌跡 Part3 - Jupitris on Laboratory



一時間ぐらい悩み,英語のサイトも色々と調べてみるも解決しない.

そこでふと・・・,「バックグラウンドで実行したらどうなる?」と思いつき早速試してみると



あっさり成功!



では以下,ソースコードです.

まずは実行するシェル.( ${HOME}/bin/english.sh )
#!  /bin/bash

#   録音時間:15分+30秒
TIME=$(( 15 * 60 + 30 ))

#   ディレクトリ,およびファイル名指定
DIR=${HOME}/English
FILE=${DIR}/$(date +%Y-%m%d-%H%M).mp3

#   ディレクトリが存在しなければ作成
if [ ! -e ${DIR} ];then
    mkdir -p ${DIR}
fi

#   ストリーミング先
STREAM="mms://a57.l12993246056.c129932.g.lm.akamaistre
am.net/D/57/129932/v0001/reflector:46056"

#   エンコードの設定
SOUT="#transcode{acodec=mp3}:std{access=file,mux=raw,dst=${FILE}}"

#   録音実行
/usr/bin/cvlc ${STREAM} :sout=${SOUT} --run-time ${TIME} vlc://quit

exit 0


そして,肝心の crontab -e は以下のようにセットする.
15 9 * * 3-5 ${HOME}/bin/english.sh &

なお,実行時間は「実践ビジネス英語」に合わせている.


さらに,これらを Raspberry Pi に実装して,Dropbox-Uploader も使えば
常に最新版がスマホで聞けるようになる.

素晴らしいの一言ですね.

0 件のコメント:

コメントを投稿