Giter Club home page Giter Club logo

radish's Introduction

radish

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

必要なもの

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

使い方

$ ./radi.sh [options]
引数 必須 説明 備考
-t SITE TYPE 録音対象サイト nhk: NHK らじる★らじる
radiko: radiko
lisradi: ListenRadio
jcba: JCBAインターネットサイマルラジオ
shiburadi: 渋谷のラジオ
-s STATION ID 放送局ID -l オプションで表示されるID
渋谷のラジオは指定不要
-d MINUTE 録音時間(分)
-i MAIL ラジコプレミアム ログインメールアドレス 環境変数 RADIKO_MAIL でも指定可能
-p PASSWORD ラジコプレミアム ログインパスワード 環境変数 RADIKO_PASSWORD でも指定可能
-o PATH 出力パス 未指定の場合カレントディレクトリに `放送局ID_年月日時分秒.(m4a
-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 "[email protected]" -p "password"
radikoエリア外の局 (ラジコプレミアム 環境変数からログイン情報設定)
$ export RADIKO_MAIL="[email protected]"
$ 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"
JCBAインターネットサイマルラジオ
$ ./radi.sh -t jcba -s JCB001 -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

radish's People

Contributors

uru2 avatar

Forkers

acloserview

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.