NHKの語学講座をLinuxで録音する

NHKの語学講座を聞いてみようかなと思いたち,調べてみると,実に簡単でした。

録音するコマンド

らじるらじる m3u8 を ffmpeg で録音する(8放送局)2017/9 以降対応 · GitHub

たったの1行コマンドで録音ができてしまいます。

 ffmpeg -i M3U8URL -write_xing 0 outputfilename.mp3

 M3U8URLのところに,上のページで紹介されているそれぞれの放送局のURLをいれるだけです。語学講座は第2放送なので,リンク先のページに載っている第2放送のURLにです。outputfilename.mp3は保存するファイルネームにしてください。

タイマー録音

タイマー録音したかったので,こういうスクリプトを用意して,実行権限を付与しました。

recordnhk.sh

#! /bin/bash

var_date=`date ‘+%Y%m%d’`
ffmpeg -t 17:00 -i https://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8 -write_xing 0 ~/Music/${var_date}.mp3 

 これを実行すると,ラジオ第2放送を17分間録音して,~/Musicディレクトリに日付.mp3というファイル名で保存します。

このスクリプトをcrontabに登録すれば,PCが立ち上がっていれば,自動的に録音してくれます。例えば,月曜日から金曜日まで毎日お昼の0時39分から17分間録音するようにしておけば,入門ビジネス英語の1分前から録音を開始して,終了1分後までの音声ファイルが出来上がります。

crontab -e

で,crontabの設定ファイルを開き,

 

と書き加えて保存すると,月曜から金曜まで自動で録音してくれます。

PCの自動起動

PCが自動的に電源が入るようにすれば,完全に録音を自動化できます。いろいろ調べたところ,私のiMacでは,rcwakeコマンドで自動で電源が入るようにできました。

 rtcwake –date 20180807090000 -m off

 で,平成30年8月7日の午前9時に自動で電源が入ります。

毎回打ち込むのが面倒なので,こういうスクリプトを作りました。

## タイマー起動の設定
#曜日の取得
dow=`date ‘+%w’`
#起動日時のセット
if [ ${dow} -lt 5 ] ; then
wakeuptime=`date –date=’tomorrow’ ‘+%Y%m%d’ `090000
elif [ ${dow} -ge 5 ] ; then
wakeuptime=`date –date=’next Monday’ ‘+%Y%m%d’`090000
fi
sudo rtcwake –date ${wakeuptime} -m no
echo ‘Set auto wake up time to ‘${wakeuptime}

これを起動時に実行させるようにすると,全自動で月曜から金曜まで9時にPCの電源が勝手に入ります。オートログインするようにしていないと,パスワード入力画面でとまったままですので,オートログインするようにしておく必要が有ります。出張などで,1日電源を入れない日は,crobtabに録音が終わった時刻に電源が自動で切れるように設定しておけばよいかと思います。