とは思っていたものの、「完全放置は完全放置でアレだなぁ」と思っていたところに良いネタが出来たので記事にしました。
この記事では、タイトルの通りrtmpExprolerとrtmpdumpを利用したGyaO!の動画を保存する方法を紹介します。ここから先の手順を行ったことによる損害・損失等について、管理人は一切の責任を負いませんので、自己責任でお願いします。
rtmpExplorer(もしくはrtmpExploreX)とrtmpdumpは、RTMPを利用したキャッシュしない動画サイト(GyaO!やらニコニコ生放送やら)で配信されている動画を保存する際に、よく利用されているらしいフリーソフトです。
しかし、今年に入ってからGyaOの動画をrtmpExprolerで視聴しようとすると、「ActiveXが無効になっているため、映像を視聴できません」とエラーが表示されてしまいます。
そこで、いろいろと調べたところ、どうやら「rtmpExprolerで利用されている、WebBrowserコントロール(IEコンポーネント)がバージョン7のIEとしてレンダリングされている」ことが原因らしいので、ここをどうにかすることにします。
ここのセクションは基礎知識みたいなものなので、読み飛ばしてもらっても構いません。
【rtmpExplorerとは?】 「RTMPを利用した通信(ポート番号:1935)を発見したら、この通信をフックして、ローカルホスト(127.0.0.1:1935)へ接続する」ことを行うソフト(たぶん)です。これ単体ではあまり意味がありません。要するに「rtmpsrv、rtmpsuckの補助ソフトウェア」と思ってもらえればよいです。
【rtmpsuckとは?】 クライアントとサーバーの通信を中継し、Flash Media Serverのconnectコマンド、playコマンドなどのコマンドを"なりすまし"によって読み取る透過プロキシです。
rtmpdumpについて詳しく → RTMPDump和訳(http://rtmp.akemihomura.info/?p=4)
準備(1回だけでOK)
- RTMPExplorer 1(http://www.videohelp.com/tools/RTMPExplorer) の「Download RTMPExplorer 1 (direct link)」をクリックしてダウンロード&解凍します。
- RTMPDumpを 公式サイト(http://rtmpdump.mplayerhq.hu/) からダウンロード・・・したいところですが、ここではKSVさんという方が改良を加えてコンパイルした非公式のバージョンを「rtmpdump-2.4.zip」をクリックしてダウンロード&解凍します。
- 解凍したrtmpExplorerが含まれているフォルダの「rtmpsrv.exe」と「rtmpsuck.exe」 を 2. でダウンロードしたそれと置き換えてください。
- このままだと、あとでファイル名をいちいち変更する手間があるので、ここから自作した「Command.bat」をダウンロード&解凍してrtmpExplorerと同じフォルダに入れてください。【12/04追記:リンク先変更しました】【2015/10/24追記: 再びリンク先を変更しました】
- スタートメニューの検索ボックスに「regedit」と入力して、レジストリエディタを起動します。
- 「HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION」に移動します。
レジストリエディタの画面 - 何もないところを右クリックして、「新規」→「DWORD (32ビット) 値」を選択。
- 「名前」に「rtmpExplorer.exe」と入力し、それをダブルクリックして「値のデータ」に「10000」を入力し、「表記」は「10進数」を選択します。(ここで入力した数値がIEコンポーネントのIEバージョンになります。「8000」なら「IE8」、「9000」なら「IE9」、「10000」なら「IE10」、「11000」なら「IE11」といった具合です。)
- すべて入力し終わったら、レジストリエディタを終了します。
作成後の画面
保存の手順
- rtmpExplorerを起動します。同時に、rtmpsrvが起動されますが、使わないので終了しておきます。
- 先にrtmpsuckを起動します。初回起動時は、以下のようなファイアーウォールに関する警告が表示されることがありますが、「アクセスを許可する」 を選択します。
ファイアーウォールに関する警告画面 - 念のため、 確認くん にアクセスして、「現在のブラウザー」に「MSIE 10.0」が含まれていることを確認してください。(この手順は一度で良いです)
確認くん - Internet Explorer(IE)を起動し、歯車マーク→「インターネット オプション」をクリックして、「閲覧の履歴」の「終了時に閲覧の履歴を削除する」をチェックしたのち、「削除...」をクリック。
インターネット オプション
- ※1のように「インターネット一時ファイルおよび Web サイトのファイル」、「クッキーと Web サイトデータ」、「履歴」をチェックして、「削除」をクリック。履歴が削除されたメッセージを確認したら、IEを終了します。
※1 閲覧の履歴の削除 - ここからが本番です。GyaO!の動画ページのURLをアドレス欄に入力し、「GO」をクリックします。プレーヤーが表示されて動画の再生が開始されると同時に、rtmpsuckの画面が※2のように変化すれば成功です。
再生に成功した場合 ※2 rtmpsuckの画面の一例 - 9. で、 以下の画像のようなエラーメッセージが表示されて、動画の再生が開始されない場合があります。この場合は、4. と5. の手順をもう一度やり直してみてください。
再生に失敗した場合の一例 - 一旦、再生を一時停止し、rtmpExplorerが配置されているフォルダに「Command.txt」が生成されていることを確認してください。
- Command.txtを適当なテキストエディタ(行番号表示があるのが望ましい)で開きます。プレーヤーのシークバーを何度か動かしていた場合、その回数分だけCommand.txtにrtmpdumpのコマンドが出力されています。ひとつだけで良いので、最終行のみを残して後は削除して上書き保存してください。1行しかなかった場合は、そのままエディタを閉じてください。
1行しかなかった場合 - 準備段階で一緒に突っ込んだ「Command.bat」をダブルクリックして、バッチファイルを走らせてください。以下のようなDOS画面が表示されたら、進捗が100%になるまで待ちます。
保存途中の画面 - 無事、100%になったらDOS画面は勝手に消えます(非常に再生時間の長い動画の場合、ごくまれに失敗することがありますが…)。rtmpExplorerが配置されているフォルダにflv形式のファイルとして動画が保存されているはずです。
めでたしめでたし - これにて、めでたく保存は完了です。あとはXMediaRecodeやら何やらで変換しておくことをお勧めします。
・rtmpExprorerとrtmpsuckを起動している間は、rtmpExprolerでページ遷移して、他の動画の再生・保存を行うことが出来るはずです。
・動画ファイル自体はAVC/MP4+AACのコンテナ形式なので、再エンコはしなくても良いはず・・・
・一度、 rtmpExprorerかrtmpsuckを終了した場合、4. と5. のIEのキャッシュと履歴の削除はほぼ必須になると思います。
・rtmpExprolerの代わりにrtmpExproleXを利用することも出来ると思います。その場合は、準備の8. で「名前」に「RTMPExploreX.exe」を入力してください。詳しい手順は気が向いたら書きます。
・GyaO!に限らず、RTMPを利用した動画配信サイトなら原則、保存は可能だと思います。
【参考にしたサイト様】
・WebBrowserコントロールのIEバージョン - (。・ω・。)ノ・☆':*;':*
・OsadaSoft » [C#] WebBrowserコントロールのレンダリングモードをデフォルトのIE7から最新IEモードに変更する
0 件のコメント:
コメントを投稿