RTMPExploreX

RTMPExploreX v1.1

以前紹介した RTMPExploreX の version 1.1 が出ています。


作者の Andr3jx さんの投稿(→こちら)より引用。
Now you can use another port than 1935 without problems. If you choose an other port it uses a portfowaring tool (command line utility) and redirects the connection to 1935. Moreover it uses the process names of rtmpsrv/-suck to detect if they are running instead of cmd.exe.
  • RTMPExploreX で、port 1935 以外のポートを選択した場合に、同梱のポートフォワーディングツール( portforward.exe )を使って、port 1935 へとリダイレクトして投げるようにした。
  • rtmpsrv または rtmpsuck が起動しているかどうかを検出する際に、プロセス名を使うようにした。

rtmpsrv や rtmpsuck は、127.0.0.1:1935 で listen していますので、port 1935 以外の場合には、これまで、別途、ポートフォワーディングツールを用意する必要があったけれども、これが不要になった、ということのようです。

https://github.com/andr3jx/RTMPExploreX/downloads
からダウンロードできます。

RTMPExploreX

RTMPDump のフォーラム
http://stream-recorder.com/forum/rtmpdump-f54.html
に、RTMPDump 関連のツールを紹介する投稿がいくつかあがっていました。

RTMPExploreX v1.0

こちらの記事で紹介した RTMPExplorer の改良版です。
RTMPExplorer は、「自身とサーバーとのやり取りを監視して、RTMPプロトコルのやり取り(port 1935)を見つけたら、これをフックして、ローカルのサーバ(127.0.0.1:1935)へと投げる」ということしてくれる「ブラウザ」です。
改良点は、
RTMPExplorer RTMPExploreX
アプリケーション起動時に自動的に RtmpSrv を起動。 アプリケーション起動時に RtmpSrv や RtmpSuck を起動することはせず、起動後にユーザーの操作によって、RtmpSrv や RtmpSuck などを選択して起動できるようにした。
ブラウザの監視は起動直後から開始。監視を停止することはできない。 ブラウザの監視は、起動後、ユーザーの開始指示の操作(Monitorをクリック)があってから開始。監視を停止することもできる(DeActivateをクリック)。
監視ポートは 1935 に固定。 監視ポートは任意に指定できる(デフォルトで1935)。
アプリケーションからログの参照はできない。 RtmpSrv や RtmpSuck の作成するログを、アプリケーションから参照できる。
ソースコードは非公開 ソースコードは公開
など。

作者さんは、Andr3jx さんという方で、RTMPExplorer をデコンパイルして、コードを取り出し、改良を加えた、ということのようです。

用意するもの
  • RTMPDump
    公式サイト
    公式サイトの中ほどに
    2011-09-26: Download Windows build
    rtmpdump-20110925-git-6230845-win32.zip
    というリンクがあります。Windows向けビルドは、公式のものでは、これが最新のものになると思います。非公式のものでは、KSVさんという方が、独自の改良を加えてビルドしたものを、上記、フォーラムにアップしてくださっています。handshake 10 に暫定的に対応したものもあるようです。また、git最新版の Windows向けビルドバイナリをアップしてくださっている方もいらっしゃいます。
  • RTMPExploreX_1.0.zip
    https://github.com/andr3jx/RTMPExploreX/downloads
    からダウンロードできます。RTMPExploreX の動作にはおそらく、.NET Framework 4 ( WinXP SP3, Vista SP2, or Windows 7 以降) が必要です。

準備
  1. RTMPExploreX_1.0.zip を解凍して、どこか適当な場所に置いてください。
  2. RTMPDumpを解凍して、中にある rtmpdump.exe、rtmpsrv.exe、rtmpsuck.exe、を、RTMPExploreX.exe のあるフォルダ(1のフォルダ)内へと移動ないしコピーします。

