簡體   English   中英

HTML5視頻元素無法播放沒有音頻編解碼器的.mp4

[英]HTML5 Video element not playing an .mp4 with no audio codec

我正在嘗試使用ng-file-upload將視頻上傳到Angular應用程序。 一切正常,直到我嘗試上傳沒有音頻編解碼器的.mp4視頻。 視頻元素顯示,它在控制面板中顯示正確的播放時間,只是不播放。 單擊播放沒有任何作用,不會顯示第一幀。

如果我上載任何其他包含音頻的.mp4,視頻將正常播放。

以下是我可以看到的有關失敗文件的信息,因為您只能看到該文件僅列出了視頻編解碼器。

在此處輸入圖片說明

這是另一個具有音頻的.mp4文件的“更多信息”,該文件可以完美上傳並且可以正確播放HTML5視頻元素。

在此處輸入圖片說明

如您所見,可以正常工作的視頻將音頻編解碼器設置為AAC(適用於.mp4),並顯示音頻通道“ 2”,我不確定“音頻通道”的用途是真的。

我整天都在調試該東西,而我可以看到的文件唯一的區別就是上面的圖像。

HTML5視頻播放器應播放沒有列出任何音頻編解碼器的.mp4視頻嗎?

w3schools對Mpeg-4文件的描述使我認為音頻在其中起着作用:

MP4 =帶有H264視頻編解碼器和AAC音頻編解碼器的MPEG 4文件

有人遇到過這個問題嗎?

編輯

在視頻中添加一個偵聽錯誤事件后,我可以看到我與代碼3的值MediaError對象,所以這是一個解碼的問題,我可以看到

下面的屏幕截圖

在此處輸入圖片說明

進一步編輯

現在,我已經調試了Chrome瀏覽器的“媒體內部”日志。 現在確認Chrome遇到錯誤是由於缺少音頻,請參見以下屏幕截圖:

在此處輸入圖片說明

不確定為什么因此沒有明確拋出錯誤。 這是行的結尾嗎,這很奇怪,因為如果我將視頻上傳到Facebook,它就可以上傳。

我建議您檢查.mp4文件是否正確轉換。 我已經在計算機上檢查了它,應該可以正常播放-只是視頻而沒有音頻(Ubuntu 14.04,Chrome 51.0.2704.106)。

使用ffmpeg檢查可用的媒體軌道:

ffmpeg -i input_file.mp4

然后嘗試使用帶有音軌的源並將其轉換為無音頻的源。 此命令將刪除所有音軌:

ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4

當我們沒有適當的編解碼器用於媒體軌道之一時,HTML5規范無法說明應該怎么辦。 僅供參考-HTML5

檢查其他任何播放器的播放總是一個好主意,VLC是一個很好的參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM