2016-05-06 9 views
0

Alrighty私が見ていたクラスは、リモートファイルのためではなく、代わりにローカルファイルのためのものですので、..私はいくつかの検索を行うことを決め、実際にURIのPHPを使用したビデオストリーミング?

$head = array_change_key_case(get_headers($path, TRUE)); 
    $filesize = $head['content-length']; 

    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $path); 
    curl_setopt($curl, CURLOPT_RANGE, max (0, $filesize - 128) . '-' . max (0, $filesize - 1)); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    $content = curl_exec($curl); 

    header("Content-Type: video/mp4"); 
    header("Cache-Control: max-age=2592000, public"); 
    header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT'); 
    header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($this->path)) . ' GMT'); 
    echo $content; 
REMOTE再生するには有望と思われるこのcURLのコードを発見したので、

これは私が今までに得たものです。私は以前からクラスのヘッダーのほとんどをコピーしました。私は現在このためにcURLを使用しています。私はプレーする黒いプレイヤーと同じ結果を得ます。ここ

そして、それがリモートのURLである場合は、ご使​​用のサーバーをチェックfopenのは、リモートファイルを開くには、I echo $content

HTTP/1.1 206 Partial Content 
Server: nginx/1.4.6 (Ubuntu) 
Date: Fri, 06 May 2016 23:56:18 GMT 
Content-Type: video/mp4 
Content-Length: 128 
Last-Modified: Fri, 06 May 2016 19:07:20 GMT 
Connection: keep-alive 
ETag: "572ceb68-75445cb" 
Expires: Fri, 13 May 2016 23:56:18 GMT 
Cache-Control: max-age=604800 
Cache-Control: public 
Content-Range: bytes 122963275-122963402/122963403 
+0

がエラーを表示するようにしてくださいあなたのphp.iniでの応答を –

+0

感謝を有効にする必要がallow_url_fopenを 、私は実際にはファイルサイズ() 'と言っログに何かを手に入れた:スタットfailed'と私は」リモートURIであり、サーバー上のファイルではない可能性があるため、失敗したと考え始めましたか? –

+0

このライブラリは、ローカルファイルまたはAmazon S3のみを受け付けているようです。 –

答えて

0

を可能にするとき私が得る応答です。など、error_logにをチェックし、

+0

既に有効ですが、それは問題ではありません。実際のクラス自体はローカルファイル用のようです。 –

+0

申し訳ありません。あなたがfopenが意図したとおりに動作しないことを示す死亡メッセージを持っているので、不思議です。 –

+0

私の死のメッセージは、それが何であれ、ファイルサイズが機能せず、fseekであることを示しています。私のfopenは正常に動作します –

関連する問題