RadikoPad: ラジコタイムフリーを録音する Windowsツール

(2017/11/11)Radiko.jp 参加放送局データを更新しました。

エリアフリー、タイムフリーと機能拡張しているラジコですが、解放されている機能に不満に感じるリスナーも多いと思います。特に番組録音に関しては、リアルタイム録音ツールに選択肢があるものの、録音忘れ、録音失敗した後のリカバリー選択肢としてはタイムフリーをWebブラウザーから聞くしかありません。

スキルがある人やアナログ録音で我慢できる人は、ユーティリティプログラムを組み合わせたり(昔ながらの)ライン録音でタイムフリー番組を録音することが出来ますが、単に番組を聴きたいリスナーレベルでは困難な状況でした。(と思います。)

私個人は、録音失敗に備え、複数マシンで録音するということで回避していますので、ラジコに関しては安定配信だけして欲しいと言う立場で、タイムフリーの3時間制限とか、有料でのエリアフリーとか気に入らない点もあるサービスだと感じています。

先日、当サイトに時々コメントして頂いている方から、「Radiko 関係のユーティリティを作ったよ」と紹介がありました。

内容を読んでびっくり、「ラジコタイムフリー番組コンテンツを簡単にダウンロードできる」ツールでした。

  • タイマー録音していたけど、何かの要因で失敗していた。どうしよう!
  • 番組放送後で、タイムフリーで聞いたものの、一発聴取じゃなくて永久保存しておきたくなった!
  • 録音(保存)しておいて、友人にも聞かせたい!

というような場合に使え、3時間制限やストリーミングのみという制限を突破できるじゃないですか。

RadikoPad 概略

使い方を簡単に紹介すると、RadikoPad を起動。Webブラウザーでラジコタイムフリーの番組リストを表示し、保存したい番組をRadikoPad にドラッグアンドドロップしたあと、「ダウンロード」ボタンを押すだけ。

RadikoPad でラジコタイムフリー番組をダウンロード

放送時間 1時間に対し、約20MB のファイルが .m4a または .aac形式で生成されます。
私の環境では、20倍から40倍速でダウンロード出来ました。

RadikoPad 録音ファイル

ダウンロードが完了したら、こっちのもの。
このままWindowsメディアプレイヤーで再生してもいいし、iTunes にドラッグアンドドロップで登録してiPodに入れて持ち出すなど自由に扱うことが出来ます。

複数同時ダウンロードも出来るので、最高です。

しくみ

RadikoPad は、このサイトでも紹介した Proxomitron + Radika改で、再びRadika で Radiko.jp とらじる★らじる を復活させてくれたラジコリスナーの珍宝堂さんが作成された、ラジコタイムフリー保存用ツールです。

ツール単体で、ラジコタイムフリーダウンロードが出来るわけではなく、RadikoPad 自体はラジコタイムフリーWebサイトに対してダウンロードコマンドを発行するだけで、実際にサーバーと通信・ファイル保存しているのは、ffmpeg.exe  です。要するに、ラジコタイムフリーWebページの番組情報を解析して、下請けコマンド(ffmpeg.exe)に対してダウンロードパラメータを渡しているのが RadikoPad というわけです。

そのため、RadikoPadを使うためには、(現バージョンではユーザー自身が)フリーツールの ffmpeg.exe を追加インストールする必要があります。

ラジコタイムフリー番組を保存できずにいたリスナーには待望のツールと言えます。現在 ver 1.0.3 です。

動作環境

開発環境は、WindowsXP(つまり 32bit アプリケーション)とのことですが、Windows XP/Vista/7/8.x/10 で使用できます。
私は、32bit Windows10 Home、64bit Windows7 Pro、32bit Windows XP で動作することを確認しました。XPと10で動くので、他のバージョンや64bit Windows でも問題ないと思います。

詳しくは、zip ファイルに同梱されている ReadMe.txt を読んで下さい。

インストール方法

ダウンロード(v.1.0.3 Updated on 2017/11/11)

まず、ツールをダウンロードする必要があります。
当サイトは、再配布する許可を頂きましたので、次のリンクからダウンロード出来ます。

オリジナル

