[英]OpenCV videowriter H264 codec (ffmpeg)
我想用opencv保存带有无损压缩的视频,这样我就不会丢失帧的任何细节。 一切都适用于xvid编解码器但是当然这不是无损压缩,所以我发现x264编解码器是合适的。 但它不起作用,我尝试了以下示例代码,但在运行时我收到以下错误:“找不到编解码器ID为28的编码器:找不到编码器。”
cv::VideoWriter makeVideo;
makeVideo.open("makevideo//newVideo.mp4", CV_FOURCC('X','2','6','4'), 30, cv::Size(1600,1200), true);
cv::Mat image = imread("makevideo//frames//111.png");
for(int i = 0; i < 200; i++)
makeVideo << image;
makeVideo.release();
我发现为了这个工作,我需要ffmpeg支持。 我目前正在使用opencv2.4.6并在此讨论中( 如何使用openCV FFMPEG视频I / O而不是Windows中的DirectShow? )有人提到在opencv2.4中会自动包含ffmpeg。 但它没有工作......
这里( 如何用Visual Studio 2010编译支持ffmpeg的OpenCV 2.3 )我发现如何在windows上自己编译opencv和ffmpeg。 我成功地遵循了所有步骤,但我仍然得到同样的错误....
我有同样的问题,无法找到解决方案。 所以现在我总是使用-1作为FOURCC并手动选择x264编解码器。
我设法在ubuntu上工作,记下供你参考。
x264
编解码器工作,您需要: 在启用x264的情况下构建FFmpeg ! 尝试以下命令来验证H264
编解码器:
ffmpeg -i x264-input.mp4 -vcodec libx264 -f mp4 x264-output.mp4
按照FFmpeg官方文档从源代码安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.