2017-11-23 32 views
1

Web上で3GB以上のビデオに対応するには、ビデオタグを使用する必要があります。 ページがロードされると、メディア要素が「ロードされたメタデータイベント」を受信するまでに時間がかかります。純粋なhtml5ビデオで断片化されたmp4を再生することはできません

moovボックスのサイズが大きすぎることがわかりました(33MB)です。 Chromeでタブ - は、だから私は「ffmpegの」「empty_moov + frag_keyframe」オプションでそれを再エンコードするとき、それはまた、「ネットワークインスペクタ]からすべての断片化された情報を取得するために時間がかかりました。

HTML5のvideoタグと「断片化されたMP4」をプレイスピードアップロードする方法はありますか?

+0

は、あなたがビデオの開始にMOOV原子を再配置するためにビデオをエンコードしている(参照https://stackoverflow.com/questions/25977044/html5-lagging-videos-mp4/26002847#26002847)? – Offbeatmammal

+0

@Offbeatmammalもちろん。 'empty_moov + frag_keyframe'オプションは、MOOVアトムをビデオの先頭に移動することができます。 –

答えて

0

ビデオをブラウザに配信するために使用しているプロトコルについては言及していませんが、断片化したMP4は通常、ABR(Adaptive Bit Rate)ストリーミングプロトコルで配信されます。執筆時点で最も一般的に使用されるABRプロトコルはおそらくHLSとDASHです。

ABRを使用すると、クライアントはより低いビットレートで開始できるため、初期再生のスピードアップが可能になり、特定のデバイスおよび現在のネットワーク状態に最適な品質に達するように、さまざまな品質レベルでステップアップできます。

大規模なストリーミングサービスでは、起動時に画質が大幅に低下してから10〜20秒後に改善されます。この回答で、より多くの情報を参照してください:

Bowsersは、一般的にHTML5タグでネイティブにABRをサポートしていません - あなたは、一般的にHTML5 MSEを使用してのJavascriptベースのプレーヤーを使用します。この理由のために(Media Source Extensions)メカニズムを使用してABRをサポートします。あなたのようなオープンソースexmamples見ることができます:

+0

私はプロトコルについて知らないけど、ビデオタグを使っているときはhttpプロトコルだと分かっています。 とにかく、ファイルサイズが大きい場合、ABRを使用せずにすばやく再生を開始する方法がないことを意味します。 moovやmoofのサイズにかかわらず、ビデオファイルが大きい場合は不可能ですか? –

+0

ストリーミングをサポートするプレーヤーは、通常、ヘッダー情報を持つとすぐに再生を開始し、バッファーには十分なバッファーフレームがあるとみなします。プレーヤーとサーバーがストリーミング、HTTP、ABRなどの形式をサポートしている場合、それほど重要ではない。低ビットレートのABRを使用すると、最初にプレーヤが最初にフレームをより迅速に取得できるようになります。 – Mick

関連する問題