2012-07-21 190 views
12

奇怪的是,一些MP4文件將播放HTML5,但其他人不會。這裏是一個測試頁面http://psdtucss.com/test/test2.html,在Chrome 19.0.1084.46米中打開它。第一個MP4播放,但另一個不會。什麼原因。代碼非常簡單:爲什麼一些MP4文件不能通過HTML5播放?

<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

回答

3

MP4支持多種編解碼器。一些玩家不支持所有的編解碼器(某些代碼需要授權,或者在編寫瀏覽器後才發佈一些編解碼器)。

+0

有沒有辦法轉換編解碼器? – 2012-07-21 01:21:35

+0

當然,有幾個工具可以讓你重新編碼視頻 – 2012-07-21 05:06:57

15

mp4只是容器格式。它可能包含多個不同的編解碼器中的視頻和音頻。玩家(包括瀏覽器中的玩家)需要支持容器格式和所有使用的編解碼器才能正確播放視頻。

使用VideoJS絕對是一個好主意,它爲您處理了很多針對瀏覽器的解決方法。


但是它並沒有解決一個問題:所有瀏覽器都不支持單個視頻編解碼器。 (也Wikipedia: HTML5 video: Browser_support見)

實際的解決方法是提供兩個版本:H264在MP4容器和通常所說的WEBM(在特定的Matroska容器VP8視頻和Vorbis音頻)。有了這兩個你覆蓋了所有主流瀏覽器。


對於視頻轉換/重新編碼,有一些工具和服務可用。我不知道你的操作系統或需求。因此,正如胡亂猜測:

東西我以前幫朋友發佈到他的小博客幾個視頻是this shell script using ffmpeg轉換。它仍然留下了很大的改進潛力(在所有的視頻質量,性能和編碼方面),但應該足夠好,可以開始使用。

7

第一個視頻使用h264編碼,除Firefox和Opera之外的所有編碼都支持該編碼。第二個視頻使用瀏覽器不支持的MPEG-4視頻編解碼器。唯一廣泛支持的視頻編解碼器是Theora,H.264和VP8。

MPEG-4 Part 2視頻編解碼器是從MPEG-4 Part 14容器格式

5

您的視頻1.mp4採用H.264視頻,但編碼2.mp4不同的是沒有的。 讓MediaInfo檢查它。

相關問題