从摄像头获取_保存视频(CV_FOURCC可以获取的视频编码格式)
2012-08-16 15:35
501 查看
#include "cv.h" #include "highgui.h" int main(int argc, char** argv) { cvNamedWindow("win"); CvCapture* capture = cvCreateCameraCapture(0); IplImage* frame = cvQueryFrame(capture); char* writePath = "f:\\my.avi"; CvVideoWriter* writer = cvCreateVideoWriter( writePath, CV_FOURCC('M','J','P','G'), 12, cvGetSize(frame));//(1)经过反复调试,此处fps调到12时输出的视频才无快放或者慢放到现象。 while(1){ frame = cvQueryFrame(capture); if(!frame) break; cvWriteFrame(writer, frame); cvShowImage("win", frame); char c = cvWaitKey(1);//(2) if(c==27) break; } cvReleaseVideoWriter(&writer); cvReleaseCapture(&capture); cvDestroyWindow("win"); return 0; }
在代码中有两个地方涉及帧率,一个是保存的视频文件需要指定帧率,一个是从摄像头读取画面时需要按一定的帧率(1、2处)。
谁的帧率小就拖了另一个后腿,视频输出的帧率由小帧率所决定。
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
经过试验,选取MPEG-4录像10秒,大小为963kb;选用H263,录像11秒钟,大小为1.25M(仅仅是验证性试验)。
相关文章推荐
- OpenCV中CV_FOURCC可以获取的编码格式
- OpenCV中CV_FOURCC可以获取的编码格式
- OpenCV中CV_FOURCC可以获取的编码…
- MATLAB 摄像头视频获取和保存
- 获取word文档或rtf格式文档的格式编码(可以应用此格式将字符以数据流的方式写入word或rtf文档)
- Video Codecs by FOURCC 视频格式编码
- opencv 、directshow捕获摄像头,实时播放,编码,保存视频,保存单帧
- OpenCV摄像头获取视频并实时保存每帧图片
- MATLAB 摄像头视频获取和保存
- python使用opencv驱动摄像头获取视频并保存
- MATLAB 摄像头视频获取和保存
- MATLAB 摄像头视频获取和保存
- ffmpeg获取摄像头数据保存成YUV420P格式
- php网站前台utf-8格式有时会出现莫名其妙的空白行,重新保存下编码格式就可以了
- MATLAB 摄像头视频获取和保存
- MATLAB 摄像头视频获取和保存
- 解析php获取字符串的编码格式的方法(函数)
- 利用cpdetector获取文件编码格式,同时得到网页内容。增加http/https通用方式
- c# 获取网页源码,自动判断编码格式新方法!
- 采集音频和摄像头视频并实时H264编码及AAC编码