オリジナルアーカイブです。利用者自身で ffmpeg を入手するか、別アプリに同梱されて既にインストールされているものを使用してください。(568,510バイト)

RadikoPad103.zip

ffmpeg付き

http://ffmpeg.org/ からダウンロード済み ffmpeg 3.2.2 32bit版 をRadikoPad フォルダーに同梱し、番組保存用として Recordフォルダー作成済みです。(15,027,691 バイト)

RadikoPad103_ffmpeg.zip

ffmpeg ver.2.8.5 付属(WindowsXP用 )

RadikoPad103_ffmpegXP.zip

ffmpeg ver. 3.3.2 + RadikoPad を WindowsXP 上で使用すると、「ダウンロード」ボタンを押したのちエラーになります。(14,330,865 バイト)プロシジャ エントリ ポイント GetNumaNodeProcessorMaskEx がダイナミックリンクライブラリ KERNEL32.dll から見つかりませんでした。「プロシジャ エントリ ポイント GetNumaNodeProcessorMaskEx がダイナミックリンクライブラリ KERNEL32.dll から見つかりませんでした。」
これは ffmpeg ver3.3.2 が WinXPでは動作しないためと推測し、添付する ffmpeg バージョンを 2.8.5 のものに変更し、この組み合わせで WinXP上で動作することを確認しました。

インストール場所

自身のアカウント権限で書き込みが出来る場所なら、どこでもOK。

使い方

  1. ダウンロードし、解凍した RadikoPad フォルダーを開きます。RadikoPad 初期フォルダー
  2. ffmpeg.exe をインストールし、ラジコタイムフリー番組を保存するフォルダーを作成します。RadikoPad フォルダーに ffmpeg と録音フォルダーを追加
  3. RadikoPad.exe を起動します。
  4. オプションメニューから、ffmpeg と 保存フォルダーを登録します。RadikoPad ツール、オプションメニュー
    (1) ffmpeg.exe の場所と、保存フォルダーの所在を登録します。
    v.1.0.2 以降「放送局ごとにサブフォルダーを作る」オプションが追加されています。
    放送局ごとにサブフォルダーを作りたい場合はチェックします。(2) Radika風の保存ファイル名設定ルールを導入しました。
    キーワードフィールドの行をダブルクリックすると、カーソル位置にキーワードが挿入されます。
    従来のRadikoPad ファイル名も今まで通り選択できます。(3) ダウンロードが出来ない場合など、「ffmpegのログを出力する」にチェックを入れると、ffmpeg コマンドの出力をファイルに保存できます。
    ログファイルは巨大になりますので、正常動作している場合は、チェックを行わないことをお勧めします。
    RadikoPad 設定画面
  5. 聴取エリアを指定します。
    厳密には、ドラッグアンドドロップモードだけで使用する場合 判定は不要ですが、時刻指定モードを使用する場合は必要になるので、この時点で判定しておきます。RadikoPad のエリア判定
  6. ラジコタイムフリー Webページを開きます。
    A) 番組表をそのまま使う
    ラジコタイムフリープログラムを開く
    B) 番組検索を使い、その結果画面を利用する
    Radikoタイムフリー 番組検索結果
  7. 番組をドラッグして、RadikoPadにドラッグ。
  8. 解析されたプログラムがffmpeg に渡されてコマンド画面が表示されるので、放置か最小化しておきます。RadikoPadがffmpegを呼び出す
  9. ネットワーク速度、サーバー負荷、同時ダウンロード数にもよりますが、20倍速〜40倍速でダウンロードが完了します。.aac 拡張子で保存されます。.m4a 形式を選択することも出来ます。
  10. 「時刻指定」メニューを利用すると、番組単位ではなく 放送局、保存開始日時、終了日時 を指定して保存することも出来ます。
    つまり、帯番組を一週間分まとめてダウンロードしたいケースでは、ドラッグアンドドロップ保存よりもこっちの使い方の方が便利だと思います。v.1.0.3でプリセット機能が追加されました。
    番組全体を録音したくない場合、例えば番組開始1時間経過後〜30分間のゲストコーナーだけ録音したいようなケースは、時刻指定モードを使うと部分録音可能です。
    また、二つ(以上)の連続した短い番組を日本まとめて一つのファイルに録音することも出来ます。(この場合、ファイル名は最前番組が使用されます。)
  11. RadikoPadを90分以上放置していると、ラジコタイムフリーサーバーとの認証が終了し、ダウンロードが出来なくなります。その場合は、CTRLボタンを押しながらダウンロードボタンを押して下さい。再認証が行われ、RadikoPadを再起動したのと同じ状態になります。

