VideoCAP就是V4L提供的Linux下的用于电视(数字/模拟)的接收,存储,发布和PVR/DVR应用内核支持组件.
一般来讲,CCD/CMOS的摄像头也是使用此类接口.电视卡一般采用模拟接入,也可以像Windows下进行数据
采集的.
如果你对系统不了解,只知道库,控件什么的,这比较麻烦.
这需要对整个流程非常熟,以及对RGB/YUV的转换非常了解,才能完成实时视频流捕获/压缩和后处理.
很失望的是,这方面没有现成的控件.如果有,也只能使用驱动直接提供的接口.
至于上面有朋友提到什么timer/mmap,这只是在ioctl时,采用的一种技术.一般采用mmap,但这只能
将数据读出来,但你要知道读出来的是什么颜色,什么格式的数据呀?YUV 4:4:2/RGB 8:8:8?还是其它格式?
各种制式还要适合你的显示设备的制式,你的VGA支持哪种格式?一般是YUV 4:2:2.如果你的LCD/VGA等不
持,显示不出来.如果支持相同格式,按byte读出buffer,直接写入或cat到framebuffer上就可以显示出来了.
至于实时的preview,就是Overlay所支持的回放.打开相应的Overlay层,一个while循环就可了了.
以上便是智能设备视频开发流程的全部.
尽管我有全部的代码,但有可能涉及到商业代码,恕不能提供更多技术支持.
所能支持层:目前有一个家公司提供的产品中,能支持mjpeg/3gp播放,但不能实时codec,而以前我们所工作的
平台,能完全实时3gp实时压缩/RTP发布,支持DivX/Xvid.能让mplayer工作于arm平台,很流畅的进行播放.
首先,能对你提供帮助的是,这与QT没有任何关系.
QT只工作于fb0所支持的Base层.这是三层概念.
Base Layer fb0-->就是你的Qtopia可以显示的平面
Overlay 2 -->就是你要看到效果的平面,用于VideoCapture来的数据流实时显示
Overlay 1 -->就是你的数码相机/手机/PDA上,拍摄时,上面显示的按键/调节提示/文字/时间等
至于QTE,它只负责将GUI数据显示于第一层的内存空间
而Overlay 2是你的显示模块能支持最大的全屏图像数据大小的内存空间
Overlay 1是另一片内存区,比Overlay 2要小,主要用于存储最上层的一此提示数据/图像显示
这三层的实时,与嵌入式与否无关.
如还不清楚,建议你看看Intel中IPP关于图像/视频这部分的内容.
这比较麻烦,我只能帮你到这儿.之所以不清楚,是你对这个流程并不清楚.
就是你将数据读出来了,写到你的QT Label内存区间,是不一定显示正常的.这此数据只是颜色数据
这显相于直接写屏呀.不会引起显示的混乱??