Chrome下用video標簽不能正常播放MP4格式視頻的解決方法

昨天遇到了這樣一個問題,我打算使用HTML5的video標簽簡單的在網(wǎng)頁上插入一個MP4視頻,類似這樣

<video preload="none" controls>
  <source src="video.mp4" type="video/mp4">
</video>

但是在網(wǎng)頁中我點擊播放的時候,卻發(fā)現(xiàn)只有聲音而沒有圖像。不過我用電腦中的視頻播放器播放這段視頻還是可以看到圖像的。那么問題來了,這個鍋誰來背?

問題出在哪

經(jīng)過一些搜索得知,其實根本的問題是雖然大家都是.mp4后綴的文件,但是編碼方式不同,而video標簽的標準是用H.264方式編碼視頻的MP4文件(當然video標簽還可以播放WebM和OGG格式的文件,這里就不多說了),而我之前使用的視頻文件是Xvid編碼的MP4文件,所以只能播放出音頻而不能看到圖像

解決方法

既然知道了問題出在哪,接下來就要想辦法把我現(xiàn)有的視頻文件轉碼成H.264編碼的文件。
我使用的是Mac, 而且之前并沒有裝過什么視頻轉碼的應用,搜索了一下發(fā)現(xiàn)Mac自帶一個功能叫“編碼所選視頻文件”,我嘗試著使用了一下。發(fā)現(xiàn)然并卵,生成的文件就像我在瀏覽器中播放的一樣,只有聲音沒有圖像,大概這個功能更適合吧其他格式的文件轉換成MP4吧。
經(jīng)過進一步搜索,發(fā)現(xiàn)了ffmpeg這個神器,使用這個命令行的工具,最終完成了視頻編碼的轉換,下面詳細介紹一下轉換的方法

安裝并使用 ffmpeg

我使用的是Mac,并且安裝了homebrew,所以可以直接通過homebrew安裝ffmpeg(附上一個homebrew的?官網(wǎng)

brew install ffmpeg

其實ffmpeg的指令有很多,想要詳細了解可以參見ffmpeg參數(shù)中文詳細解釋,這里我只需要把一個其他編碼格式的MP4文件轉換成H.264編碼的MP4文件,具體指令如下

ffmpeg -i input.mp4 -vcodec h264 output.mp4

自行替換input和output文件名就可以了,其實這里input文件還可以是其他格式的視頻文件,ffmpeg可以自動識別轉換的方式,非常便利!
經(jīng)過上述轉換,使用輸出的文件在Chrome上播放就沒有問題了

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容