簡體   English   中英

在Ubuntu中使用videoWriter(OpenCV)將視頻另存為MP4時出錯

[英]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.

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