チューブサイトを開発していますが、現在H.264形式に問題があります。YouTubeが彼らの高解像度ビデオをMP4コンテナーに入れていることに気付いたので、論理的には同じことをしました。
次に、mod_h264_streaming
ストリーミングとタイムラインスクラブが機能するようにlighttpd をインストールしました。
問題は、大きなファイル(やや高い解像度で500 MBを超える)がバッファリングを開始するまでに永遠にかかることです(私は、Flowplayerや他のFlashプレーヤーが最初にメタデータをダウンロードする必要があると読みました)。MP4Boxを使用してxmovアトムをファイルの先頭に移動しました(Qt QuickStartも試してみました)が、役に立ちませんでした。
次に、オーディオトラックをインターリーブする必要があると読みました。これによる変化はありませんでした。ビデオはまだ低速でした。
そのため、まったく同じH.264ムービーをFLVコンテナに入れてみたところ、再生バッファリングはほぼ瞬時に開始しました—速度低下はありませんでした。
だから私はここで何が欠けていますか?mod_264_streaming
lighttpdが組み込まれた通常のFLVコンテナーよりも、モジュールが非常に遅いように見えるMP4コンテナーを選択するのはなぜmod_flv_streaming
ですか?明らかに、多くのWebサイトがMP4コンテナーを選択していますが、その理由がわかりません。
余談ですが、HTML5 <video>
タグを使用して同じH.264 MP4ムービーを試しましたが、スクラブは非常に高速でした。lighttpdのログファイルを調べvideo.mp4?start=234
たところ、タイムラインがスクラブされるたびにFlashプレーヤーが追加されるのに気づきましたが、ネイティブHTML5 <video>
タグを使用するブラウザーはそのようなことをしません。これはFlashのある種の制限ですか?FlashストリーミングがHTML5ストリーミングほど高速にできないのはなぜですか?