私のサーバーは、HTTP/1.1ヘッダーなしでユーザーにビデオを再生させるコードを持っています206部分コンテンツの速度が非常に低いです(200/300kbps )、このヘッダーで最大速度にジャンプします。私はこれの原因を正確には知らない。このヘッダーでは、ビデオはダウンロードできますが、ストリーミング再生はできません。ストリーミングの構文はタグ内の通常のビデオと同じですが、違いはsrcがstream.phpページを指していることですか? Link = mysite.com/link.mp4。ビデオは、外部サーバ私はビデオをダウンロードできますが、ストリーミングphplを再生しません
$link = $_GET['link']; $path = $link; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $path); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_exec($ch); $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); header("Content-Type: video/mp4"); header("Content-Length: ".$size); header('Accept-Ranges: bytes'); $handle = fopen($path, "rb"); while (!feof($handle)) { header('HTTP/1.1 206 Partial Content'); header('Content-Range: bytes 0-'.$size); echo fread($handle, 100 * 1024); } fclose($handle);
なぜそもそもPHPを通じてファイルを戻ってきていますか?なぜあなたのプレーヤーに元のURL($ _GET変数から)がないのですか? –
私はAPIを使用していますが、異なるIPのダウンロードを要求することはできません。そのため、サーバーはファイルを読み込んで、どのユーザーでも再生できるようにしなければなりません。 –
ストリーミングプラットフォームです。それを使用する前にファイルをダウンロードすることはできません –