问题标签 [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.
linux-device-driver - 在 Linux 内核中移植虚拟视频驱动程序
我正在尝试在 linux 内核中构建 vivi 驱动程序。我尝试使用 make menuconfig 但我没有看到任何启用 vivi 驱动程序的选项。谁能告诉我在内核中启用 vivi 驱动程序的过程
-基兰
python - 无法使用 Python/opencv 关闭/打开 CameraCapture:设备或资源繁忙
当我尝试使用 Python 重新打开 opencv 的 CameraCapture 时,我得到:
尽管我的应用程序使用 PyQt 和其他各种模块在更大的上下文中运行,但我能够隔离问题。因此,当我点击“r”(重新加载)时,捕获对象被删除,但我无法重新打开与相机的连接,因为它仍然处于活动状态:
为类似问题给出的提示对我不起作用: 在使用 python 时无法在 opencv 中找到 ReleaseCapture?和/或OpenCV / Array 应该是 CvMat 或 IplImage / 释放捕获对象
opencv - 在 Linux 上使用 OpenCV 捕获多个网络摄像头 (uvcvideo)
我正在尝试在 Ubuntu 11.10 上使用 OpenCV 2.1 同时流式传输来自 3 个 Logitech Webcam Pro 900 设备的图像。为这些加载了 uvcvideo 驱动程序。
捕获两个设备工作正常,但是三个我遇到第三个空间不足错误:
我似乎遇到了这个问题: http ://renoirsrants.blogspot.com.au/2011/07/multiple-webcams-on-zoneminder.html我试图做 quirks=128 (或几乎任何其他二次幂)技巧,但无济于事。我还尝试在另一台带有两个 USB 2.0 集线器的机器上将两个摄像头连接到一个,将第三个摄像头连接到第二个,这导致了同样的问题。我大致如下初始化(使用 N 个摄像头,因此结果实际上被放入 STL 向量中):
并尝试将所有摄像机循环捕获为
这适用于 N=2 相机。当我设置 N=3 时,第三个窗口打开但没有图像出现,并且控制台充满了 V4L2 错误。同样,当我设置 N=2 并尝试在说 Cheese(简单的网络摄像头捕获应用程序)中打开第三个摄像头时,这也不起作用。
现在来了个大问题:通过启动三个实例尝试 guvcview 后,我能够一次查看三个摄像头(在帧速率或相关方面没有问题),所以这似乎不是硬件问题。我认为我应该设置一些属性,但我不确定那是什么。我已经研究了 MJPEG(这些相机似乎支持),但没有成功设置这个属性,或者如果我从 OpenCV 启动它们,它们在哪种模式下运行(yuyv?)。
想法?
c++ - V4L2 的线程安全性如何?
除了这封来自 2008 的电子邮件之外,我找不到任何提及 V4L2 的线程安全特性的内容。它谈到了大内核锁,我猜它现在已经消失了,对吧?
有人有这方面的最新信息吗?我可以ioctl
(我特别想VIDIOC_DQBUF
和VIDIOC_QBUF
)来自多个线程的相同 V4L2 文件描述符而无需序列化吗?上面引用的讨论似乎表明答案取决于驱动程序,但我想我还是会问。
v4l2 - v4l2 图像捕获的时间戳
我有一个处理相机图像的 Linux 应用程序。目前我为 v4l2 内核子系统提供缓冲区,这些缓冲区填充了图像数据。
但是,我需要尽可能准确地知道(由相机)捕获此帧的时间。使用缓冲区,我可能无法准确知道何时发生这种情况,因为我可能无法及时处理所有帧(即,我可能会在图像已经可用几毫秒时请求图像)。
我正在寻找的是一种确定(或估计)图像被捕获的时间(或它的年龄)的方法,例如通过让内核以某种方式记录它,或者在最坏的情况下通过不将图像流式传输给我,而是仅应我的明确要求发送。
环境:UVC 网络摄像头,Linux 内核 2.6.3x,V4L2 API
v4l2 - v4l2_buffer->timestamp 值从哪里开始计算?
我正在尝试使用 v4l2_buffer 的时间戳值(类型 timeval)将从UVC网络摄像头捕获的图像同步到外部事件。
但是时间戳与系统时间或正常运行时间等不同:
结果是
我的正常运行时间是 10 天。
android - 适用于 Android USB 网络摄像头的 V4L2 补丁
我一直在尝试使用https://bitbucket.org/neuralassembly/simplewebcam作为指南,让 USB 网络摄像头在我的 Acer A500 上工作。
根据我设备上的配置文件,它满足所有要求并且应用程序运行,但我仍然无法让它工作。
我在这里找到了一个 V4L2 补丁:http ://code.google.com/p/android-m912/downloads/detail?name=v4l2_camera_v2.patch但我不知道如何处理它。
我会很感激任何可以帮助我编译/安装这个补丁的人。
谢谢
保罗
Acer A500 CWM 3.2 植根于 ADHOC wifi 支持
android-camera - V4l2:缓冲区的Enque,Deque和Queue(ing)之间的区别?
我是v4l2中的菜鸟,并试图找出ioctl
在相机图像捕获期间进行的各种调用之间的区别。我正在关注来自 linuxtv.org 站点的此 pdf,我想知道以下内容之间的区别:
缓冲区的查询、入队、出队和队列(ing)。从相机获取原始数据是否有特定的顺序?在流式传输和捕获模式的情况下,序列是否会有所不同?
任何人都可以解释一下。
c - 编译 v4l2 程序时出现 ioport.h 错误
我想关注这篇关于 v4l2 驱动程序编写的文章。
但是当我包含 media/v4l2-dev.h 时,我的第一次基本尝试失败了(因为我想访问像 VFL_TYPE_GRABBER 这样的宏)。
media/v4l2-dev.h 包括 linux/device.h ,其中包括 linux/ioport.h 与此输出崩溃:
[...]
来源 :
我编译:
它发生在 2.6.32-37-generic-pae 和 gcc 4.4.3 glibc 2.10 我在 gentoo 上用内核头文件和 gcc 的近似等效版本进行了同样的尝试。
我究竟做错了什么 ?
编辑:指出确切的包含路径。
c++ - 如何写入/管道到由 V4L2loopback 模块创建的虚拟网络摄像头?
我编写了一个应用程序,它从网络摄像头读取并在 Linux 上使用 OpenCV 处理帧。现在我想将我的应用程序的输出通过管道传输到由 V4L2loopback 模块创建的虚拟网络摄像头,以便其他应用程序能够读取它。我已经使用 C 编写了应用程序。我不知道该怎么做。你能给我一些提示吗?