古江和栄

第6回 個人の動画配信補足のためのWeb構築
06A1058 古江 和栄
スライド一覧
1.前回のおさらい
2.WMEについて
3.メタデータ取得の問題点
4.基本プログラムの解説
5.これから
6.参考文献
1.前回のおさらい
SHOUTcastとは?
SHOUTcastとはwinampのプラグインであり、これを使うことでラジオ配信
を行うことが出来る。(フリーウェア)
今回はこのSHOUTcastで行っているラジオに接続をかけ、メタデータを受
信してそのラジオの現在の接続数、最大定員数、配信速度等を解析した。
メタデータとは?
メタデータとはデータのデータのことや、送信されたデータに関する情報が
記載されているデータのことである。
ヘッダと意味が似ているが、ヘッダはデータの先頭にデータに関する情報
が記載されているため、少し違う。
メタデータはデータとは別に分かれている。
今回の場合、メタデータは音楽データの合間合間に入り込むように送信さ
れている。
2.WMEについて
Windows Media Encoderとは、Microsoftが配布している
ツールのことである。
本来は動画編集に用いるツールだが、それ以外にもリアル
タイムストリーミング配信としての機能も持っている。
今回はこのWMEを用いた動画配信を捕捉するためのプロ
グラムを作成する。
前回のSHOUTcastでのストリーミング配信の捕捉は出来た
ので、それを応用した形でメタデータを取得する。
ただしいろいろと問題点が…
3.メタデータ取得の問題点
phpプログラム
何かやってるけど
わからなかった
動画配信者
接続
メタデータ取得の問題点は1つ。
「接続は出来るがデータの取得が出来な
い」
ということである。
具体的に説明すると、動画配信している
アドレスに接続をかけると、「接続してみ
たけどよくわからなかった」というような
情報が表示されるのである。
これは定員が満員状態であろうがなかろ
うが関係ない問題である。
ただ、エラー表示が出て接続出来ていな
いわけではないので、動画配信している
かどうかの判断は出来ると思われる。
問題はSHOUTcastの時には取得できて
いた「定員人数、現在の人数、配信ビット
レート」などの情報が丸々取得出来ない
点である。
4.基本プログラムの解説
<?php
$sc_host = "localhost";
$sc_port = "10000";
$server = fsockopen($sc_host, $sc_port,
$errorno, $errormsg, 3);
if (is_resource($server)){
$out = "GET / HTTP/1.0\r\n";
$out .= "Host: gw\r\n";
$out .= "Accept: */*\r\n";
$out .= "User-Agent: Mozilla\r\n";
$out .= "Icy-MetaData: 1\r\n";
$out .= "Connection: close\r\n\r\n";
fwrite($server, $out);
}
while( ! feof($server)){
$saba .= fgets ($server , 4096);
}
echo ("$saba");
fclose ($server);
?>
大体の基本プログラムは前回の
SHOUTcastで使用したプログラムと同じ
だが、メタデータ取得のためのユーザー
エージェント(何を利用して接続を行った
か)などの点に変更がある。
本来このプログラムを用いて接続を行うと
メタデータ以外のデータ(本データ)も取
得してしまうので、有効な利用とは言えな
いが今回実験で成功したのはこのプログ
ラムでのみなので、とりあえず今回はこの
プログラムを使用する。
User-Agent: Mozilla
Mozillaを使って接続を行う、という意味。
MozillaとはオープンソースコードのWEB
ブラウザのこと。
今のところなぜかPHP等で接続をかけて
もうまくいかず、Mozillaを用いて接続を行
うと成功するのでMozillaを使っている。
5.これから
とりあえず今のところではWMEで動画配信している、という判断は出来ているので
他の方法を用いてどうにか定員人数等を取得出来ないか頑張ってみるつもりです。
卒論リハーサル前までにはどうするか決めたいと思っています。
6.参考文献
ソフトバンククリエイティブ
PHPによるWebアプリケーションスーパーサンプル第2版
著 西沢直木
arz Nitelyってシステム屋どうよ?SHOUTcastについて調べてみる
http://arznitely.com/document/?id=ja:free_lsl:shoutcast
その他PHP関連サイト様
ご清聴ありがとうございました