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