Skip to content

Latest commit

 

History

History
86 lines (65 loc) · 3.09 KB

README.md

File metadata and controls

86 lines (65 loc) · 3.09 KB

radish

NHKラジオ らじる★らじる / radiko / ListenRadio / 渋谷のラジオ で現在配信中の番組を保存するシェルスクリプトです。なお配信形式と同じフォーマットで保存するため、別形式へのエンコードは行いません。

必要なもの

  • curl
  • libxml2 (xmllintのみ使用)
  • jq
  • FFmpeg (3.x以降 要AAC,HLSサポート)

使い方

$ ./radi.sh [options]
引数 必須 説明 備考
-t SITE TYPE 録音対象サイト nhk: NHK らじる★らじる
radiko: radiko
lisradi: ListenRadio
shiburadi: 渋谷のラジオ
-s STATION ID 放送局ID -l オプションで表示されるID
渋谷のラジオは指定不要
-d MINUTE 録音時間(分)
-i MAIL ラジコプレミアム ログインメールアドレス 環境変数 RADIKO_MAIL でも指定可能
-p PASSWORD ラジコプレミアム ログインパスワード 環境変数 RADIKO_PASSWORD でも指定可能
-o PATH 出力パス 未指定の場合カレントディレクトリに 放送局ID_年月日時分秒.(m4a or mp3) というファイルを作成
拡張子がない場合または配信側の形式と異なる場合には拡張子を自動補完します
-l 放送局ID/名称表示 結果は300行以上になります、また取得は(割と)重いです

実行例

NHK らじる★らじる
$ ./radi.sh -t nhk -s tokyo-fm -d 31 -o "/hoge/foo.m4a"
radikoエリア内の局
$ ./radi.sh -t radiko -s LFR -d 21 -o "/hoge/$(date "+%Y-%m-%d") テレフォン人生相談.m4a"
radikoエリア外の局 (ラジコプレミアム)
$ ./radi.sh -t radiko -s HBC -d 31 -o "/hoge/foo.m4a" -i "foo@example.com" -p "password"
radikoエリア外の局 (ラジコプレミアム 環境変数からログイン情報設定)
$ export RADIKO_MAIL="foo@example.com"
$ export RADIKO_PASSWORD="password"
$ ./radi.sh -t radiko -s HBC -d 31 -o "/hoge/foo.m4a"
ListenRadio
$ ./radi.sh -t lisradi -s 30058 -d 30 -o "/hoge/foo.m4a"
渋谷のラジオ
$ ./radi.sh -t shiburadi -d 30 -o "/hoge/foo.mp3"

注意点

録音手法については2019/5/25時点での調査結果であり、対象サイトの仕様変更等で利用できなくなる可能性もありますのであらかじめご了承ください。
また渋谷のラジオの録音時にではffmpegから "Application provided invalid, non monotonically increasing dts to muxer in stream" というメッセージが吐き出されるのですが、音声は聴けるようなのでとりあえずそのままにしています。

動作確認環境

  • Ubuntu 18.04.2 LTS
    • curl 7.58.0
    • xmllint using libxml version 20904
    • jq 1.5-1-a5b5cbe
    • ffmpeg 4.1.3-0york1~18.04
  • FreeBSD 12.0-RELEASE
    • curl 7.65.0
    • xmllint using libxml version 20908
    • jq 1.6
    • ffmpeg 4.1.3

作った人

うる。 (@uru_2)

ライセンス

MIT License