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

0 投票
1 回答
702 浏览

c++ - 如何在 Linux 中获取 mmap() 函数的 FileDescriptor 的内存地址,用于 Video4Linux

下午好,

我正在尝试确定由视频为 linux 的 IO_METHOD_MMAP 分配的缓冲区的物理内存位置

通过 mmap 函数查看,

我看到 buf.m.offset 为 0,然后将每个平面的 buf.length 值递增。

我正在寻找的是 /dev/video0 设备创建的文件描述符 (fd) 在内存中的物理地址。

这是在 Im6 上。

这样做的目的是将该物理地址传递给 GPU,

谢谢,

0 投票
3 回答
7618 浏览

timestamp - 对于捕获的帧,GStreamer 时间戳 (PTS) 不会单调递增

我编写了一些代码来使用 GStreamer 1.0 (PyGST) 从网络摄像头捕获帧。知道捕获的确切时间对我来说很重要。为此,我设置了 v4l2src 属性 do-timestamp,并使用 appsink 将缓冲区 PTS 写入文本文件。

但是,时间戳不是单调递增的。例如,第 16 帧的时间戳为 0.88199 秒,第 17 帧的时间戳为 0.77462 秒,即比前一帧早 0.10737 秒。(我有一个显示问题的图,但缺乏发布它所需的声誉。)

捕获的 GstBuffers 的 PTS 并不总是单调增加是否正确?如果这不是正常行为,有谁知道我搞砸了什么?

我使用罗技 c920 网络摄像头。帧在相机上采用 h.264 编码。代码大致如下:

0 投票
1 回答
10273 浏览

webcam - 为什么我可以将 h264 编码的视频从网络摄像头流式传输到显示器和文件,而不是原始视频?

我想从 Logitech C920 网络摄像头流式传输原始视频,同时使用GStreamer 1.0 显示和保存视频到文件。

如果我从相机流式传输 h264 编码视频(相机提供硬件编码的 h264),则此方法有效,但如果我从相机流式传输原始视频,它会失败。但是,如果我只显示或只保存到文件,则流式传输原始视频有效。

为什么它适用于 h264 视频流而不适用于原始视频流?

从相机到显示器和文件的 h264 编码视频流(WORKS):

从相机到仅显示的原始视频流(工作):

从相机到唯一文件的原始视频流(工作):

从相机到显示器和文件的原始视频流(失败):

最后一个命令(显示和文件的原始视频)失败,没有任何警告或错误。gst-launch 终端输出与仅写入文件时完全相同。xvimage 窗口出现并显示来自相机的图像,但图像没有改变(即它被冻结)。也会出现一个零字节文件。

我已经尝试了上述命令的多个版本,但我认为这些是可以重现问题的最小命令。

有谁明白我做错了什么?

0 投票
1 回答
6063 浏览

ffmpeg - 如何使用 ffmpeg 捕获 h264

我正在尝试使用 ffmpeg 捕获 h264 并将其发送到我的虚拟设备。我可以捕获 YUYV 并使用以下命令发送它:

然后我尝试用这个来捕获 h264 而不是 YUYV:

然后ffmpeg返回错误语句:

V4l2 输出设备仅支持单个原始视频流

有人知道正确的命令或有什么问题吗?

0 投票
1 回答
137 浏览

linux - Does a video have to be encoded before output on screen?

I've got a task to show video in console mode without X11, captured from a USB camera. I'm totally new to the video capturing/encoding/decoding stuff. I figured out that USB cameras supporting Video4linux can capture video in YUV 4:2:2 format. As far as I understood this is the uncompressed format. So, I'm wondering if I have to compress this video to show it on screen or not?

PS I've got the Odroid XU4 dev board with Mali t628 GPU if it can help somehow..

0 投票
0 回答
579 浏览

gcc - gspca 编译错误/树莓派 raspbian

我有网络摄像头 Veo Stingray

  • Ox545:8333(供应商和产品 ID)

我有 Raspberry Pi 模型 A uname -r = Linux raspberrypi 4.1.15+ #830 Tue Dec 15 16:58:28 GMT 2015 armv6l GNU/Linux

来自http://mxhaard.free.fr/spca5xx.html的 gspca 驱动程序将此网络摄像头列为兼容所以我说“耶”我 wget 和 xzf tarball 我下载 rpi-source 我下载 rpi-update

执行 sudo rpi-update

有关 rpi-update 的详细信息,请参阅https://github.com/Hexxeh/rpi-update。您必须使用最新的固件和相关的内核才能执行下一步。

安装并运行 rpi-source 以安装构建您正在运行的最新内核的源代码。这将为您正在运行的内核在 /lib/modules 中创建正确的条目。注意:您不需要 root 来运行它,但是脚本将使用 sudo 执行某些任务,并且在脚本执行期间将请求 root 密码。

然后我会运行 rpi-source 并且有关于编译器不同的错误(我从一个内核中使用的那个是编译的)所以我通过安装替代来确保我使用相同的编译器

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc 4.x

然后我 cd 进入 gspcav1 文件夹并以 root 身份运行 ./gspca_build

错误说:

我知道简单的答案是获得兼容的罗技凸轮,我显然想要硬答案。谢谢!

0 投票
3 回答
3372 浏览

c++ - 通过 C/C++ 在 v4l2 中使用 JPEG 像素格式设置/获取相机 jpeg 压缩质量

您能否展示如何通过 C++ 在 V4L2 中获取和设置 JPEG 压缩质量(使用 JPEG 像素格式)?

我可以检测到相机支持的各种像素格式以及相应的分辨率和帧率。我还可以选择它们并相应地捕获 JPEG 图像。但是我无法设置和获得 jpeg 质量。

我正在使用 Linux Mint 和罗技 c910 相机。

相机似乎暴露了这个参数,因为

生产

然而,代码

可以通过编译

产生:

0 投票
0 回答
902 浏览

raspberry-pi - 带有 Janus Gateway ICE 错误的 RPI WebRTC 上的 UV4L

我需要使用 webrtc 从 RPI 相机流式传输到 Janus 房间。我在我的 PI 上安装了 UV4L,并尝试使用网关 URL https://janus.conf.meetecho.com进行演示:它的工作。

我在服务器上安装了 janus-gateway(此处为演示:https ://janus.kizbat.com),网关 url 为:janus.kizbat.com:8089 Janus 摄像机室与浏览器(我电脑上的 chrome)配合得很好,但是当我尝试在 pi 上连接 uv4L 时,我在 janus 日志中收到此错误:

我试图设置一个 STUN/TURN 服务器,但我得到了同样的错误。

你有想法吗 ?

0 投票
2 回答
164 浏览

ssh - 安装 video4linux Beaglebone

我正在一个关于图像处理的项目中使用 Beaglebone black。为此,我需要 video4linux 应用程序。

但是,我无法与 beaglebone 共享我的互联网,因为“sudo apt-get install v4l-utils”不起作用。每当我更改互联网共享设置时,我都无法通过 ssh 连接到 beaglebone 的本地 IP。

因此,我想要一种可以在没有互联网连接的情况下安装 video4linux 的方法。

0 投票
1 回答
2555 浏览

ffmpeg - 树莓派 ffmpeg video4linux2, v4l2 mmap 没有这样的设备

在我的树莓派上,我安装了 ffmpeg。一开始我输入

运行驱动程序。然后我检查 devoce0 是否已注册:

它返回 video0 以便它被注册。然后我输入命令来运行服务器:

并且相机亮了一会儿然后关闭,我得到如下错误:

我应该怎么做才能解决它?这些库之一看起来像内部错误。

此命令有效: