使用Qt显示WebCam视频

11
我正在Linux Gnome(Ubuntu 9.04)上使用Qt 4.5(2009.03),希望在我的Qt应用程序的Phonon :: VideoWidget中显示由我的网络摄像头捕获的视频。我已经使用v4l2 API实现了第一版,其中我自己进行YUV2到RGB转换并填充QImage。它工作得很好,但效率不高。我的同事使用gStreamer做同样的事情,速度快得多。自那以后,我发现了phonon,并想使用它。除了将webcam设备作为源绑定之外,一切都已配置和设置好。我应该创建一个MediaSource对象,但我不知道如何配置它。任何帮助都将非常有价值。 编辑:Phonon概述解释说它尚未支持。但我需要一个解决方案。

我希望我能做同样的事情,但使用跨平台应用程序在Windows、Linux和MacOS X上工作。 - Natim
1
我现在有一个工作版本,但它仅使用视频4 Linux(v4l)。 opencv很容易插入Qt,但图像分辨率固定为低值,在Windows上非常低。更改分辨率参数没有任何效果。使用我的Linux版本,我没有这个限制。我从yuv转换,将图像倾斜90度,并立即复制到QImage缓冲区中。使用800x600 @ 5fps,CPU使用率非常低。 - chmike
你有一些代码可以给我看吗?我需要为一个项目做同样的事情。 - Natim
+2. 很棒的问题!我正在寻找一种方法,使Qt能够显示由网络摄像头捕获的视频序列。您会以公共许可证发布它吗?谢谢! - Viet
3个回答

5

4

2

也许你可以看一下kapture的实现方式。


我检查了,但它无法初始化网络摄像头。 我使用v4l2直接编写的代码可以正常工作。 我看到他也手动转换图像,这不好。 - chmike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接