あと、viewとidについても教えて下さい。
前回の質問の続きだと思って回答します。
ライブ放送とオンデマンド放送で変わってくるとは思いますが、UNIX環境と言うのがサーバの環境であるとしたら少なくともWindowsMediaの場合はエンコード時にDRMを設定するためサーバの環境は関係ないと思います。
他のRealMediaなどはDRMをいじったことがないのでちょっと分かりません。
view/idは認証を行うと言うことだと思うのですが、簡単に書くと以下のようになると思います。
サーバ内でhttpでアクセスが出来ない場所にストリーミングしたいファイルを置きます。
たとえば、 /htodcs/ 以下がhttpでアクセスできるとすれば、/files/ あたりに置けばいいでしょう。
そして、ブラウザなどであるURLにアクセスをします。
そのURLはPHPやPerlなどを使い何らかの方法でユーザ認証を行った後にhttpでアクセスできない場所に置かれているファイル(/files/a.wmv)などをPHPやPerlスクリプトで読み込み、
クライアント側に吐き出すと言うことになると思います。
、%E3%83ォ%E3%83%80%E3%82ヲ%E3%83ウ%E3%83%AD%E3%83シ%E3%83%89&num=50
即席ですが、こんな感じでどうでしょう?
ただ、ブラウザなどの種類によって出力すべきヘッダーがまちまちだったりする場合もあるので、
注意が必要かもしれないです。
$path= ’/home/hoge/files/’;
$file= ’1.wmv’
$size= filesize($path.$file);
header(”Accept-Ranges: none”);
header(”Content-Length: $size”);
header(”Content-Type: video/x-ms-wmv”);
header(”Content-Disposition: attachment; filename=$file”);
$fp = fopen($path.$file,”rb”);
@fpassthru($fp);
fclose($fp);
exit;
URLを見るとちょっとはそれっぽいのが出るかもしれないです。
PHPの場合ですが。
もう少し具体的な情報は出せないのでしょうか?
たとえばサーバのOSやストリーミングファイルの形式などがわかればもう少し的確な
アドバイスができると思います。
ただストリーミングファイルがあるサーバとPHPなどが動作するサーバが違うと以前に提示した方法だと動作しないですね。
そうなるとやはりDRMを使うのが一番手っ取り早いのではないでしょうか?
WindowsMediaであればMicorsoftにDRMライセンスを管理する方法などが載っていたと思います。
それで自前のDRMがあればとりあえずはできると思います。
ご返答ありがとうございます。今のところストリーミングファイルの形式は具体的に決まっていないのでとりあえずDRMを調べてみようと思います。もしわからないことがあったらまた質問いたしますのでよろしくお願いいたします。
ご返答ありがとうございます。重ね重ねのご質問で大変恐縮ですが、例えば、phpが動いているサーバと動画が置いてあるサーバが違うとき、fpassthru関数を用いて動画をphpサーバに取り込むと、回線速度はphpサーバの回線に依存してしまうのでしょうか。もしそうであるならばその回避方法はあるでしょうか。ご返答よろしくお願い致します。