cronでbash scriptを定時に起動する
まずはscriptの方ですかね。
nao@debianalt:~$ cat nhk/rajiei
#!/bin/bash
date=`date '+%m%d'`
ffmpeg -loglevel quiet -i 'https://simul2.drdi.st.nhk/live/5/joined/audio/media.m3u8' -y -t 1020 -codec copy /mnt/nas/english/"ラジオ英会話${date}.m4a"
重要なのはurlで
https://simul2.drdi.st.nhk/live/5/joined/audio/media.m3u8
これをブラウザで開いても再生可能ですよ。あるいはffmpegの相棒のffplayの入力に指定してもおけです。

cronの定時起動は、
44 6 * * 1-5 nhk/rajiei 1> /dev/null 2> /dev/null
とかのcronのスクリプトでおけです。毎週月~金の午前6:44から起動で、録音時間は17分間です。
-t 1020
で60*17=1020ですね。開始が6:45分から15分間なので、頭切れや尻切れを回避するためにこの設定で動かしてみました。出来たファイルは、

上の方が今回録音されたファイルでこのままダブルクリックすれば再生できます。

大昔に経験した再生が途切れたりワープすることもなく今回は快適に再生できました。ネット環境が格段に改善したこともあるかもしれません。録画ファイルがディスク容量を食うのも欠点です。拙作のらじる☆らじる聞き逃しサーチアプリを使う方が柔軟かなあ。
streamなので、VLC Media Playerでも再生できます。メディア->ネットワークストリームを開くで、

で、“再生”で聞けます。ということは、何度か取り上げたlibvlc wrapperを使ってC++ Builderから再生するアプリは数行で書けます。


コメント