stream via HTTPということで……。

 http://wiki.videolan.org/Documentation:Streaming_HowTo_Newを読みつつ,先日から取り組んでいたストリーミング配信だが,VideoLANは本当に出来るようだ。前々項のjuneさんのコメントへのお返事にも書いたように,ストリーミング配信ではクライアントにはキャッシュも残らない。

 これを簡単な動画ファイルを作ってやってみた。まずは,ローカルでテスト。実は,UDPでマルチキャストアドレスを使ってストリーミングをやろうとしたのだが,UDPがよくわかっていないので,挫折。今回は,HTTP越えでTCPでということで,あんまり,高速は望めないようである。それから,最新のVideoLAN(Ver.1.1.4)を使ったのだが,GUIでの細かいところがよくわからなくて,コマンドラインでの設定になった。

 新バージョンについては,前述のサイトも一般のサイトも,まだ,詳しく書いたところがないみたいだ。HTTP経由ということで,当然HTTPサーバが必要。これは前回,プログレッシブ・ダウンロード用に作ったバーチャルホストを利用した。
 で,DOS窓から,バッチファイルを実行。いちいち,打つのはうっとうしいので。内容は以下のとおり。あぁ,そうそう,ローカルの場合,動画ファイルはどこに置いてあっても,フルパスを教えてやれば大丈夫なようだ。

   cd C:\”Program Files”\VideoLAN\VLC   <<——  カレントディレクトリをVideoLANのディレクトリに変更。
   vlc "実際の動画ファイルのフルパス" –loop          <<——  この行と下の2行は実際は1行になる。
   :sout=#transcode{vcodec=h264,acodec=mp3,ab=128,channels=2,
   samplerate=44100}:http{dst=example.com:1235/test.mpg}

 これで,ストリーミングを行うサーバとしてのVideoLANが起動する。DOS窓は閉じてしまってかまわない。
 別インスタンスのVideoLANから「メディア」→「ネットワークストリームを開く」と行って,「ネットワークURLを記入してください」の欄にhttp://example.com:1235/test.mpgを記入して,再生をクリックすると,無事動画が表示された。–loopは無限ループのために加えた。ストリーミングなので,配信していない場合は,全く受信できないのだ。

 さて,ここまでは,割とすんなり行ったのだが,ネットワーク遅延のためパケットロスが生じるのか,動画の頭の部分が表示されない。現在は,動画ファイルの初めの部分にブランクを加えてごまかしているが,正式のやり方がわからない。ご存知の方は,ご教示くださいませ。

 ローカルのチェックがすんだので,実際にここで配信をやってみようと思う。

 動画のタイトルは,「秋のみのり(蜜柑と柿)」。実は,豊作の蜜柑に対して,柿は1個もなっていない。例年なら,今時期,我が家の柿はまだなっているはずなのだが,今年は記憶にないほどの不作だった。夏のとんでもない暑さのためか全部落ちてしまった。なので,動画はその対比の記録のつもり。

 このブログへの動画の埋め込みにまた一苦労。最新のVideoLANを利用するプラグインをうまく使いこなせなくて,結局,昔のバージョンのやり方でお茶を濁している。そのため,axvlc.cabを利用している。今のところ,IEでのx-vlc-pluginの使い方がわかっていない。

    <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
        codebase="http://example.com:1234/axvlc.cab"
        width="320" height="240" id="vlc" events="True">
      <param name="Src" value="http://example.com:1235/test.mpg" onclick="play()" />
      <param name="ShowDisplay" value="True" />
      <param name="AutoLoop" value="True" />
      <param name="AutoPlay" value="True" />
      <param name="Volume" value="100">

      <embed classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
        codebase="http://example.com:1234/axvlc.cab"
        width="320" height="240" id="vlc" events="True"
        Src="http://example.com:1235/test.mpg"
        ShowDisplay="True"
        AutoLoop="True"
        AutoPlay="True"
        Volume="100" />
    </OBJECT>

(蜜柑と柿) 動画は,30秒程度。右の画像をクリックすると小窓が開く。1度目で,全編が見えなかった場合は,小窓のほうで再読み込みをしてもらうと何とかなると思うので,何卒よろしく。えーー,動画は30秒しかないので,「終」が表示されたらすぐに再読み込みしたほうがいいです。クリックするのが,20秒くらい起ってからだと,またストリーミングが終わったころになります。

 なにしろ,動画の作成は2度目なので,今回も突っ込みは控えるように。(笑^2)

追記:
 ユニキャストでのストリーミングなので,運悪くどなたかと視聴が重なったら,重くなって表示がうまくいかないかもしれません。
 うまくいく場合でも,動画が表示されるまで,5秒くらいのタイムラグがあるようです。

追記2:
 VideoLanとQuickTimeのclassidがダブっているようで,我が家のPCの一つでプレーヤーとしてQuickTimeが起きてしまいました。しかも,再生されない。
 我が家では,QuickTimeをアンインストしたらよくなりましたが,アンインストまでしなくとも何らかの方法はあるかもしれません。

追記3:
 すぐに,「うさぎの折り方」が表示されなくなったことに気づきました。考えて見れば当然で,「うさぎの折り方」と「秋のみのり(蜜柑と柿)」を同じポートにしていましたので,ストリーミング配信がされている状態では,「うさぎの折り方」に対応する余地がありません。ポートを変えてこれをfix。(ホッ)

追記4:
 この項での配信を停止しました。少し変更しましたので,次項をご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください