radiko.jp のタイムフリー番組の録音を保存する(不完全版)

Posted by
ぴろり
Posted at
2017/03/21 18:36
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
ソフトウェア カテゴリ
カバーイメージ

 radiko.jp のタイムフリーでは、過去 1 週間以内に放送された番組を何時で聞くことができますが、ストリーミング配信のため、そのままでは簡単に保存することができません。更に、ギミックを駆使して(?)なんとなく頑なに保存されるのを嫌っているような雰囲気もあります。その radiko.jp のタイムフリー番組の録音をパソコンに保存するための覚書きです。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

この記事で説明している方法では、最初の数秒が録音できず、完全な録音はできません。「最初から最後まで完全に保存できないとヤダ!」って人は、これ以上は読む必要がありません。

諸言

 「radiko.jp タイムフリー 保存」で検索すると、それ用のフリーウェアが幾つか見つかったのですが、自宅の Windows 7 マシンでは保存できませんでした。radiko.jp のウェブサイトが仕様変更されると、動作しなくなっているようです*1

 番組の録音は m3u8 拡張子を持つストリーミングで配信されているので、これを ffmpeg を利用して保存することが一応はできるのですが、この m3u8 ファイルの URL が毎回変化するようになっており、更にご丁寧なことに、ストリーミングのチャンクごとにアクセス可能な有効期限が設定されているようなのです。そのため、m3u8 ファイルの URL が判明しても、のんびり ffmpeg のコマンド ラインを打ち込んでいると、録音の頭部分のチャンクが取得できないようです。

 ならば、その URL を取得して、ffmpeg を起動するまでの部分をスクリプトなりで自動化すればいいんですが、詳細は次の調査メモで。

調査メモ(途中で放棄)

  1. POST https://radiko.jp/v2/api/auth1_fms して、X-Radiko-AuthToken と、X-Radiko-PartialKey を計算するためのパラメータを貰う。必要なヘッダを付けて普通にアクセスするだけで成功した。
  2. 計算した X-Radiko-PartialKey をくっ付けて POST https://radiko.jp/v2/api/auth2_fms して、X-Radiko-AuthToken を認証してもらうと予想。しかし、そのための X-Radiko-PartialKey の計算方法が判らない。
  3. X-Radiko-AuthToken をくっ付けて POST https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=... すると、目的の m3u8 ファイルが判明するハズ。しかし、上のステップを通さないと失敗するっぽい。

 …と、まぁ、こんな感じで簡単に m3u8 ファイルの URL にアクセスさせてくれない雰囲気。結局、X-Radiko-PartialKey の計算方法を探すところで力尽きたわけです。予想ですが、頑張って計算方法を探せても、計算ロジック自体が変更されたらアウトですよね…

保存手順

 一応、Mozilla Firefox と Firebug アドオンでの操作方法について説明しておきます。ただし、この方法では、録音の最初の数秒が切れて保存されます

  1. ffmpeg を起動するためのバッチを実行しておきます(下記)。
  2. Firefox: 目的のタイムフリー番組の個別ページを開いておきます。
  3. Firebug: ネットワークペインを開いておきます。
  4. Firefox: [再生する]ボタンを押します。
  5. Firebug: ネットワーク アクセスのタイムラインから、GET <ランダムな文字列>.m3u8 を探し、その URL をコピーします(Fig.1 )。
  6. バッチ: 超特急で URL をペーストします。


Fig.1 m3u8 ファイルを探す

@ECHO OFF
@set M3U8=
@set /P M3U8="M3U8 の URL: "
ffmpeg -i %M3U8% -movflags faststart -c copy -bsf:a aac_adtstoasc rec.mp4
@PAUSE

参考リンク

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

  1. *1 なんとなく雰囲気的に、radiko.jp 側が録音を保存されることを嫌って、わざわざウェブサイトの仕様変更を繰り返している感じ

この記事を読んだ人はこんな記事も読んでいます記事リコメンデーションについて

カバー画像:Mozilla Thunderbird+Lightning+Provider for Google Calendar で標準カレンダーが表示されない

この記事のアーカイブ

全ての記事 »
2017年
全てのカテゴリ »
電算室 » ソフトウェア
全てのタグ »
,

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。