【问题标题】:Install v4l2loopback in WSL2在 WSL2 中安装 v4l2loopback
【发布时间】:2020-11-18 09:40:28
【问题描述】:

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

一些上下文:

最近,我读到了create a virtual video device in Linux,然后从图像或视频文件中模拟了它的输出。

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

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

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

Building v4l2-loopback driver...
make -C /lib/modules/`uname -r`/build M=/home/angel/v4l2loopback modules
make[1]: *** /lib/modules/4.19.84-microsoft-standard/build: No such file or directory.  Stop.
make: *** [Makefile:43: v4l2loopback.ko] Error 2

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

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

为了使v4l2loopback 工作,我是否遗漏了什么?

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

提前谢谢????

【问题讨论】:

  • 您至少还需要内核开发头文件。
  • 嗨@Roadowl,感谢您的回答,您的意思是我应该在 WSL2 实例中安装其他东西吗?你能扩展一点你的答案吗?我不熟悉 Linux 内核的东西。
  • 我对 WSL 不熟悉,但也许这对你更有启发:github.com/microsoft/WSL/issues/4128, docs.microsoft.com/en-us/windows/wsl/wsl2-kernel
  • 首先你需要知道你正在运行的linux版本。在 cli 上,执行uname -a。对于该内核版本,您需要内核开发头文件。在您的包管理器中,搜索“内核开发标头”(或“内核开发”)。然后尝试构建 v4lloopback 模块。
  • 啊——看来 WSL 根本没有 linux 内核:见 unix.stackexchange.com/questions/594470/… 。所以构建 v4lloopback mod 是没有用的,因为即使你能够构建它,也没有什么可以加载它的。也许您的替代方案可能是在您的 Windows 机器上运行 virtualbox,并在其中加载您自己选择的真正的 linux 发行版。然后构建模组(安装内核开发头文件后)。

标签: windows-subsystem-for-linux wsl-2 v4l2loopback


【解决方案1】:

我不熟悉 WSL...

-- 啊,看来 WSL 根本没有 linux 内核:见 https://unix.stackexchange.com/questions/594470/wsl-2-does-not-have-lib-modules 。 所以构建 v4l2loopback mod 是没有用的;即使您能够构建它,也没有任何东西,没有内核,可以加载它!

也许您的替代方案可能是在您的 Windows 机器上运行 Virtualbox(它是免费的,并且可用于 Windows),并在其中加载您自己选择的真正的 Linux 发行版。然后构建v4l2loop模块,安装内核开发头文件后,安装mod(构建后,以root身份执行insmod v4l2loop.ko)并使用它。

因此,您正在路上。更优雅,更容易。还将让您在“熟悉 Linux”阶梯上取得巨大而重要的进展,并可能熟悉虚拟机(?)。

我一定会去的。

【讨论】:

  • 不错的答案(+1)! FWIW 是我使用过的另一种解决方法,虽然不太优雅,但它是流式传输 USB 摄像头,就好像它是一个 IP 摄像头一样,然后从 WSL 端的本地主机打开该流。不理想,但对于一些基本测试来说还可以。
猜你喜欢
  • 2020-12-20
  • 2021-03-16
  • 1970-01-01
  • 2022-07-24
  • 1970-01-01
  • 2022-08-16
  • 2021-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多