gpt4 book ai didi

c++ - 在 Ubuntu 中使用 videoWriter(OpenCV) 将视频保存为 MP4 时出错

转载 作者:太空宇宙 更新时间:2023-11-03 23:08:11 26 4
gpt4 key购买 nike

我正在尝试使用 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:回退使用标签 0x0000006c/'l???

当我将输出文件扩展名更改为 .avi 时,没有出现任何错误,但 VLC 播放器不显示任何视频。我也尝试了不同的播放器,但都是徒劳的。

我什至做了以下事情,认为我的 VLC 可能有问题,但没有用。真的需要一个解决方案

sudo apt-get ubuntu-restricted-extras

最佳答案

根据此链接,Writing x264 from OpenCV 3 with FFmpeg on Linux终端消息 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

谢谢

关于c++ - 在 Ubuntu 中使用 videoWriter(OpenCV) 将视频保存为 MP4 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54740012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com