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”VideoLANVLC <<—— カレントディレクトリを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:
この項での配信を停止しました。少し変更しましたので,次項をご覧ください。