20

奇妙なことに、一部のMP4ファイルはHTML5で再生されますが、他のファイルは再生されません。これがテストページhttp://psdtucss.com/test/test2.htmlで、Chrome19.0.1084.46mで開きます。最初のMP4は再生されますが、他のMP4は再生されません。どういう理由ですか。コードは非常に単純です。

<h3>the first mp4 file can play</h3> 
<p><video width="640" height="264" controls="controls"><source src="1.mp4" type="video/mp4" />Your browser does not support the video tag.</video></p> 
<h3>but the other can't play</h3> 
<p><video width="640" height="264" controls="controls"><source src="2.mp4" type="video/mp4" />Your browser does not support the video tag.</video></p>

どうすればこれを修正できますか?

videojsを試しましたが、それでも一部のMP4ファイルが再生されません。テストページはこちら:http: //psdtucss.com/test/test.html

4

4 に答える 4

19

mp4はコンテナ形式のみです。さまざまなコーデックのビデオとオーディオが含まれる場合があります。ビデオを適切に再生するには、プレーヤー (ブラウザー内のプレーヤーを含む) がコンテナー形式と使用されるすべてのコーデックをサポートする必要があります。

VideoJS を使用することは間違いなく良い考えです。これにより、多くのブラウザー固有の回避策が処理されます。


ただし、1 つの問題は解決しません。すべてのブラウザでサポートされる単一のビデオ コーデックはありません。(ウィキペディア: HTML5 ビデオ: Browser_supportも参照してください)

実用的な解決策は、おそらく2 つのバージョンを提供することです: mp4 コンテナー内の h264 と、通常 webm と呼ばれるもの (特定の Matroska コンテナー内の VP8 ビデオと vorbis オーディオ)。この 2 つを使用すると、すべての主要なブラウザーをカバーできます。


ビデオの変換/記録には、利用可能なツールとサービスがいくつかあります。あなたのオペレーティングシステムや要件についてはわかりません。だから、ただの推測として:

友人が彼の小さなブログでいくつかのビデオを公開するのを支援するために使用したものは、変換にffmpeg を使用するこのシェル スクリプトです。ビデオの品質、パフォーマンス、およびコーディングのすべてにおいて、まだ多くの改善の可能性が残されていますが、始めるには十分なはずです.

于 2012-07-21T01:04:31.033 に答える
12

最初のビデオは、Firefox と Opera を除くすべてでサポートされている h264 エンコーディングを使用しています。2 番目のビデオは、ブラウザでサポートされていない MPEG-4 ビデオ コーデックを使用しています。広くサポートされているビデオ コーデックは、Theora、H.264、および VP8 のみです。

MPEG-4 Part 2ビデオ コーデックは、MPEG-4 Part 14コンテナ形式とは異なります

于 2012-07-21T01:18:14.090 に答える
9

ビデオ 1.mp4 は h.264 を使用してエンコードされていますが、ビデオ 2.mp4 はそうではありません。MediaInfo を取得して確認してください。

于 2012-11-03T16:12:51.607 に答える
3

MP4は複数のコーデックをサポートしています。一部のプレーヤーはすべてのコーデックをサポートしていません(一部のコードはライセンスが必要であるか、一部のコーデックはブラウザーの作成後にリリースされました)。

于 2012-07-21T00:58:55.000 に答える