curlとjqとffmpegを使ってNHKらじる☆らじる聞き逃しのストリームを録音するスクリプト

Git for WindowsのBashを使います

をWindows環境で実行するという話です。

別記事で述べたようにGit for Windowsをインストールしている前提です。

まずどこかにフォルダーを作ります。名前はなんでもいいですが、”nhk rajiru”とでもしておきますか?Windowsのファイルエクスプローラーで、その作ったばかりのフォルダーに入って、右クリック。

上図でうっすら見えているように、“Open Git Bash here”を選択。

ターミナルのように見えますが、”bash”です。vi rajiruとすると、

修正した後のファイルが見えていますが、OUTDIR=”./”は、現在のディレクトリに出力するという部分ですが、お好きな場所に変更していただいておけです。見にくいので、変更後のスクリプトを掲載しておきましょうね。

#!/bin/bash

DATE=`date '+%Y%m%d_%H%M'`
OUTDIR="./"


first=$(curl -s "https://www.nhk.or.jp/radio-api/app/v1/web/ondemand/series?site_id=PMMJ59J6N2&corner_site_id=01")
results=$(echo $first | jq '.episodes[].stream_url' | sed -n 5p)
title=$(echo $first | jq '.episodes[].program_title' | sed -n 5p)
temp="${results%\"}"
temp="${temp#\"}"
#echo ${results}
temp2="${title%\"}"
temp2="${temp2#\"}"
echo $temp2
c:/ffmpeg/bin/ffmpeg -loglevel quiet -y -http_seekable 0 -i ${temp} -vn  -bsf aac_adtstoasc -acodec copy "${OUTDIR}/${temp2}.m4a"

あと最終行のffmpegの呼び出しは、ffmpegの在処を示してください。他にjqも必要ですが、Windowsのバイナリをパスの通った所においてください。jqは、


jq

から。bashから

docna@Lavie-note MINGW64 ~/Dropbox/nhk rajiru
$ which jq
/c/WINDOWS/system32/jq

等となればOKです。ffmpegは出力がうるさいので、-loglevel quietを追加してます。起動してみましょうかね?

Readableなファイル名でセーブできていますね。ファイルエクスプローラーから再生してください。筆者の環境では20秒程度で録音できました。Bashの設定によっては、ファイル名とか文字化け(なつかしいですね)するので、うまくいった設定例を示しておきます。

Bashのタイトルバーを右クリックすると上図のメニューが出るので、Options…

TextでLocaleをja_JPにcharacter setをUTF-8に、

UI languageをNoneに、

そのままファイルをダブルクリックすると、

コメント