linux下面运行的程序,系统装了xvid和ffmpeg,用cvCreatVideoWriter保存视频关键代码如下:
while(pFrame = cvQueryFrame( pCapture ))
{
nFrmNum++;
//如果是第一帧,需要申请内存,并初始化
if(nFrmNum == 1)
{ int frameH = pFrame->height;
int frameW = pFrame->width;
printf("frameH= %d, frameW =%d \n",frameH,frameW);
writer=cvCreateVideoWriter("out.avi",CV_FOURCC('X','V','I','D'),fps,cvSize(frameW,frameH),isColor);
if(!writer)
printf("error!\n");
cvWriteFrame(writer,pFrame);
}
else
{
cvWriteFrame(writer,pFrame);
.........
运行结果:
frameH= 480, frameW =640
Output #0, avi, to 'out.avi':
Stream #0.0: Invalid Codec type -1
段错误
尝试了很多方法,out.avi创建出来了,但大小为0,总是提示 Invalid Codec type和段错误,直接退出了,不知道是什么问题,xvid和ffmpeg安装后需要什么设置吗,怎么用呢?段错误是个什么意思?望高手指教,谢谢! |