トラブルシューティング

録音に失敗する場合、まず、当サイト内コメント欄に同様の事例が既に報告されており、解決方法が記述されていないかを確認して下さい。当ページのコメント欄を使用する場合、最低でも

  1. 使用しているRadikoPadのバージョン
  2. 使用OS と使用ブラウザー
  3. 聴取エリアと居住区域、ラジコプレミアム利用の有無
  4. 聴取ラジオ局
  5. 録音できない番組
  6. ffmpeg のエラー出力
  7. 困っていること

くらいは書き込んで下さい。
例えば、たまたまRadiko.jp のサーバーがダウンするなどして、Webブラウザーのラジコタイムフリーページから再生出来ない番組は、RadikoPad を使っても録音出来ません。
RadikoPad で録音出来ない場合、コメント欄に書き込む前に、

  1. Webブラウザーから目的の番組を再生出来るのか?
  2. 別のブラウザーを使って同じ操作を行った場合はどうなのか?
  3. 録音したい番組と同じ放送局の別の番組は録音出来るのか?
  4. ドラッグ&ドロップ モード、時刻指定モード のどちらも録音出来ないのか?
  5. 同時間帯の他局の番組を録音出来るのか?

などの、確認を行って下さい。

サポート

私は RadikoPad 開発者ではありませんが、このページのコメント欄をサポート用に解放しますので、使いにくい点、改善して欲しい点、追加して欲しい機能などを、なぜ改良して欲しいと感じたのか具体的に記述して投稿して頂ければ幸いです。

現時点では、他サイトでの再配布を許可されていません。

 

更新履歴

2017/03/02 不具合修正

  • 「ラジコ タイムフリー番組表をドラッグ&ドロップする場合、24時をまたぐ番組処理に問題がありましたが、修正されました。」ver 1.0.0 → ver 1.0.0.1
    lifewithunix.jp 管理人により、オリジナル、ffmpeg、ReadMe の差し替えしました。
  • WindowsXP + ffmpeg 3.3.2 の組み合わせでエラーが発生することを回避するために、ffmpeg バージョンを 2.8.5 のものに変更しました。

2017/03/14 仕様変更

  • 1.0.0.2 へバージョンアップ。ラジコサーバーとのハンドシェークが変更になったそうです。

2017/03/26

2017/04/03 仕様変更

  • v.1.0.1 で発生した、時刻指定モードで、OSのタイムスタンプの時刻フォーマットが H:mm:ss に設定されている場合、0-9時の番組をダウンロード出来なかった症状を修正するため、OSのタイムスタンプフォーマットとRadikoPad を切り離し、必ず HH:mmで設定されるようになりました。
  • 2017/04/03 に Radiko.jp に参加した3つのFM局(FM青森、FM愛媛、μFM)が RadikoPad dataフォルダーに追加されました。

2017/04/17 バージョンアップ

2017/05/06 バージョンアップ

