问题标签 [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.

0 投票
2 回答
4469 浏览

linux - v4l2可以用来从同一设备读取音频和视频吗?

我有一张捕获卡,可以捕获带有嵌入音频的 SDI 视频。我有一个 Linux 驱动程序的源代码,我正在尝试增强它以添加对 video4linux2 的支持。我的更改基于 vivi 示例。

我遇到的问题是我能找到的所有示例都只处理视频或音频。即使在客户端,一切似乎都假设 v4l 只是视频,比如 ffmpeg 的 libavdevice。

我是否需要让我的驱动程序创建两个单独的设备,一个 v4l2 设备和一个 alsa 设备?似乎这使得保持音频和视频同步的工作变得更加困难。

对于在驱动程序和应用程序之间传递的每个缓冲区(通过 v4l2 的 mmap 接口),我希望以某种方式包含一个帧,以及一些与该帧匹配(相对于时间)的音频。

或者也许让每个缓冲区包含一个标志,指示它是视频帧还是音频块。然后缓冲区上的时间戳可用于同步。

但是我没有看到使用 V4L2 API 规范的方法,也没有看到任何支持 v4l2 的应用程序(gstreamer、ffmpeg、转码等)从单个设备读取音频和视频的示例。

0 投票
3 回答
3605 浏览

linux - 保存 V4L2 摄像机输出

如果我以位图格式捕获使用 V4L2 保存相机的输出时,哪种视频格式最容易?当然,直接获取 mpeg 可能很好,但不幸的是,我不能指望这一点。

我已经设法捕捉到这些帧,现在我需要以某种方式查看视频。我可以使用一些 Linux 工具简单地转换这些帧,还是可以直接从我的应用程序轻松保存视频?

0 投票
3 回答
2205 浏览

c++ - 将视频流式传输到多个源并从多个源传输

我想得到一些想法,即你们中的一些人将如何解决这个问题。我有一个机器人,它运行 linux 并使用网络摄像头(带有 v4l2 驱动程序)作为其传感器之一。我用 gtkmm 编写了一个控制面板。服务器和客户端都是用 C++ 编写的。服务器是机器人,客户端是“控制面板”。图像分析正在机器人上进行,我想将视频从摄像头传回控制面板,原因有两个:A)为了好玩 B)叠加图像分析结果

所以我的问题是,将视频从网络摄像头流式传输到控制面板以及优先处理机器人代码的一些好方法是什么?我对编写自己的视频压缩方案并将其通过现有的网络端口不感兴趣,我认为最好使用新的网络端口(专用于视频数据)。问题的第二部分是如何在 gtkmm 中显示视频?视频数据异步到达,我无法控制 gtkmm 中的 main(),所以我认为这会很棘手。

我愿意使用 vlc、gstreamer 或任何其他我不知道的通用压缩库。

谢谢!

编辑:机器人有一个 1GHz 处理器,运行类似桌面版本的 linux,但没有 X11。

0 投票
5 回答
2048 浏览

python - python中的用户指针

*我正在尝试显示使用 v4l 捕获的网络摄像头的预览。

以下是代码的外观:

我得到 ValueError: not enough image data


好吧,我进口

然后之后

诸如此类的东西,我尝试获取记忆

现在 b_address 不再 = None b_address 类似于 c_void_p(145014784)

然后我启动循环、QBUF、DQBUF 等。

问题是,当我调用 pygame.image.frombuffer

我得到 TypeError: expected a character buffer object

0 投票
1 回答
2338 浏览

python - 使用 v4l2 捕获并使用 gstreamer 显示预览

如何在 Q_BUF、STREAM_ON、DQ_BUF 之后将缓冲区/用户指针传递给 gstreamer。

我尝试使用 PIL 的方法 frombuffer,但没有成功。所以我现在想使用 gst sink。

我应该使用 gst.parse_launch() 以及如何使用?

有人做过吗?

0 投票
2 回答
12493 浏览

android - 如何在 Android 中使用 V4L 或 V4L2(Linux 视频)?

Android Linux 内核是否支持 V4L 或 V4L2(Linux 视频)。如果没有,是否可以添加它?

0 投票
3 回答
41179 浏览

c++ - v4l2 很简单的例子

我正在寻找一个使用 V4L2 在 Linux 中访问相机的简单示例。我在哪里可以找到它?尽可能简单。

谢谢,

0 投票
0 回答
1114 浏览

video - V4L2 图像大小问题

我在使用 V4L2 和一些罗技网络摄像头时发现了一个非常奇怪的问题。设置 height = 320, width = 240 和格式 I420,图像大小必须是 115200 字节,但是通过 V4L2 查询给我 29390 字节的图像大小。

我认为强制缓冲区大小具有正确的大小,但似乎驱动程序不支持 115200 字节如何使用高度 = 320 和宽度 = 240 的缓冲区大小,所以我无法正确捕获。

有人可以帮助我吗?

谢谢

0 投票
1 回答
2676 浏览

c - DQBUF 的 ioctl 的 V4L2 参数无效

我遇到了一个 V4L2 问题。下面是代码。

在带有linux 2.6.24arm-linux-gcc 3.4.1的ARM 2440上运行时,错误是“dqbuf:无效参数”。但在我的 PC 上,它运行良好。我不知道为什么会这样。谢谢。

0 投票
1 回答
1626 浏览

c++ - 寻找集成 Qt4 和 v4l2 库的示例代码

作为主题,我尝试了官方网站的源代码(基于c语言),但不是那么完整,我想看看一些可以转储图像并转移到Qt类,QImage左右的示例。

非常感谢。