今天为了将百度地图得到的地图记录保存为视频,本地保存下来。于是乎折腾了大半天opencv。其函数cvCreateVideoWriter还是有一些地方需要注意的。当然,我这里不会介绍该函数的具体细节了。
遇到的问题1: 现象是保存的avi文件大小为0KB。调试发现是cvCreateVideoWriter返回空指针。
原因及解决办法:原因是cvCreateVideoWriter的第二个参数问题,编码格式。opencv会调用其它的编码方式,而不是独立的。所以要额外安装视频编解码软件,网上说安装ffdshow就可以了,我安装好后,重启vs2013,编码格式设置为 CV_FOURCC('M', 'J', 'P', 'G'),立马正确了。
遇到的问题2:cvCreateVideoWriter保存的文件实在太大,我用一幅500*500的图片,30的帧率,5分钟,该视频有970MB,实在是太大。所以,我又开始折腾起视频编码的问题了。
解决办法:解决办法也很简单,将视频编码格式换做 CV_FOURCC('X', 'V', 'I', 'D',然后重启vs2013.这下5分钟的视频变为80MB了,在接受的范围内。