RTMPDumpHelper v1.15

こちらこちらで紹介した RTMPDumpHelper の version 1.15 がリリースされています。

作者の Nir Sofer さんのウェブサイト
http://www.nirsoft.net/
内、
RTMPDumpHelper のページ
http://www.nirsoft.net/utils/rtmp_dump_helper.html
からダウンロードできます。


変更点は、
  1. 監視する TCP のポート番号を、ユーザー側で指定できるようにした。
  2. RTMPコネクションの取得を行う/行わない、を切り替え可能にした。
  3. マルチウィンドウの環境下で、プロパティウィンドウなどが、誤ったモニター上に表示されてしまう問題を修正。

1のポート番号指定は、オプション>RTMPDumpツールオプション、から指定することができます。複数のポート番号を指定することができます(複数指定の場合は、空白ないしカンマで区切ります)。ここで特に指定しなければ、従来通りに、デフォルトの 1935 のポート番号のものを取得します。

2のRTMPコネクションの取得、は、ツールバーのオプションから切り替え可能です。ブラウザの監視を継続した状態で、一時的に、RTMPコネクションの取得を停止しておきたい場合などに便利だろうと思います。

version 1.15 用の日本語化ファイルです。 zip で固めてありますので、解凍してください。使い方は、以前の記事を参照してください。

この記事の内容を実行するに際しては、すべて、ご自身の判断と責任において行うようにしてください。

VLC Media Player の Lua Playlist Scripts

以前、こちら( )でも書きましたが、VLC Media Player は、動画のストリーム再生(動画をダウンロードしながら再生、プログレッシブダウンロード)ができるようになっています。通常は、メニューバーのメディア > ネットワークストリームを開く、から、動画の直リンクURLを入力して再生してやります。

YouTube などいくつかのサイトでは、動画への直リンクURLを求めなくても、上記手順で、動画のページURLを入力してやるだけで、その動画ページの動画を VLC Media Player 上でストリーム再生できます。これは、VLC Media Player に実装された Luaスクリプトが、動画のページURLから、動画への直リンクURLを求めることで実現されています。

以前の記事では、YouTube の Cookie値がいたずらして、VLC Media Player 上での YouTube動画の視聴ができなくなっている、ということを書きました。このところ、この「Cookie のいたずら」がなくなって、視聴できるようになっていたのですが、9月中旬ころの YouTube 側仕様変更により、再び、うまく視聴できなくなっています。(VLC Media Player version 2.0.3 および、その同梱のスクリプトに基づきます。以下同様。)

これを修正する、youtube.lua スクリプトの修正情報がありましたのでご紹介しておきます。

修正の手順
  1. 次の URL
    http://www.videolan.org/developers/vlc/share/lua/playlist/
    へ行って、youtube.lua を入手します。
    • この記事を書いた時点で youtube.lua は、
      19-Jan-2012  07:55  6.4K
      でした。
  2. youtube.lua をテキストエディタで開きます。次の2箇所を修正します。

    122行目(修正前)
    for url,itag in string.gmatch( url_map, "url=([^&,]+)[^,]*&itag=(%d+)" ) do
    
    を、(修正後)
    for itag,url,sig in string.gmatch( url_map, "itag=(%d+)&url=([^&,]+)[^,]*&sig=([^&,]+)" ) do
    
    へ書き換え。

    126行目(修正前)
    url = vlc.strings.decode_uri( url )
    
    を、(修正後)
    url = vlc.strings.decode_uri( url ).."&signature="..sig
    
    へ書き換え。

    正しく修正できていることを確認したら、上書き保存します。
  3. %AppData%\vlc\lua\playlist フォルダを開きます。
    • まず、%AppData%\vlc フォルダを開き、lua フォルダ、その下に playlist フォルダがあることを確認してください。ない場合は作成してください。
    • %AppData% の場所は、環境によって異なります。
  4. playlist フォルダ内に、2で修正した youtube.lua ファイルを放り込みます。
以上です。
参照元:

