2015-04-29 543 views
0

我有一個包含MP4視頻的HTML網頁:Firefox和Chrome無法播放HTML5 mp4視頻

<html> 
<body> 

<video width="800" height="600" controls> 
    <source src="/static/xyz.mp4" type="video/mp4"> 
    <p>Your browser does not support the video tag.</p> 
</video> 

</body> 
</html> 

當我在Firefox加載頁面,它不顯示播放控制按鈕,但節目錯誤消息「沒有找到支持的格式和MIME類型的視頻」(請參閱​​下面的屏幕截圖)。

Screenshot of Firefox when playing video

所以我用this site來測試我的瀏覽器播放HTML5 mp4視頻能力,它可以成功地播放測試視頻在該網站上。我的Firefox版本在CentOS Linux上是v36。我也嘗試過使用Chrome,但它也無法播放它。我也在Windows上的Firefox/Chrome上嘗試過,但失敗了。然後我用火狐調試器看調試信息,我看到以下消息:

Media resource http://localhost:5000/static/xyz.mp4 could not be decoded. 
All candidate resources failed to load. Media load paused. 

然後,我嘗試使用Linux的電影播放器​​中播放的視頻xyz.mp4我的本地計算機上,它起着罰款,這也在Window的媒體播放器中表現良好。但是,當我使用上述HTML5 <video>標記時,它不適用於Linux和Windows中的所有瀏覽器。我也跟着Mozilla的在線論壇來更改瀏覽器設置並清除緩存,但是它們都不起作用。那麼是什麼導致了這個簡單的HTML5的問題呢?

回答

1

這很可能是您的視頻文件的問題。 MP4並不是一種真正的格式,而是一種可以容納不同格式視頻的容器。 Firefox僅支持H.264編碼的視頻。

簡而言之,有幾種類型的mp4文件,並不是所有的文件都被瀏覽器支持。要驗證這一點,您可以從quicksmode網站下載其中一個視頻,並用它替換您的視頻。

+0

感謝您的建議。我嘗試使用從quicksmode網站下載的視頻,並替換我的視頻,它可以在我的瀏覽器中播放。所以你是對的,它必須與我的視頻本身有關。但是我使用Python調用'anim.save('xyz.mp4',writer = FFwriter,fps = 100,extra_args = [' - vcodec','libx264'])''生成了xyz.mp4視頻。我安裝了libffmpeg,並且我認爲它是由H.264編解碼器編碼的,因爲最後一個arg是libx264,不是嗎? – tonga

+0

瀏覽器僅支持基準h264,但編碼器默認情況下可能有不同的預設。這樣的答案可以幫助 - http://stackoverflow.com/questions/24693751/html5-video-ffmpeg-encoded-mp4-not-playing-in-any-browser-plays-in-vlc-though – astax

+0

我解決了這個問題之後我糾正了用於生成mp4的作者。我應該直接使用'ffmpeg'作爲作者。 – tonga