7

メディア ファイル (オーディオとビデオ) をブラウザーにストリーミングする必要があるアプリケーションを構築しようとしています。私はphpを介してファイルを読み込んでおり、データをブラウザに送信しています。次のコードを使用しています。

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Content-Type: {$file->getMimetype()}");
header("Content-Disposition: inline; filename=".$filename.";");
header("Content-Length: ".strlen($file_content));

echo $file_content;

ビデオまたはオーディオを転送しようとすると(現在の再生場所が0:15で、直接1:25に移動すると仮定します)、メディアが停止し、再生ボタンをもう一度押すと、すべてが正常に機能します最初から始まります。

問題はバッファリングにあると思いますが、理解できません。ヘッダーで何か間違ったことをしているのですか、それとも何か他のものが必要です。

ありがとう。

4

4 に答える 4

5

クライアントがファイル内の特定の位置にスキップできるように、Range ヘッダーを実装する必要があると思います。おそらく、プレーヤーが送信するリクエストをスニッフィングすることで、何が問題なのかを知ることができます。

于 2010-09-24T08:09:37.653 に答える
4

必要なものは「コンテンツ範囲リクエスト」と呼ばれます

PHPを使用してファイルを送信する場合の再開可能なダウンロードをご覧ください。

于 2010-09-24T08:23:26.140 に答える
1

私は最近これに出くわしました、それはあなたを助けるかもしれません:

http://www.jasny.net/articles/how-i-php-x-sendfile/

ファイル全体をPHP(メモリを消費する)に渡すのではなく、x-sendfileを使用できます。これは、PHPプログラムを実行できるApacheモジュールですが、コードが必要な処理(認証など)を実行したら、実際のファイルのダウンロードを処理するために制御をWebサーバーに戻します。

これは、PHPコードがファイルの提供方法について心配する必要がないことを意味します。Webサーバーに設計どおりの動作をさせます。

お役に立てば幸いです。

于 2010-09-24T08:15:05.543 に答える
1

これはそのための良いチュートリアルです。PHPセクションだけが必要ですが、それでも http://www.devshed.com/c/a/PHP/Video-Streaming-PHP-Script-Tutorial/3/

于 2010-09-24T08:15:34.533 に答える