日期:2014-05-16  浏览次数:20864 次

linux下使用Qt进行视频采集与录制问题
最近在做linux下的视频采集项目,使用Qt来开发

目前已成功调用v4l2采集到了摄像头捕获的图像,但摄像头支持的视频格式是YUYV的,采集到的图像不能直接保存为jpg格式的图片。

现在想把采集到的图像实时在Qt的程序中显示,同时录制成视频文件,请问要将YUYV转换为RGB后才能显示和压缩成视频文件呢还是可以直接显示、录制成视频?
另外进行格式转换、保存图片和录制视频文件使用什么比较好呢? Ffmpeg? xvid? phonon(这个可以不)?
哪个使用起来比较方便简单呢?

最好只使用linux或Qt自带的库,因为这个项目最后还要一直到arm平台上,ffmeg貌似要安装一些东东?好移植不?

有哪位高手研究过的啊,求指点啊~~~~

先谢谢了

------解决方案--------------------
这个项目网上应该有资料——很多ARM开发板都自带有这个程序,但代码没公开。
楼主搜索一下“V4L2 QT 摄像头”这些关键字,看能不能找到点资料。

我当初也想这样,但限于能力,只能用SDL来显示图像。不过我当时摄像头出来的是MJPEG格式的。直接保存就是jpg图像了。

QT好像有个Image的类,是RGB的,YUV和RGB转换不了解。
录制视频我没写过程序,但使用过ffmpeg命令行来试过。

我做过JPEG流转MJPEG格式的AVI视频文件,简单说就是按照AVI文件格式来写数据。
------解决方案--------------------
以前同学做过cgi显示的
------解决方案--------------------
bmp图片格式好像是RGB的,加个bmp头应该就是bmp图片了。
jpg格式的话,用libjpeg这个库试试。

--上面的都没有亲身实践过。

录制视频不懂,ffmpeg有这个功能的,但代码不容易看懂啊。
如果转换成jpeg格式,就用我前面说的,做成mjpeg编码的AVI视频文件,但这个瓶颈在于IO速度和摄像头采集速度。

PS:我这段时间也想研究一下LCD显示图片及摄像头图像,正在初步学习各种图片格式、库,在缓慢进行中。


------解决方案--------------------
我只懂jpeg编码保存为视频文件,如果已经得到jpeg编码的图片,就直接写文件(参考AVI文件格式),但ffmpeg不了解。帮不上忙。