☆簡易ラジコプレイヤー
ラジコをブラウザを使わないで再生する方法はわかったので、VB.NET(Microsoft Visual Basic .NET)を使い簡易ラジコプレイヤーを作ってみた。
局ボタンを押すと裏でMPlayerが起動し再生する仕様です。
ブラウザで再生するよりも動作が軽く、選局も瞬時なのでストレスフリー(^_^)V
☆radiko.jp(ラジコ)をブラウザを使わないで再生してみる
ブラウザを使わずにラジコを再生するには、RTMPDumpで受信しMPlayerで再生するのが一般的な方法らしい・・・がっ、RTMPDumpにURLを渡して簡単に受信できる仕組みではなく煩雑な手順が必要となることがわかった。
要約すると・・・
・myplayer-release.swfからKeyとなる画像をswfextract.exeを使って取り出す。
・radiko.jp/v2/api/auth1にアクセスしAUTHTOKEN・KeyLength・KeyOffsetを取得する。
・Keyとなる画像の先頭アドレスから+KeyOffsetしてKeyLength分のバイナリデータを取り出しそれをBase64エンコードしPartialKeyとする。
・AUTHTOKEN・PartialKeyをヘッダーに付加しradiko.jp/v2/api/auth2にアクセスする。
(auth1・auth2アクセス時に他にもヘッダーに付加する情報があるが固定値なので割愛)
以上でエラーが出なければ認証成功!
・radiko.jp/v2/station/stream/局id.xmlにアクセスするとRTMPストリーミングのアドレスを取得できる。局idはTBSラジオならTBS、文化放送ならQRR・・・
・RTMPDumpにAUTHTOKENを付加してストリーミングを受信しパイプでMPlayerに渡せば再生できるようになる。
・参考サイト
rtmpdumpでradikoにアクセスする手順 - ザリガニが見ていた...。
と・・・ここまで書いておいてなんだが、この方法は古いようで(^_^;
最新(2018/09/12現在)ではRTMP(Real Time Messaging Protocol)配信では無くHLS(HTTP Live Streaming)配信になりRTMPDumpは不要になりました。※読み上げ版はRTMP配信のままである。認証方式もKeyとなる画像が不要になりました。
☆.NET FrameworkでTLS1.2を有効にする
先の記事でGYAO!動画を見る自作アプリのエラーはTLS1.2に起因していることがわかったので、「.NET FrameworkでTLS1.2を有効にする方法」を調べてみたら、あっさりと参考サイトが見つかった(^^;)
・参考サイト
.NET Framework で TLS1.1 および 1.2 を有効化する方法 – Japan IE Support Team Blog
これでGYAO!動画を見るアプリ(名称未定)を起動させることが出来た。
☆Windows VistaのInternet Explorer9をTLS1.2に対応させる
昨日まで使えてたGYAO!動画を見る自作アプリが突如エラーになった
エラーになった箇所を見るとWebアクセスに失敗しているようだ・・・
URLが変更になったのかとブラウザのデベロッパーツールで確認したが変更はないようだ。
アプリが書き出すURLをブラウザで開くとちゃんと開ける。何が原因だかわからず途方に暮れること数分・・・
ふと他のブラウザでアクセスしたらどうなるのかと思い、Internet Explorer9でアクセスしてみる・・・・「Internet Explorer ではこのページは表示できません」( ̄0 ̄)
思い当たることがあるYahoo!が9月末を目途にTLS(Transport Layer Security)1.0では繋がらなくなるということだ。GYAO!はYahoo!グループなのでTLS1.0を拒否しTLS1.2じゃないとアクセス出来なくなったのが原因のようだ。.NET FrameworkをTLS1.2に対応させる前にInternet Explorer9をTLS1.2に対応出来ないか調べてみた。
Yahoo!をInternet Explorer9(TLS1.0)で開くと9月27日以降は推奨環境でないと利用できなくなる旨が表示される。Yahoo!セキュリティーセンターにアクセスしてみると・・・
「対処が必要です」と表示された。
・対処方法
Microsoft Updateカタログで「KB4056564」を検索し
『2018-05 x86 ベース システム用 Windows Server 2008 のセキュリティ更新プログラム (KB4056564)』を適用する。Windows Server 2008用だがVISTAとカーネルがほぼ同じなので適用できるらしい。
レジストリエディタで
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\AdvancedOptions\CRYPTO\TLS1.1]を開き[OSVersion]を削除する、同様に[TLS1.2]の[OSVersion]を削除する。
Internet Explorer9を起動し、[ツール]→[インターネットオプション]→[詳細設定]を開くと「TLS 1.1の使用」「TLS 1.2の使用」のチェックボックスが追加されているので「TLS 1.2の使用」をチェックし[OK]ボタンを押す。
改めてYahoo!セキュリティーセンターにアクセスすると・・・
「対処は不要です」と表示された。(^_^)V
・参考にしたサイト
Enable TLS 1.1/1.2 on Windows Vista | JohnHaller.com
☆ラジオが密かにブームらしい・・・
ということで、久々にPCでラジオ(ラジコ)を聞いてみようと思い・・・
8年ぐらい前に制作した自作ラジコプレイヤーを起動してみた・・・
・・・なにも表示されない
美人時計が表示されてその上にプレイヤー画面が表示されるハズなのに(^_^;
ソースを確認したらradiko.jp/player/player.htmlにアクセスして再生していたようだ・・・
TBSを再生する場合はradiko.jp/player/playe.html#TBSにアクセスすれば再生できたが
今は404 Not Foundが表示されるだけだ( ̄0 ̄)
ということで、Googleであれこれ検索すること小一時間
ブラウザ以外で聴取する場合はRTMPDumpで受信してMPlayerで再生・・?
AuthTokenで認証・・?もうわけがわからんです(^-^*)