注意すること
  • VLC Media player 本体側で youtube.lua スクリプトのアップデートのあった場合は、%AppData%\vlc\lua\playlist フォルダ内の youtube.lua は削除してください。
    • %AppData%\vlc\lua\playlist フォルダは、ユーザーの用意した Luaスクリプトの置き場所、インストールフォルダ内 lua\playlist フォルダは、VLC Media Player 同梱の Luaスクリプトの置き場所、みたいに使うのだろうと思います。
    • VLC Media player は、まず、%AppData%\vlc\lua\playlist フォルダ内に、担当する Luaスクリプトを捜し、見つからなければ、インストールフォルダ内、lua\playlist フォルダ内に担当Luaスクリプトを捜すようです。
  • URL の末尾にクエリ文字列
    ?fmt=[数字] または、  &fmt=[数字]
    を指定してやると、数字の指定する画質の動画ファイルを採ろうとします。指定しない場合、ないし、数字の指定する画質の動画ファイルが見つからない場合には、スクリプト側で、画質をひとつ選んで採るようです。
    • 数字の指定する画質は、たとえば、
      http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs
      などを参照してください。itag value というのが fmt の[数字]にあたります。
  • 私の環境では、スクリプトの採った動画が、WebM 形式の場合、エラーが出て再生できないようでした。(mkvエラーというのが出る。WebM形式の動画を、いったん、ローカルへ保存した後、開いてやると再生できるようで、プログレッシブダウンロードの場合に、なぜ、うまくいかないのか、原因はよくわかりません。私の環境だけの問題かもしれません)。この場合は、fmt で WebM でないものを指定してやってください。

youtube.lua 修正のお話はこれで終わりです。

VLC Media Player version 2.0.3 同梱の dailymotion.lua も、8月上旬の Dailymotion 動画の仕様変更に対応していませんので、修正情報を記しておきます。修正の手順は、youtube.lua の場合と同じですので、手順はそちらを参照してください。

dailymotion.lua
  • http://www.videolan.org/developers/vlc/share/lua/playlist/
    の 19-Sep-2011  07:55  3.0K に基づきます。

    56行目(修正前)
    if string.match( line, "\"sequence\",")
    
    を、(修正後)
    if string.match( line, "\"sequence\"")
    
以上です。
参照元:


