MP4 セキュア疑似ストリーミングで問題が発生しました。
まず第一に、あなたがアイデアを得るためにいくつかの事実があります:
- フロープレイヤーを使用しています
- mod_h264_streaming をインストールして動作させています。
- 安全なストリーミング プラグイン (PHP 検証) の追加に成功し、FLV ビデオの擬似で動作しています (もちろん、mod_h264_streamin のおかげです)。
- 最初にmoov-atomを含むMP4でテストしています(ビデオはすぐに始まりますが、擬似はありません)。
さて... flowplayer が MP4 をロードするとき、プレーヤーは次のようなリクエストを行います:
http://mydomain.com/videos/fa3...[security_hash]...46/video.mp4?start=0
?start=0に注意してください
ビデオの別の部分 (まだロードされていない) をシークすると、プレーヤーは次の要求を行います。
http://mydomain.com/videos/fa3...[security_hash]...46/video.mp4?start=33.342
?start=33.342に注意してください
これにより、ビデオが最初からやり直されます。これが問題です。
追加の事実: MP4 ファイルの開始は、クリックしたタイムラインの秒として (PHP スクリプトに) 送信され、FLVの開始はバイト単位のシーク位置として送信されます。この違いが問題の主な理由であると思います.
私の質問は:
PHP 疑似ストリーミング スクリプトで、MP4 ビデオ ストリーミングを処理するにはどうすればよいですか?
自動質問:バイト範囲ヘッダーを使用する必要がありますか?
コーディングの問題ではなく、概念的な問題であるため、コードを投稿していません。ここでは、アイデアに焦点を当てましょう。また、私がテストしているすべてのファイルは適切にエンコードされており、問題はありません。
ありがとう