问题标签 [v4l2loopback]

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 回答
1952 浏览

windows-subsystem-for-linux - 在 WSL2 中安装 v4l2loopback

我目前正在努力v4l2loopback在 WSL2 上进行安装。

一些上下文:

最近,我读到了关于在 Linux 中创建一个虚拟视频设备,然后从图像或视频文件模拟它的输出。

这对于测试或开发目的非常重要,例如,为了附加一个虚拟网络摄像头,将视频文件作为循环复制到 android 模拟器。

经过一些研究,我得出的结论是我不想使用桌面应用程序,即使在 CI 或类似的环境中运行它也可能很容易,因此v4l2loopback看起来不错,但我目前是 Windows 用户。

我在我的机器上启用了 WSL2,下载了 repo,并尝试执行makerepo 描述中的命令。

我用谷歌搜索了一下,我在 GitHub 上发现了这个问题,其中提到了类似的输出(对于另一个工具)。在那里,有人提到可以调整WSL2 内核配置以添加更多模块(也许并希望其中一个可以使 v4l2-loopback 工作,或者至少我认为)。

我还用谷歌搜索了自定义 WSL 构建,但我不确定我需要什么才能让它工作,或者即使我朝着正确的方向前进。

为了v4l2loopback工作,我错过了什么吗?

如果只有自定义 WSL2 构建可以工作,我应该如何进行?

提前致谢

0 投票
1 回答
607 浏览

raspberry-pi - V4l2loopback + mjpg_streamer 问题

我有一个运行 Raspbian 10 Buster 的 Raspberry Pi 4 B + Raspberry Pi 高品质相机。我需要使用 v4l2loopback 将视频源从物理相机 (/dev/video0) 复制到虚拟设备 (/dev/video1) 以便 mjpg-streamer 和 v4l2rtspserver 同时访问它。

我加载了 v4l2loopback 模块:

sudo modprobe v4l2loopback

然后将视频从 /dev/video0 复制到 /dev/video1:

ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -vcodec copy -f v4l2 /dev/video1

启动 mjpg-streamer 并得到以下错误:

在 /dev/video0 上启动 mjpg-streamer 可以完美运行。

我花了几个小时试图找到解决方案。请帮忙。

0 投票
2 回答
1193 浏览

v4l2loopback - OBS Studio 中的 v4l2loopback“格式不支持”错误

在尝试启用我的虚拟相机时,我在 OBS Studio 中不断收到一个奇怪的错误,“格式不支持”。这是在 Manjaro 19.0.2 中安装软件包之后:

这是 OBS 问题还是 v4l2loopback 问题?

0 投票
1 回答
758 浏览

linux-mint - v4l2loopback 不会创建 /dev/video/ 文件

我正在尝试使用 mint 19.3、内核 5.4.0-42-generic x86_64 使 v4l2loopback 在我的台式 PC(无硬件摄像头)上工作。

我按照官方说明并从 git 编译了 v4l2loopback 模块,一切似乎都运行正常,因为运行说明时没有提示错误,但是当我这样做时ll /dev/v*没有 /dev/videoN 条目。我也尝试使用标志 Exclusive_caps=1 和 devices=2 但无济于事。

知道我可能遗漏了什么或做错了什么吗?

0 投票
0 回答
1270 浏览

ffmpeg - 如何使用 FFmpeg 将 MJPG 网络摄像头转发到虚拟视频设备?

我有一个看起来像这样的网络摄像头:

我创建了一个这样的虚拟视频设备:

我尝试使用 ffmpeg 转发流:

但是,我一直以看起来像这样的虚拟设备结束:

无论我在 ffmpeg 命令中指定什么,它似乎都只转发 YUYV 格式。如何使用 mjpg 转发我的网络摄像头,以便以更高分辨率使用虚拟设备?

0 投票
0 回答
613 浏览

linux - 如何在没有 root 的情况下加载内核模块?

我正在制作一个需要内核模块的程序。我使用以下代码加载此模块:

