问题标签 [video4linux]
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.
cross-platform - 跨平台网络摄像头访问
我正在寻找一个跨平台的视频捕获库,用于网络摄像头访问。一种在 Linux 上封装 V4L/V4L2、在 Windows 上封装 DirectShow 和在 Mac 上封装 QuickTime。
首选 C 或 C++,但如果 Java 或 Python 有更好的库选项,我可以使用它们。
c++ - 使用 video4linux 将 mjpeg 转换为原始 rgb24
我正在使用 video4linux 编写一个 c++ 网络摄像头查看器。我需要一个 RGB24 输出(交错的R8B8G8)来显示。我可以使用 YUYV、GREY8 或 RGB24 为几乎所有低分辨率网络摄像头获取视频输入。但我还需要从高分辨率网络摄像头获取输入,这些摄像头在需要高帧率时使用MJPEG进行压缩。
我能够使用V4L2_PIX_FMT_MJPEG
像素格式获取 MJPEG 流,但接收到的帧缓冲区被压缩。
如何快速将其转换为 RGB24?
我可以为此使用 libjpeg 吗?
c - 如何使用 video4linux api 获取网络摄像头设备支持的帧大小和帧间隔列表?
我正在尝试使用 V4L2 api 枚举网络摄像头设备支持的帧大小和帧速率。我尝试使用以下代码进行操作但没有成功。ioctl 函数总是返回-1。
linux - 让 BeagleBone 使用 OpenCV 捕获静止帧
我有一个运行Ångström Linux 3.2.28 的 BeagleBone,我正在尝试从我的相机中捕捉一帧。
所以我插入了我的 USB 网络摄像头,并检查/dev
以确保它显示出来。
确实如此,如video0
(右下)。我知道这是正确的,因为它在我拔掉相机后消失了。
所以现在我启动 Python 并运行以下命令:
如您所见,我能够充分创建捕获对象,但无法从中拉出框架。我也尝试过使用相机 ID 的不同(或没有)整数参数(-1
在上面的代码中),但无济于事。
作为参考,在我的笔记本电脑上使用IPython运行相同的代码如下所示:
你可以看到,我确实在捕捉图像。我不确定从这里去哪里。
更新:
我已经使用FFmpeg进行了一些尝试,并且能够通过发出以下命令让相机做出响应(即,它的灯亮起):
这很有趣,因为显然 CaptureFromCAM
使用了 V4L 界面……我不知道从这里去哪里。
c - 如何在 Linux 无线电设备驱动程序中验证无线电频率?
我知道无符号数永远不会小于 0,也无需对其进行测试。但我想避免调谐器的虚假频率。
是否可以以另一种方式进行此检查(可能有限制)?
对不可能存在的值的“虚假”频率提出更好的定义。
如果频率自调谐后没有改变,则数字驱动器不会设置频率。模拟调谐器驱动器对数字驱动器保存的频率一无所知。当使用 video4linux 代码设置频率时,硬件会发生变化,但数字驱动程序的状态不会更新。
c++ - 如何在 C++ 中从 video4linux 检索帧?
我正在尝试从网络摄像头提要中保存像素数据。
如何使用 c++ 从 video4linux 保存帧?
linux - 如何用video4linux2录制网络摄像头视频信号?
我需要使用 ffmpeg 从我的网络摄像头录制视频。
我试过这个命令:ffmpeg -re -f video4linux2 -i /dev/video0 video.avi
。
我收到了:The v4l2 frame is 24384 bytes, but 153600 bytes are expected
。
当我使用此命令对 avconv 尝试相同的操作时:avconv -f video4linux2 -i /dev/video0 video.avi
我收到了相同的错误。
但是我可以使用以下命令从我的网络摄像头接收视频:gstreamer-properties
.
如何配置 v4l2 以从我的网络摄像头获取信号视频?
macos - MBP Retina Isight 和 FFmpeg
我尝试从我全新的 MacBook Pro Retina (Mavericks) 获取视频流,以将其用作 ffmpeg 中的输入(并通过 RTMP 再次流式传输)。
我在其他堆栈溢出的主题中尝试了不同的解决方案,但似乎没有一个有效:
wacaw -L
不列出任何设备
Quicktime Broadcaster 不显示任何视频(仅限音频)
但 Isight 确实可以在 Photo Booth 中使用。
有任何想法吗 ?有人在研究这个主题吗?
linux - 如何在linux中检测相机断开连接?
在没有命令支持的情况下,如何检测相机信号断开(不是模块断开或硬件断开)V4l2-ctl
?因为我的相机驱动程序不支持v4l2-ctl
命令。
c - 如何等待帧和报警信号
我的网络摄像头有问题。它可以是硬件,但我相信它不是。使用所有应用程序,我可以看到流,但突然冻结。由于出现问题时使用的应用程序的以下输出:
我检查了代码和有趣的部分:
从中我得出结论,SYNC_TIMEOUT 可能是个问题。该值为 3 秒,这似乎已经足够了。
我的请求是帮助我更改代码以不无限期地阻塞等待帧:
如果在 100 毫秒内没有帧到达,则超时并让 GUI 有机会自我更新。并非所有设备都可以自由转动,因此应用程序应在不阻塞 GUI 的情况下支持此类设备。
如何进行亚秒级等待?
v4l2 设备在这方面工作得很好:
但我有 v4l1 设备。