Comments

  1. radikopadを便利に使っています。
    今年に入ってからかと思うのですが、エリアフリーで番組を取得できなくなりました。自分のエリアの番組はダウンロードできます。
    以下ffmpegのログを取りました。他にしらべる事などはありますでしょうか?

    ffmpeg started on 2018-01-12 at 12:27:11
    Report written to “ffmpeg-20180112-122711.log”
    Command line:
    “C:\\Users\\1103sakamoto\\Documents\\RadikoPad\\ffmpeg.exe” -headers “X-Radiko-AuthToken: urozLFoMf4_PBp6NNLBI8g” -i “https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000” -acodec copy -bsf aac_adtstoasc “C:\\Users\\1103sakamoto\\Documents\\RadikoPad\\Record\\2018\x94N01\x8c\x8e11\x93\xfa(\x96\xd8)19\x8e\x9e00\x95\xaa MUSIC\x81\x9aJ.m4a” -report
    ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 5.2.0 (GCC)
    configuration: –enable-gpl –enable-version3 –disable-w32threads –enable-avisynth –enable-bzlib –enable-fontconfig –enable-frei0r –enable-gnutls –enable-iconv –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca –enable-libdcadec –enable-libfreetype –enable-libgme –enable-libgsm –enable-libilbc –enable-libmodplug –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-libopus –enable-librtmp –enable-libschroedinger –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libtwolame –enable-libvidstab –enable-libvo-aacenc –enable-libvo-amrwbenc –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxavs –enable-libxvid –enable-lzma –enable-decklink –enable-zlib
    libavutil 54. 31.100 / 54. 31.100
    libavcodec 56. 60.100 / 56. 60.100
    libavformat 56. 40.101 / 56. 40.101
    libavdevice 56. 4.100 / 56. 4.100
    libavfilter 5. 40.101 / 5. 40.101
    libswscale 3. 1.101 / 3. 1.101
    libswresample 1. 2.101 / 1. 2.101
    libpostproc 53. 3.100 / 53. 3.100
    Splitting the commandline.
    Reading option ‘-headers’ … matched as AVOption ‘headers’ with argument ‘X-Radiko-AuthToken: urozLFoMf4_PBp6NNLBI8g’.
    Reading option ‘-i’ … matched as input file with argument ‘https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000’.
    Reading option ‘-acodec’ … matched as option ‘acodec’ (force audio codec (‘copy’ to copy stream)) with argument ‘copy’.
    Reading option ‘-bsf’ … matched as option ‘bsf’ (A comma-separated list of bitstream filters) with argument ‘aac_adtstoasc’.
    Reading option ‘C:\Users\1103sakamoto\Documents\RadikoPad\Record\2018年01月11日(木)19時00分 MUSIC★J.m4a’ … matched as output file.
    Reading option ‘-report’ … matched as option ‘report’ (generate a report) with argument ‘1’.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option report (generate a report) with argument 1.
    Successfully parsed a group of options.
    Parsing a group of options: input file https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000.
    Successfully parsed a group of options.
    Opening an input file: https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000.
    [https @ 04090d60] No trailing CRLF found in HTTP header.
    [https @ 04090d60] request: GET /v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000 HTTP/1.1 User-Agent: Lavf/56.40.101 Accept: */* Range: bytes=0- Connection: close Host: radiko.jp Icy-MetaData: 1 X-Radiko-AuthToken: urozLFoMf4_PBp6NNLBI8g
    [https @ 04090d60] HTTP error 403 Forbidden
    https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=STV&&l=15&&ft=20180111190000&&to=20180111215000: Server returned 403 Forbidden (access denied)

    1. http://www.lifewithunix.jp/notes/2017/02/22/radikopad-radiko-time-free-program-download-utility/comment-page-4/#comment-1390 に、前のコメントに対しての作者からのコメントを書き込みましたので参考にして下さい。

      ただし、解決するかどうかはわかりません。
      RadikoPad はOSが利用するデフォルトブラウザーIE/Edgeのワークエリアの情報をそのまま使っているはずなので、Webブラウザーで認証が行われてから、ダウンロードを行うまでの時間経過が長すぎるか、何らかの要因でデフォルトブラウザーの設定が変わってしまっているような印象です。
      可能なら、テンポラリユーザーを作成して、ログインし、デフォルト状態のブラウザーでラジコプレミアムにログインしたのちに、RadikoPadのダウンロードを試してみて下さい。

  2. ffmpegのバージョンをいろいろ試しています。2時間番組が1分か2分前後で完了するものもあります。

    1. 情報ありがとうございます。
      なるほど、ffmpeg のバージョンは今まで考えませんでした。XPの場合はあまり選択肢がありませんからね。
      時間のある時に、ffmpeg をいろいろ入れ替えて試してみたいところです。

  3. Windows10でKB4056892をインストールされていると既定のブラウザからラジコプレミアムのログイン情報を取得できないのか、エリアフリーのダウンロードがエラーとなってしまいます。
    ffmpegのログを確認したところ、Server returned 400 Bad Request でした。
    エリア内のタイムフリーは使用可能です。
    既定のブラウザをEdge、IE、Firefoxと試しましたがダメでした。
    KB4056892をアンインストールするとエリアフリーのダウンロードも可能でした。
    Windows10は動作環境外と存じていますが、RadikoPadにラジコプレミアムのログイン情報を持たせる方法があれば教えて頂けないでしょうか?

    1. 詳細情報の入力ありがとうございます。
      おそらく、入力された通りのことが起きているものと思います。

      残念ながら検証環境がないため想像するしかありませんが、OSのセキュリティー強化で、異なるプログラム同士で、保存されたデータを読み取れなくするような設定にしているのかもしれませんね。MSお得意の責任逃れのための初期値変更であれば、設定の中からスイッチを見つければ解決する可能性はあります。

  4. 初めまして。本当につい最近、とあるところで、このソフトの存在を知りました。
    本当に久しぶりに便利なソフトに出会った!と、心の底から感動を覚えています。
    もっと早く知りたかったです。そして今後は随分と楽になります。ありがとうございます。

    ところで管理人さんは御存知かと思いますが、本日4月12日からradikoに大きな変動が
    ありました。新しく入った某局について試しましたが、このソフトは今のところ
    読み込めないようです。もし出来ましたら、対応をお願い致します。

    1. はじめまして。RadikoPadユーザの「でるもんた・いいじま」と申します。

      既存の局は落とせるようですね。(当方東京。文化放送で確認。)
      たぶん前回と同様、RadikoPadが内部で持っている放送局リストを更新すればそれで解決すると思いますが、公式には関係者様からのご回答をお待ちください。

      (以下、この場を借りて管理人様へ)

      配布するzipファイルですが、局リストを更新してzipファイルを差し替える際には、それまでのバージョンのファイルとの混同を避けるために、別のファイル名に毎回変更するようにしたほうがいいと思います。前回が1.0.3の第二版でしたから、今回は第三版ということにして
      RadikoPad103_3.zip
      RadikoPad103_3_ffmpeg.zip
      RadikoPad103_3_ffmpegXP.zip
      あたりが無難でしょうか。ご検討ください。

      1. コメントありがとうございます。
        痛いところを突いてこられました。

        そのリクエストを採用するとなると、いろいろと(私にとって)面倒なことが発生するんですよ。
        差分にしてしまえば手間が最小で済むのですが、ユーザーにとっては最悪になります。

        全員が、ダウンロード→解凍→ アプリを起動 して頂ければいいのですが、既存ユーザーの方には既に設定があるでしょうからね。

        まあ、今は、考えます としか書けません。

      2. こんばんは。
        配布ファイルで必要なのは常に最新版ですので、そのようなファイル名の命名規約(バージョン付与)は必要とは思いません。
        必要ならユーザがDL後にリネームすればいい話なのと、配布ファイルのreadme.txtの【更新履歴】を確認すれば済む話なので。

    2. コメント頂くまで、全く意識にありませんでした。NHKのサイマルに関しては延長されることを意識していたのですが、新規参加局に関しましては無警戒でした。個人的には、聴きたい番組をiPodに取り込むまでを自動化しているので、トラブルが発生しない限り、気づかない可能性が大です。

      新規放送局への対応は、dataフォルダーの県情報を更新するだけなので、Radiko.jp の仕組みに詳しい人なら自分で更新できると思いますが、放送を聞きたいだけの人にこのハードルを乗り越えてくださいというのは酷ですね。
      作者に依頼することにします。

      お知らせありがとうございました。

      1. こんばんは。
        NHKの事でしたら、そもそも大元のNHK側がタイムフリーの仕組みを有してないので、受信側でどーにか出来る問題では無いようです。

        ラジコでNHKラジオが聴ける4月12日(木)より、全国を対象に2018年度の実験配信を開始|株式会社radikoのプレスリリース
         https://prtimes.jp/main/html/rd/p/000000004.000007490.html

コメントを残す