问题标签 [v4l2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yuv - YUVY 格式表示 - v4l2 规范?
这是著名的 V4l2 Api 规范的摘录。但我无法理解YUYV 也称为 YUV422 格式表示。有人可以在这里解释一下吗。
这是摘录:
每个 Y 都属于其中一个像素,而 Cb 和 Cr 属于两个像素。这里的 Cell 和 Pixel 的表示是什么。这里的像素是如何表示的。我们如何以编程方式表示它。
请解释一下。Rgds,软软的
c++ - 如何将 opencv 图像(IplImage)写入 V4L2 环回设备?
正如标题所说,我不确定如何将 IplImage 写入 V4l2 环回设备。我知道如何写入设备,正如我在此处发布的如何写入/管道到由 V4L2loopback 模块创建的虚拟网络摄像头?
但现在我不确定如何将 IplImage 对象准确写入设备。如果我只写 image->imageData,其中图像是 IplImage*,当我使用“luvcview”查看设备时,格式错误的帧会显示大约一秒钟,然后它会引发以下错误。
可能是因为我没有将opencv图像转换为v4l2格式吗?还是 v4l2 参数与 IplImage 属性不匹配?如果有怎么办?
如果有人知道这个错误是什么意思,请告诉我。
我决定单独发布这个问题,因为这个问题不是关于写入设备,特别是关于将 IplImage 写入设备。
谁能给我一个代码片段,显示如何将 IplImage 写入 V4l2 环回设备?
python - Linux 上的 OpenCV(通过 python):设置帧宽度/高度?
我在linux(ubuntu 12.04)上通过python使用openCV,我有一个罗技c920,我想从中获取图像。Cheese 能够抓取非常高分辨率的帧,但每当我尝试使用 openCV 时,我只能得到 640x480 的图像。我努力了:
但这会在最后两行中的每一行之后产生“0”的输出,并且当我随后通过以下方式抓取一帧时:
生成的图像仍然是 640x480。
我尝试通过(在python之外)安装似乎相关的工具:
我确实可以通过以下方式显然操纵相机的设置(同样,在 python 之外):
并观察到:
确实表明某些事情已经改变:
但是当我进入 python shell 时,上面的代码的行为与以前完全相同(在尝试设置属性并获取 640x480 的图像时打印零)。
能够提高捕获的分辨率对我来说是非常关键的任务,所以我非常感谢任何人可以提供的任何指针。
mediacontroller - 来自给定媒体实体的启用链接
在 Linux V4L2 和媒体控制器架构中,我们将媒体设备视为媒体实体,并在旅途中动态地建立它们之间的连接..!! 例如,demux0(demuxer 0)可以连接到 Vid_plane1(赋予主视频输出的实体名称)。此外,一个媒体实体可以一次与多个媒体实体连接。
我的问题是,如果我想找出特定媒体实体输出垫(接收器垫)存在多少启用的连接,找到它的方法是什么?
c++ - 如何在 Qt 4.8 (C++) 中使用 Video4Linux2 (v4l2) 在 OpenCV 2.4 中捕获视频?
我有 Xubuntu 12.04。如我所见,我的网络摄像头不是由 Linux 版本的 OpenCV 2.4 提供的,因为在 Windows XP(在同一台机器上)代码
不会返回 NULL,但在 Linux 中会。我尝试了许多参数(许多负数、许多正数和零)。
但其他应用程序可以在 Linux 中从我的网络摄像头捕获视频。
我尝试编译和运行这段代码,我认为它运行良好,因为我可以看到点,而且我还可以看到缓冲区的一些奇怪内容(使用 -o 键)。我认为,内容是框架,但我不明白如何使用它(例如,从中创建正确的 IplImage*)。
如何在 Qt 中从我的网络摄像头捕获视频以进行进一步的 OpnenCV 视频处理?
而且我还需要一次从多个 USB 和 IP 摄像机捕获视频。
该解决方案必须免费用于商业用途。
linux-device-driver - 佳能 DSLR 视频环回使用 v4l2loopback 和 EDSDK Liveview?
我想用我的数码单反相机作为视频输入,让我们在 Linux 和 Android 下说 Skype / Google talk。
是否可以使用 v4l2loopback 和 Canon EDSDK 创建视频环回?如何将实时取景缓冲区从相机传输到视频环回?
谢谢
android - 在android中访问v4l2?
出于性能原因,我试图直接访问 android 中的 video 4 linux 设备并在其上执行传统的 v4l2 控制命令,根据我的 htc 需求,该设备被称为 /dev/msm_camera/config0 并且我设法打开它,但是当我在它上面尝试任何 ioctl 时,我总是得到“无效参数”,但它是在任何 linux 系统上都可以正常工作的相同代码,那么 android 有什么区别?以下是查询设备功能的代码示例:
我真的需要访问 v4l2 以获得比 Camera java 类提供的更好的帧速率,所以请不要直接告诉我 Camera android 类。
感谢您的任何提示,sevy
opencv - 如何使用 OpenCv 设置 BGR24 格式?
我有一个 V4L2 相机,可以抓取 JPEG 格式或 YUV422 或 BGR24 的帧。我想通过 OpenCV 将相机设置为 BGR24@640x480。为此,我做了以下设置:
但是opencv给了我以下错误信息:
因此,openCV 设置了 JPEG@640x480 格式而不是 BGR24。我该如何解决?
注意:BGR24 格式已使用以下 gstreamer 管道进行了测试,并且可以正常工作:
亲切的问候
python - Gstreamer 消息从视频源(网络摄像头)发出新帧信号
我正在尝试使用 gstreamer 将来自网络摄像头的流保存为一系列图像。到目前为止,我已经编写了这段代码......
在此之后,我试图在总线上创建一个信号来侦听来自源或接收器的任何消息,以指示已发送或接收新帧,以便可以保存它。
其中 save_file 是我的回调,我想保存文件。
我有两个问题,
- 如何调用此回调。message::any 不起作用。
- 调用此消息时,如何访问图像缓冲区。
更新(2012 年 4 月 12 日):
几个链接供参考
v4l 的 python 接口。但这对我不起作用。当我尝试使用 12.04 Ubuntu 时,它似乎崩溃了。 http://code.google.com/p/python-video4linux2/
感兴趣的人的网络摄像头查看器代码。但这不是我想要的,因为它使用 gst-launch 并且不提供我想要的管道控制级别。http://pygstdocs.berlios.de/pygst-tutorial/webcam-viewer.html
linux - 如何通过 V4L2 为 USB 网络摄像头枚举所有支持的图像尺寸
我一直在使用 USB webCam 和 v4l2 API 开发一些视频应用程序。API 提供了许多 ioctl() 调用来枚举通用功能、视频标准、像素颜色格式等。但是没有 ioctl() 来枚举 USB 网络摄像头支持的所有可能的图像大小。
这样做的首选方法是什么?
API 文档说您可以设置特定的图像大小,并且 ioctl() 将返回其最接近的匹配项。所以我想我可以尝试所有可能的图像尺寸,看看 USB 网络摄像头是否会拒绝它。但是,当有这么多标准尺寸格式(QCIF、CIF、4CIF、16CIF、VGA、DV、SVGA、XGA、UVGA、SXGA、UXGA 等)时,枚举所有可能支持的图像尺寸似乎是一种相当低效的方法。
谢谢,
-安德烈斯