Linux でらじる★らじるも録音しちゃう


2015/9/14: 録音できなくなっていることに気がついたので、こちらを参考に9月1日以降の仕様変更に対応しました
2015/9/20: なんかちゃんと録音できてなかったので、こちらを参考に全面的にスクリプトを修正しました
2015/10/14: rtmpdump が不安定なようなので、現時点で最新の開発バージョンの私家版rpmを作成しました。本記事の末尾を参照してください

先日の Linux で Radiko を録音する話の続きである。すぐに続けるつもりが随分たってしまった。

これまた先日書いたことだけど、このBlogのサーバーを移転したわけなんだけども、さくらの VPS が安くてそこそこ安定していて、個人利用には充分らしいという噂を Ruby / MySQL / Postfix 界隈の有名人であるとみたまさひろさん (日本OSS貢献者賞受賞おめでとうございます) からおききしていたので、そこにしたのである。

で、なんでも石狩にデータセンターがあるということで、石狩ってーとあれですか、北海道ですか。ミスターこと鈴井貴之氏のラジオ番組とか録音できるのかなあと思っていろいろ試したところ、北海道の放送は1つも入らず、首都圏の放送が録音できる状態だったので、なんだか良かったような悪かったような。

まあ今まで首都圏の番組を録音するのに利用してたサーバーはあんまり大きな声では言えないところのをゲリラ的に使っていたので(こらこら)、ほんのちょっとでも後ろめたいところがあるとこよりこっちのほうがもちろんいいわけで、まあ移転できて良かったんだけども。

さて、世間は新年度ということで、学生さんもぼちぼち学校はじまっているわけだけれども、ラジオに関して言うとNHK 第2放送なんかで語学の番組が新しい年度ということでリニューアルスタートをしているものが多かったりする。これを機にエエトシはこいているけれども、改めてラジオで語学の勉強をするのもいいかもなあ、こちとら工業高校卒なので、中学1年から英語をやり直すとか…などと夢想するのであった<夢想するだけかい。

というわけで、先日のスクリプトでは NHK は録音できないので、同じ塩梅で NHK のらじる★らじるを録音できるスクリプトを、これまた先達の成果をいろいろかすめとりつつ、Radiko のスクリプトと同じ形式にまとめてみた。

スクリプト

今回のスクリプトはこちら。例によって gist ってサイトを使っているので、リンク先の「raw」ってところをクリックして保存すればダウンロードできるみたいよ。

簡易らじるらじる(NHK)録音スクリプト (2015/09 以降版)

依存ツール

前回とほぼ同じなのだけれども、キモである rtmpdump というヤツが最新開発版でないとらじるらじるの録音ができないらしい。らじるらじるはFlash形式だけでなくaspxなWindows Media 配信もしているので、このスクリプトでは mplayer を使用している。ここに書いた追加リポジトリを使えるようにした上で、「sudo yum install mplayer」と実行して mplayer をインストールしよう。サーバーなのに使いもしない X 関係のライブラリがたくさん入ってしまうのがちょっと気に食わないけれども、rtmpdump の開発版を自分でビルドしなおすより面倒がないハズ。

前回と同じ

使い方

使い方はこんなカンジ。もちろん rec_nhk.sh に実行属性を付与しておくように。

./rec_nhk.sh チャンネル 録音時間(分) 保存先ディレクトリ ファイル名

第1引数は放送局のチャンネル指定。第2引数は分単位の録音時間。第3引数はファイルの保存先ディレクトリで、指定しなければカレントディレクトリに保存される。第4引数は番組名など、ファイル名にしたい文字列を指定する。HOGEHOGEと指定すれば保存されるファイル名は HOGEHOGE_日付.mp3 だし、指定しなければファイル名はチャンネル_日付.mp3 の形式になる。

つまり、NHK-FM日曜 8:10~9:00 放送の『吹奏楽のひびき』を録音したければ、以下のようなカンジで crontab に登録すれば良いハズだ。

10 08 * * Sun /foo/bar/bin/rec_nhk.sh FM 50 /foo/bar/data SUISOGAKU_NO_HIBIKI

スクリプトの中身を見てもらうとわかるが、mplayer は rtmpdump と違って録音時間を指定できないので、sleep コマンドと組み合わせて同等機能を実現している。んが、なんか思っているより短めになってしまうようで、それはらじるらじるが正確な時間より気持ち早めに配信されているからなのかもしれないが、念のため指定より15秒長く録音するように細工してあるので、途中で切れてしまうことはないハズ。まちょと覚悟はしておけ。というかイヤなら1分余分に指定しておいた方が良いかもしれない。うんNHKはCMがない分、時間がシビアみたいだ。

チャンネル一覧

指定するチャンネルは次のとおり。

  • 第1放送 — NHK1
  • 第2放送 — NHK2
  • NHK-FM — FM
  • 仙台第1放送 — NHK1_SENDAI
  • 仙台NHK-FM — FM_SENDAI
  • 名古屋第1放送 — NHK1_NAGOYA
  • 名古屋NHK-FM — FM_NAGOYA
  • 大阪第1放送 — NHK1_OSAKA
  • 大阪NHK-FM — FM_OSAKA

私家版rpm(暫定)

rtmpdump の動作が不安定なようなので、2015年10月14日時点の git の HEAD から私家版 rpm を作成しました。以下のようなカンジでお使いくださいな。あ、もちろんなにか問題あっても責任はとれませんってことで。

sudo rpm -ivh http://www.matchy.jp/repos/yum/el5/i386/matchy-release-1-0.2.noarch.rpm
sudo yum install rtmpdump