这可行,但它需要用户输入他们的密码,这意味着程序必须在终端中启动。我认为有一种方法可以在v4l2loopback没有 root 密码的情况下加载这个模块,因为这个程序可以做到,但它附带了自己的版本,v4l2loopback并且是用 C 编写的。有没有一种方法可以方便地做到这一点而无需 root 密码?

0 投票
0 回答
391 浏览

ffmpeg - ffmpeg:kmsgrab 到 v4l2 环回设备

我一直在尝试将我的屏幕通过管道传输到 v4l2 环回设备(作为在 Wayland 通话期间共享屏幕的黑客)。这是我到目前为止所尝试的:

还尝试添加-vcodec rawvideo -pix_fmt yuv420p如下:

失败了:

我怎样才能得到这个工作?

0 投票
1 回答
383 浏览

v4l2loopback - 当使用 ffmpeg 作为生产者时,我在 chrome 中看不到 v4l2loopback 设备

使用此命令生成视频流时,我可以在 chrome 中看到我的 v4l2loopback 视频设备:

gst-launch-0.10 -v videotestsrc ! "video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)I420" ! v4l2sink device=/dev/video0

但我正在尝试使用 ffmpeg 获取 NDI 流并将其输出到 v4l2loopback 设备,其命令如下:

ffmpeg -f libndi_newtek -extra_ips "10.4.0.86" -i "ME-NDI002 (TEST)" -f v4l2 /dev/video0

当我使用 ffmpeg 作为生产者时,我可以在 Firefox 和 Zoom 中看到该设备,但在 Chrome 中看不到。我需要做些什么来让 ffmpeg 与 Exclusive_caps 选项配合得很好吗?

我正在使用 v4l2loopback 驱动程序版本 0.12.5

Linux 内核是:Linux dva 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

并且发布信息是: LSB 版本: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64 :languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch 发行商编号:CentOS 描述:CentOS Linux 发行版 7.7.1908 (Core) 发行版:7.7.1908 代号:Core

0 投票
1 回答
2397 浏览

gstreamer - 在使用 v4l2loopback 创建的虚拟设备中复制网络摄像头流

你好视频流之神我正在尝试复制网络摄像头流以发送它并且仍然能够在网络浏览器中使用它例如目标是使用 v4l2Loopback 创建一个虚拟视频设备使用 gstreamer 从真实获取源网络摄像头在我需要的地方(rtps 服务器)制作一个 tee 流,在另一个 tee 分支上使用 v4l2sink 转发到使用 v4l2loopback 创建的虚拟设备

我正在 ubuntu 20.04 下进行测试,但最终我打算在 raspian buster 上使用它

看起来不错

在流式传输我的真实网络摄像头之前,我只是尝试像 gstreamer v4l2sink doc 中解释的那样流式传输 videotestsrc

奇怪的是它说它不是输出设备(GST-DEBUG=3)

我希望找到像我这样的其他问题,但也许我没有很好地搜索我没有找到任何相关信息如果有人可以提供帮助,我会很高兴

非常感谢您一直阅读到这里,也非常感谢您提供任何帮助信息的想法等

编辑:我还尝试了 raspian buster raspberry pi 4 我在安装时遇到了 v4l2loopback 的一些问题,但我遵循了该主题https://github.com/RPi-Distro/repo/issues/188 并且能够安装它我已经做同样的事情(modprobe 然后是 gstream)并且 gstreamer v4l2Sink 在使用解决方法以避免 not negociated-4 错误时看起来可以工作

它看起来有效,但我收到了很多警告:

最后在尝试从此视频设备获取图像时

0 投票
1 回答
809 浏览

ffmpeg - ffmpeg:色度键(绿屏过滤器)短视频连续循环到实时视频

我知道如何对视频流的背景进行色度键/绿屏过滤,并使用 v4l2loopback 将其替换为图像。运行后

我的代码如下:

然后我可以简单地在我喜欢的任何视频播放应用程序中选择新的伪网络摄像头作为输入。

我想要一个短视频,而不是静止图像,在后台连续循环。我很确定这是可能的,但不知道如何,非常感谢任何提示!

更新 1:根据要求,这是响应中建议的命令的完整日志

更新 2:通过应用更新后

我现在安装了以下版本

现在答案有效:)