解决"cvCreateVideoWriter保存视频帧压缩格式只能用-1"的问题
2010-05-23 11:08
561 查看
cvCreateVideoWriter函数的说明
创建视频文件写入器typedef struct CvVideoWriter
CvVideoWriter;
CvVideoWriter* cvCreateVideoWriter
( const char* filename, int fourcc,
double fps, CvSize frame_size, int is_color=1 );
filename
输出视频文件名。
fourcc
四个字符用来表示压缩帧的codec 例如,
CV_FOURCC('P','I','M','1') = MPEG-1 codec
CV_FOURCC('M','J','P','G') = motion-jpeg codec
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec
CV_FOURCC('U', '2', '6', '3') = H263 codec
CV_FOURCC('I', '2', '6', '3') = H263I codec
CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec
若编码器代号为 -1,则运行时会弹出一个编码器选择框.
fps
被创建视频流的帧率。
frame_size
视频流的大小。
is_color
如果非零,编码器将希望得到彩色帧并进行编码;否则,是灰度帧(只有在Windows下支持这个标志)。
函数cvCreateVideoWriter
创建视频写入器结构。
遇到的问题
第二个参数除了选择-1(基于Windows平台)让其弹出一个窗口选择压缩帧格式或先获取视频编码属性,然后设置写入器编码属性,就能创建成功了
outCompressCodec = (int)cvGetCaptureProperty(pCapture,
CV_CAP_PROP_FOURCC);
pVideo = cvCreateVideoWriter("c://out.avi",
outCompressCodec, m_framerate, cvGetSize(frame), 1);
选择其他参数
都会出错
,
在网上找了发现有不少人遇到类似的情况,但解决办法却没有.
解决方法
后来偶然在网上看到一篇介绍使用opencv保存mp4格式的文章,里面说到要安装ffdshow软件才能保存mp4格式的文件.我安装完好测试确实如此.接着发现cvCreateVideoWriter
函数第二个参数正常了,可以使用函数说明中的任何参数.万事大吉.
附:ffdshow下载地址
补充:cvWriteFrame不支持ROI
相关文章推荐
- 解决"cvCreateVideoWriter保存视频帧压缩格式只能用-1"的问题
- 解决"cvCreateVideoWriter保存视频帧压缩格式只能用-1"的问题
- 关于保存*.js是出现some character can not mapped using "iso-8859-1" 的问题解决见解
- 视频压缩cvCreateVideoWriter()的问题
- Android HTML5 Video视频标签自动播放与自动全屏问题解决
- java在线聊天项目0.5版 解决客户端向服务器端发送信息时只能发送一次问题 OutputStreamWriter DataOutputStream socket.getOutputStream()
- Java 递归解决 "只能两数相乘的计算器计算x^y" 问题
- SQL2008"阻止保存要求重新创建表的更改"问题的解决
- 解决用VideoView 播放一些视频无法播放问题
- "JVM terminated. Exit code=-1"问题的解决方法
- IE兼容问题解决方案——指定文件兼容性为content="IE=Edge,chrome=1"(可以解决很多的问题)
- 黑马程序员-解决系统报错“线程间操作无效: 从不是创建控件" txtbox1" 的线程访问它”问题的方法
- opencv 将视频读为图片放在指定文件夹中/将指定文件夹中图片读出并合成视频 cvCreateVideoWriter试分析
- django下video播放时间不能超过5s并且视频有时无法显示问题的解决方法
- opencv VideoWriter保存视频失败原因
- UEditor 解决拖拽视频元素改变视频尺寸时,无法保存视频尺寸问题的解决方法
- cvCreateVideoWriter 创建视频文件写入器 用法
- cvCreateVideoWriter的返回值总是0x00000000的问题
- DreamWeaver文件保存时,提示"发生共享违例"问题的解决方法
- MyEclipse问题:some characters can not mapped using "iso-8859-1" character encoding 解决方法