CentOS/RHEL 5 (i686/x86_64)、6 (i686/x86_64)、7 (x86_64) のバイナリを作ったつもりです。

次回は…

さてこれで録音はNHKも含めてできるようになった。保存先も前回書いたようにBoxを使えばサーバーのディスクを浪費することもない。次はこれを便利に聴く方法、つまり Podcast 化する方法を紹介したい。気長にお待ちを….

関連記事


,
24 comments on “Linux でらじる★らじるも録音しちゃう
  1. NHKが8月途中から急に聞けなくなってどうしたものかと思っていましたが、記事を見て納得しました。
    さっそく対応の記事を書いていただき、ありがたいです。
    無事動くようになりました。ありがとうございました。

  2. こちらもNHKが9月から録音出来ず、この記事の情報でやってみましたが、10秒ぐらいで終了してしまいます。
    Linuxディストリビューションはcentos5ですが、これも関係していますでしょうか。

    • ああっホントだ切れてる!!!これはイカンですね。mplayerがイマイチっぽい。むしろrtmpdumpでできるようになっているという噂があるのでそっちでスクリプト組み直してみます。しばしお待ちを

        • さっそくの修正ありがとうございます
          初心者のためrtmpdump2.4のインストールに
          戸惑いましたが結果オーライでできました
          ばっちりです
          またリナックスラジオ生活に戻れます

  3. ありがとうございます。修正版rtmpdumpでやって見ました。手動でシェル実行しましたが、問題なく録音出来たり、接続時に止まってしまったり、安定しませんね。
    WARNINGが出るのが気になります。
    下記の場合は、途中1.41secで止まった画面です。
    ————————————————————————-
    WARNING: No application or playpath in URL!
    Connecting …
    WARNING: HandShake: Type mismatch: client sent 6, server answered 9
    INFO: Connected…
    Starting Live Stream
    For duration: 62.000 sec
    INFO: Metadata:
    INFO: audiodatarate 48.00
    INFO: audiocodecid mp4a
    9.233 kB / 1.41 sec

  4. あの後スクリプト使いやすいように編集して何回か実行してみましたが、今は安定しているようです。訂正してお詫びします。但し、こちらの環境ではCronで実行する場合、rtmpdumpやffmpegはフルパスにしておかないと実行出来ませんでした。

  5. 本日、cronで18時から115分NHK第一放送を予約録音を試みましたが失敗でした。
    接続の所で、固まるようです。
    時間帯なのか、設置環境なのか・・皆さんの所は安定してますか。

  6. 当方は安定しています CentOS6.6 32bit
    rtmpdump2.4が必要だったので
    http://memorandum.yamasnet.com/archives/Post-1383.html
    を参考にインストール
    rtmpdumpは/opt/rtmpdump/に入ったのでスクリプト中でフルパス指定しました
    それ以外はオリジナルのままです

    rtmpdumpは以下のメッセージが出ています Cron で1分指定です
    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    WARNING: No application or playpath in URL!
    Connecting …
    WARNING: HandShake: Type mismatch: client sent 6, server answered 9
    INFO: Connected…
    Starting Live Stream
    For duration: 75.000 sec
    INFO: Metadata:
    INFO: audiodatarate 48.00
    INFO: audiocodecid mp4a
    0.909 kB / 0.09 sec
    2.242 kB / 0.30 sec
    中略
    468.132 kB / 74.80 sec
    WARNING: Larger timestamp than 24-bit: 0xfffffeb6
    469.179 kB / 74.97 sec
    Download complete

      • 当方もrtmpdumpはV2.4を使用していまして、DTIのServerMan@vpsのレンタルサーバでcentos5 3.2bit版の環境です。
        本日、昼過ぎの番組は問題なく録音出来ていました。
        もう少し、様子を見ることにします。

  7. ラズパイ(Raspbian)で、rtmpdump v2.4 を使っていますが不安定です。
    録音しないで、パイプで mplayer に繋いでラジオとして聞いてみても
    症状は変わらないようです。(時々は、OKです)
    rtmpdump の問題でしょうか? しばらく様子を見ています。

  8. いろんなはなしをきくと、rtmpdump の git から新しいのをビルドすればいいらしいという話がありますね。時間ができたら私家版 rpm を作ってみようかな

    • というわけで最新開発版rtmpdumpの私家版rpm (RHEL/CentOS用) を作ってみました。安定して録音されてる気がします。debian 系の方は…とりあえず野良ビルドされてみてはいかがでしょーか。気が向いたらそのうちPPAかなんか作ります

  9. MATCHYさんの私家版rpm使用させて頂き安定して動き出しました。ありがとうございます。
    ところで、録音スクリプトのffmpegでmp3に変換したあと、NHKFMがモノラルに変換されてしまいます。他の人はどうでしょうか。
    -ac 2のオプションを付けてもだめです。
    コーデックを使用せず、-acodec copyでm4aへ変換しても良いのですが、音量が小さい感じがします。それで-volを付けて音量を上げようと思ったのですが、何をしてもダメなようです。

    • 最近録音するばかりでなかなか聴く時間がないんですけど(汗)こちらではそんなことないような気がします。なんででしょうね??

  10. デコードしないm4aとデコードしたmp3に変換した音源をiPodへ転送してみて聞いて気が付きました。
    mp3はステレオ感が全くない感じです。rajikoのFM局スクリプトでffmepg変換したmp3はこのようなことないのですが・・・らじるの基音源の問題か??

コメントを残す