手順
  1. RTMPExploreX を起動します。
  2. URL入力欄の隣にあるドロップダウンメニューから、使用する RTMPツール(rtmpsrv、rtmpsuck など)を選択します。
  3. その隣にあるポート番号入力欄にポート番号を入力します。通常は、1935 です。
  4. URL入力欄へ、保存したい動画のあるページのURLを入力します。入力欄の左にある右向き▶がナビゲート(入力されているアドレスへ移動)ボタンです。(通常は、このタイミングではナビゲートボタンをクリックしないでください。)
  5. Monitor ボタンをクリックします。RTMPExploreX が、サーバとのやり取りの監視状態になり、同時に、コマンドプロンプトウィンドウが開き、2で指定した RTMPツールが起動します。
    • 環境によってはここで、いろいろな警告のメッセージが出るかもしれません。
  6. ナビゲートボタンをクリックしてページの読み込みを開始します。
    • 動画が自動的に再生されない場合は、動画の再生を開始します。
    • 動画の再生の開始に伴って、コマンドプロンプトウィンドウ内で、動画の保存(ダンプ)が始まれば成功です。(rtmpsuck を起動している場合は、RTMPExploreX のデフォルトでは、コマンドプロンプトウィンドウ内に動画保存(ダンプ)や失敗のメッーセージなどが表示されないようになっていますので注意してください。後述)
    • 動画の保存(ダンプ)に失敗する場合は、コマンドプロンプトウィンドウに、何かメッセージが出るかもしれません。あるいは、なんのメッセージもなく、ウンともスンとも言わないかもしれません。(rtmpsuck の場合、RTMPExploreX のデフォルトでは、ウンともスンともいいません。後述)
  7. 動画の保存(ダンプ)が終了したら、RTMPExploreX を終了、コマンドプロンプトウィンドウを閉じます。
    • 終了のタイミングは、使用している RTMPツール(rtmpsrv、rtmpsuck など)によって異なります。
    • rtmpsrv を使用している場合は、コマンドプロンプトウィンドウ内で、ダウンロード(ダンプ)が始まれば、RTMPExploreX を Deactive(ブラウザ監視を停止)してかまいません。あるいは、RTMPExploreX を終了してもかまいません。
    • rtmpsuck を使用している場合は、コマンドプロンプトウィンドウ内で、ダウンロード(ダンプ)が始まってから、すくなくとも、RTMPExploreX 内で動画の読み込みが終わるまで待つ必要があります。読み込みの終わりが良くわからない場合は、RTMPExploreX上での動画の再生が終了するまで待てば安全だろうと思います。
    • rtmpsuck の場合、RTMPExploreX のデフォルトの設定では、コマンドプロンプトウィンドウには、起動時にメッセージ(rtmpsuck.bat によるコマンドライン文字列)が表示される以外、すべて rtmpsuck-log.txt へ出力されます。rtmpsuck-log.txt の内容は、logボタンをクリックして表示することができます。この仕様が使いづらい場合は、rtmpsuck.bat を書き換えてください。この件別記。
  8. 保存(ダンプ)された動画は、RTMPツール(rtmpsrv、rtmpsuck など)のあるフォルダ内に保存されています(正確には、コマンドプロンプトのカレントフォルダ内に保存されます)。
    • 保存されるファイル名は、RTMPツール(rtmpsrv、rtmpsuck など)によって自動的に命名されたものになります。保存フォルダ内に同一名のファイルがある場合は、特に警告なしに上書きされますので注意してください。

その他
  • ブラウザ監視開始とページ読み込みのタイミングのこと。
    • RTMPExploreX は、ブラウザの監視の開始(Monitor)と停止(Deactive)をユーザーの操作で行うことができます。
    • 上に記した手順では、まず、ブラウザの監視を開始した後、ブラウザでのページの読み込みを開始(ナビゲートボタンをクリック)しています。しかし、
    • たとえば、本編の動画の前に、短いCM動画が流れるような場合、かつそのCM動画が RTMPプロトコルの場合などでは、CM動画の読み込みが終わった直後かつ本編の動画の読み込みが始まる前のタイミングで、Monitorボタンをクリックすれば、確実に本編の動画を拾うことができるだろうと思います。
    • ページで動画の読み込みが始まるタイミングは、その動画ページごとに異なります。 通常は、上に記した手順でかまわないと思いますが、うまくいかない場合には、Monitorボタンのタイミングを工夫するとうまくいく場合があるかもしれません。
  • RTMPツールの起動のこと。
    • RTMPExploreX から RTMPツール(rtmpsrv、rtmpsuck など)を起動する場合、その起動は、RTMPExploreX と同一フォルダ内にあるバッチファイルが実行されることで、行われるようです。ですから、このバッチファイルの内容を自分の好みのように書き換えれば、いろいろカスタマイズできると思います。
    • 例えば、バッチ起動時に、RTMPツールのあるフォルダにパスを通すようにしておけば、RTMPツールを RTMPExploreX と同一フォルダ内に置く必要はなくなります。
    • あるいは、パスを通したうえで、カレントフォルダを変更するようにしておけば、ダンプの保存先は、カレントフォルダ内になるだろうと思います。(ただしこの場合、特に指定しなければ、RTMPツールのログファイルの出力先も、カレントフォルダ内になって、RTMPExploreX の logボタンからの参照ができなくなってしまいますので、別途、設定が必要になります)。
    • RTMPツールの起動は、RTMPExploreXから行わず、自分で手動で行っても問題ないだろうと思います。
  • rtmpsuck.bat のこと
    • rtmpsuck.bat には、デフォルトで、
      rtmpsuck > rtmpsuck-log.txt 2>&1
      と記述されています。これは、rtmpsuck の出力する標準出力、エラー出力の両方を同一フォルダ内rtmpsuck-log.txtファイルへと出力(リダイレクト)するものです。このため、コマンドプロンプトウィンドウ上には、rtmpsuck の出力が表示されません。
    • たとえば、
      rtmpsuck
      とだけしておけば、rtmpsuck-log.txt への出力は行われず、コンソール(コマンドプロンプトウィンドウ)へと出力されます。テキストとコンソール、同時に出力する方法は、ちょっとわかりません。
    • あるいは、rtmpsuck を RTMPExploreX から起動せず、別途、起動してやれば(バッチを経由せずに起動してやれば)ファイルへの出力は行われません。


参照
The open source improved RTMPExplorer - a rtmpsrv/-suck GUI
Audio/video stream recording forums
livedoor プロフィール
カテゴリ別アーカイブ
QRコード
QRコード
  • ライブドアブログ