用opencv的videocapture把videocapture读入的数据保存成新的视频,代码很简单,首先打开一个输出视频流:
cv::VideoWriter video(video_name, CV_FOURCC('M','J','P','G'), 30, cv::Size(640,480), false);
然后往里写数据:
video << frame;
最后关闭视频流:
video.release()
上面是核心代码,注意,size可以通过cap设置属性,这样会更好些
cv::VideoWriter video(video_name, CV_FOURCC('M','P','4','V'), 30, cv::Size(cap.get(3),cap.get(4)), true);
But,我写入的视频大小始终是5.7kb,上网查找后,很多人对这个问题展开讨论:
https://github.com/ContinuumIO/anaconda-issues/issues/223
上面是一些不错的建议,供参考。
看完这些回答,还是没能解决我的问题。
继续搜罗答案:
http://cn.voidcc.com/question/p-kaflvm