首页 > 解决方案 > 在 AWS EC2 上使用 v4l2loopback

问题描述

我一直在尝试在 EC2 实例上设置 v4l2loopback 并收到错误modprobe: FATAL: Module v4l2loopback not found in directory /lib/modules/5.4.0-1041-aws消息sudo modprobe v4l2loopback

尝试使用加载 videodevsudo modprobe videodev也会返回相同的模块未找到错误。

我尝试为此安装 Linux 头文件,但没有成功。有什么线索吗?

标签: amazon-web-servicesamazon-ec2v4l2v4l2loopback

解决方案


出于空间(和隐含的速度)原因(以及出于安全原因),云虚拟机的内核通常在云环境中被剥离任何不必要的东西。

现在大多数在一些未知数据中心运行的虚拟化硬件完全不需要硬件驱动程序(除了运行“虚拟硬件”的一小部分驱动程序)。在这些情况下,音频和多媒体应用程序也极为罕见——因此图像供应商剥离了音频驱动程序和 v4l2 框架。

为了使用该v4l2loopback模块,您需要一个带有 v4l2 框架的内核。由于供应商的映像缺少它,因此您需要自己配置和编译这样的内核(并确保它持续存在)。仅仅安装内核头文件是不够的。

这是内核配置相关信息的摘录,应该为您提供与 v4l2loopback 兼容的内核

CONFIG_MEDIA_SUPPORT=y
# CONFIG_MEDIA_SUPPORT_FILTER is not set
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

#
# Media core support
#
CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y
# end of Media core support

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_V4L2_I2C=y
# CONFIG_VIDEO_V4L2_SUBDEV_API is not set
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# end of Video4Linux options

推荐阅读