おまけ
練習を兼ねて、VLC Media Player用 Lua Playlist Scripts をいくつか作ってみました。見よう見まねで作ったもので、かなりいいかげんなものです。動作の保証はしません。そんなのでもいいよ、という心の広い方のみお試しください。ご自分で勝手に書き換えて使ってもらってかまいません。使い方は、上記、youtube.lua の場合と同じで、%AppData%\vlc\lua\playlistフォルダ内へ、スクリプトを放り込んでください。
  • pandoratv.lua
    PandoraTV( http://www.pandora.tv/ )用の Lua Playlist スクリプトです。
    • 再生が始まって数秒~数分で、再生が途切れることがあるかもしれません。そういう場合は、あきらめてください。
    • シークバーは使えません。使うと、停止してしまいます。
    • VLC Media Player は、動画が途切れた場合や、シークバーを用いた場合でも、ちゃんと動作するようにできているのだろうと思いますが、なぜかうまくいきません。原因はわかりません。(追記:設定(すべて)>入力/コーデック>アクセスモジュール>HTTP(S) の「継続的なストリーム」にチェックが入っている場合、うまく動作しないようです。)
  • veoh.lua
    Veoh( http://www.veoh.com/ )用の Lua Playlist スクリプトです。
    • たぶん、preview動画を拾っています(30分以上の長さの動画は、最初の数分くらいしか再生されない)。
  • bliptv.lua
    Blip( http://blip.tv/ )用の Lua Playlist スクリプトです。


この記事の内容を実行するに際しては、すべて、ご自身の判断と責任において行うようにしてください。

IPC公式の Paralympic動画

国際パラリンピック委員会(International Paralympic Committee、略称IPC)の公式ページ( http://www.paralympic.org/ )において、現在開催中の London 2012 Paralympic Games のライブ映像、録画映像の視聴が可能になっています( http://smart.paralympic.org/player/Main.html )。

動画の再生には、SMART ( Sport Media Application in Real Time ) Player というFlashベースのアプリケーションが使われていて、その配信には、Octoshape社( http://www.octoshape.com/ )の Infinite HD-M という動画配信用プラットフォームが使われているのだそうです。(参照記事

これらの動画を VLC Media Player で再生してみよう、という試みです。

用意するもの
  • Octoshape Infinite HD app
    • IPC公式のページにて Paralympic動画を再生しようとしたときに、
      Infinite HD app Install MsgBox
      みたいなメッセージボックスが出て、"Agree and install" をクリックした方は、既に、Octoshape Infinite HD app がインストールされている可能性が高いです。スタートメニューに "Octoshape Streaming Services" というのがないか、確認してみてください。(なお、IPC公式のページにて Paralympic動画を視聴する目的のみならば、この Octoshape Infinite HD app のインストールは必須ではありません。インストールしなくても動画の視聴はできます。インストールしたくない場合は、"No thanks" をクリックしてやればよいです。)
    • あるいは、"%AppData%\Octoshape\Octoshape Streaming Services" を開いて、OctoshapeClient.exe があることを確認してください( OctoshapeClient.exe が Octoshape Infinite HD app の本体です)。
    • Octoshape Infinite HD app が見つからない場合は、
      http://octoshape.com/support/infinite-hd-octoshape-app/
      から、インストールすることができます。
    • インストールするにあたっては、
      End User License Agreement
      http://octoshape.com/support/eula/

      Frequently Asked Questions
      http://octoshape.com/support/frequently-asked-questions/
      をよく読んで、ご自身の責任と判断によってください。
  • VLC Media Player
    • VLC Media Player についてはここでは触れません。
    • 既にインストール済みであるとします。

準備1
Octoshape Infinite HD app の設定を確認
  1. Octoshape Infinite HD app を起動します。画面右下の通知領域に アイコンが表示されます。
    • スタートメニューに Octoshape Infinite HD app がある場合は、そちらから起動できます。この場合、同時にブラウザが起動するかもしれないので、ブラウザはいったん閉じてください。
    • あるいは、"%AppData%\Octoshape\Octoshape Streaming Services" の、OctoshapeClient.exe を直接起動してください。
    • この時、環境によっては、いろいろな警告メッセージが出るかもしれません。
  2. 通知領域の アイコン上で右クリック、Settings を選択してクリック、設定ウィンドウが開きます。
  3. External Player の設定を、System default player にしてください。
    • その他の設定項目は、ご自分の好みに合わせてください。
    • Startup は、Windows 起動時に同時に起動させるかどうかです。Nothing を推奨。
    • Browser は、Infinite HD app からブラウザを起動する際に使用されるブラウザです。
    • Idle は、おそらく、一定時間 Infinite HD app の動作がない時に、自動的に終了するかどうかです。
  4. 設定が終わったら、OK をクリックして設定ウィンドウを閉じます。
  5. 通知領域の アイコンを右クリック、Exit をクリックして、終了します。

準備2
VLC Media Player の設定の確認
  • VLC Media Player が、拡張子 flv に関連付けられ、かつ、標準アクションになっていることを確認してください。
    • 要するに、拡張子flv のファイルがあったとして、これをダブルクリックしたら、VLC Media Player が立ち上がって、このファイルを再生するようになっていれば、OK です。(2012.09.10 追記。HKCUで関連付けされている場合(既定のプログラム)は、そちらの設定が優先されるため、ダブルクリックで立ち上がるアプリケーション = 標準アクション、ではない場合があります)。
    • 関連付けされていない場合は、VLC Media Player のツール>設定>インターフェース設定、ファイル関連付け設定、などから設定できるかもしれません(私の環境では、何やらエラーが出で、設定できませんでした。原因はよくわかりません)。関連付けは、通常、VLC Media Player インストール時に、インストールと同時に、設定するようになっています。あるいは、Windows 標準の関連付け設定からも設定できると思います。(2012.09.10 追記。フォルダオプション>ファイルの種類、などから設定する必要があります。Vista以降、この設定方法は使えなくなりました)。
  • 今回例に挙げているIPC公式の Paralympic動画では、拡張子 flv が使われている(後述)ので、flv の関連付けを確認しています。他の拡張子が使われている場合は、その拡張子が VLC Media Player に関連付けられていることが必要だろうと思います。

手順1
octoshape URL の取得
  1. XML を表示できるブラウザで、
    http://smart.paralympic.org/data/schedule.xml
    を開きます。
    • あるいは、XML をいったん保存した後、XML Viewer などで開きます。
    • テキストファイルですので、テキストエディタなどで開くこともできますが、たぶん、わかりづらいと思います。
    • Smart Player で表示されるスケジュール一覧の元になるデータを収めた XMLファイルです。
    • root に ScheduleBody があって、その子に、ScheduleUnit がずらりと並んでいるのがわかると思います。
  2. ScheduleUnit の Description や Date などを元に自分の視聴したい ScheduleUnit を特定して、その ScheduleUnit の Location のところにある octoshape:// から始まる URL を取得します。
    • RTMP のものと HLS のものがありますが、octoshape:// 以下の文字列は、たぶん、どちらも同じです。

手順2
Octoshape Infinite HD app から VLC を起動

方法1
  1. ブラウザの URL 欄に、手順1で取得した、octoshape URL を入力して、開きます。
    • 環境によってはここで、いろいろな警告のウィンドウなどが出るかもしれません。
  2. VLC Media Player が立ち上がって、動画の再生が始まれば成功です。
あるいは、次の手順に従ってもかまいません。
方法2
  1. OctoshapeClient.exe のあるフォルダ(通常は、"%AppData%\Octoshape\Octoshape Streaming Services"フォルダ)をカレントにしてコマンドプロンプトウィンドウを開きます。
  2. ウィンドウ内に
    OctoshapeClient -url:octoshapeURL
    
    と入力してエンターキーを押します。
    • 緑字部分octoshapeURLには、手順1で取得した octoshape URL を記します。
  3. VLC Media Player が立ち上がって、動画の再生が始まれば成功です。

動画の再生が始まったら、VLC Media Player の ツール>メディア情報、を開いて、メディア情報ウィンドウを表示させます。ウィンドウの下のほう、ロケーションに表示されている文字列をコピーしして、メモ帳などに貼り付けてみてください。おそらく、
http://127.0.0.1:6498/
から始まる URL になっているのではないかと思います。

Octoshape Infinite HD app のやっていること
Octoshape Infinite HD app はおそらく、ローカルのサーバ(127.0.0.1:6498)として働き、VLC からの HTTPリクエストを受け、これを、octoshape 独自のプロトコルにして外部へと接続しているのだと思います(Gateway)。
OctoshapeClient -url:octoshapeURL
として起動すると、OctoshapeClient は、octoshapeURL を、ローカルサーバに接続するための HTTP の URL に翻訳して、VLC Media Player へと渡すのでしょう。(正確には、拡張子(今回の場合は拡張子 flv)に関連付けられた標準のアプリケーションを起動し、起動の際に引数として、ローカルHTTP URL 文字列を渡すのだと思います。アプリケーションが、渡された URL に対応していなければ、あるいは、引数そのものを受け付けなければ、"You have no mediaplayer supporting the protocol of this stream." というエラーメッセージを出します)。

動画を保存したい場合は、Octoshape Infinite HD app を起動した状態(通知領域に アイコンが表示された状態)で、先に取得した http://127.0.0.1:6498/ で始まるローカルURL を、ダウンロードマネージャなどに放り込んでやれば、保存可能だろうと思います。あるいは、そのダウンロードマネージャが、コマンドラインからの起動時に引数としてURLを取ることができるならば、VLC Media Player を介さずに、関連付けから直接起動・ダウンロードすることもできると思います。

この記事の内容を実行するに際しては、すべて、ご自身の判断と責任において行うようにしてください。

livedoor プロフィール
カテゴリ別アーカイブ
QRコード
QRコード
  • ライブドアブログ