[英]Error while saving video as MP4 using videoWriter(OpenCV) in Ubuntu
我正在嘗試使用videoWriter函數將視頻文件保存為ubuntu16.04中的MP4格式
int frame_width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
int frame_height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
VideoWriter video("/home/Desktop/1.mp4",CV_FOURCC('M','J','P','G'),10, Size(frame_width,frame_height));
但是我得到如下錯誤:
OpenCV: FFMPEG: tag 0x47504a4d/'MJPG' is not supported with codec id 8 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x0000006c/'l???
當我將輸出文件擴展名更改為.avi時,沒有錯誤,但VLC播放器不顯示任何視頻。 我也嘗試過不同的球員,但徒勞。
我什至做以下事情,以為我的VLC可能是一個問題,但是沒有用。 確實需要解決方案
sudo apt-get ubuntu-restricted-extras
按照此鏈接, 在Linux上用FFmpeg從OpenCV 3編寫x264時 OpenCV: FFMPEG: tag 0x47504a4d/'MJPG' is not supported with codec id 8 and format 'mp4 / MP4 (MPEG-4 Part 14)'
終端消息OpenCV: FFMPEG: tag 0x47504a4d/'MJPG' is not supported with codec id 8 and format 'mp4 / MP4 (MPEG-4 Part 14)'
不支持錯誤,但警告編解碼器類型與ffmpeg和mp4容器不兼容。 但是,它會生成輸出視頻文件。
如果MJPG編解碼器對您而言無關緊要,請嘗試將其替換為0x21
並檢查輸出。
VideoWriter video("/home/Desktop/1.mp4",0x21,10, Size(frame_width,frame_height));
如果您的視頻仍然無法播放,則可能是VideoWriter沒有將任何幀寫入視頻。 您可以通過算法檢查輸出的書面視頻中是否有任何幀。
有關更多說明,您可以檢查VideoWriter類參考https://docs.opencv.org/3.4.3/dd/d9e/classcv_1_1VideoWriter.html
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.