【轉】使用ffmpeg轉碼的MP4文件需要加載完了才能播放的解決辦法


1、前一段時間做了一個ffmpeg轉碼MP4的項目,但是轉出來的MP4部署在網站上需要把整個視頻加載完成才能播放,到處找資料,最后找到解決方案記錄於此備忘。

 

FFMpeg轉碼由此得到的mp4文件中, meta信息是在文件尾部的, 而 videoview 在沒有得到meta信息前不會播放文件, 因此只有等到文件完全下載完視頻才會播放。解決方法很簡單,下載qtfaststart.exe把meta信息移到文件頭部。

下載地址:http://www.ckplayer.com/down/qt-faststart.rar。也可以到我的資源里去找,解壓后用cmd運行。

from:https://blog.csdn.net/dancing_night/article/details/44407919

 

2、由於需要mp4視頻播放時實現邊播放緩存功能,所以使用qt-faststart.exe設置第一幀為關鍵幀,且帶源信息。

這個程序很小,指令也很簡單:"qt-faststart.exe所在路徑   原視頻路徑  輸出目錄路徑",

 例如:“d:\qt-faststart.exe d:\1.mp4   d:\temp\1.mp4”

)

但出現個別視頻在控制台報last atom in file was not a moov atom的異常錯誤,即這個mp4的源信息數據獲取不到,

需要深入了解的可以參考:MP4文件格式詳解——元數據moov(一)mvhd box

所以qt-faststart.exe無法輸出文件,這個時候還是需要使用ffmpeg對視頻進行處理和重新輸出

"d:\ffmpeg.exe -i d:\1.mp4 -acodec copy -vcodec copy d:\ff\1.mp4".

然后在使用qt-faststart.exe對新輸出視頻文件進行處理就可以了。

 

qt-faststart.exe下載路徑:faststart下載

 

ffmpeg官網:ffmpeg

from:https://blog.csdn.net/qq_16226893/article/details/76990885

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM