我一直在尝试在EC2实例上设置v4l2环回,并在sudo modprobe v4l2loopback
上获得错误-modprobe: FATAL: Module v4l2loopback not found in directory /lib/modules/5.4.0-1041-aws
。
尝试使用sudo modprobe videodev
加载videodev也会返回相同的模块未找到错误。
我试着为此安装Linux头文件,但没有成功。有线索吗?
云虚拟机的内核通常会因为空间(和隐含的速度(原因(以及安全原因(而在云环境中去除任何不必要的东西。
现在,运行在某个未知数据中心中的大多数虚拟化硬件对硬件驱动程序完全没有要求(除了运行"虚拟硬件"的一小部分驱动程序(。此外,在这种情况下,音频和多媒体应用程序极为罕见,因此图像供应商剥离了音频驱动程序和v4l2框架。
为了使用v4l2loopback
模块,您需要一个v4l2框架附带的内核。由于vendored镜像缺少它,您需要自己配置和编译这样一个内核(并确保它持久存在(。仅仅安装内核头是不够的。
以下是内核配置的相关信息摘录,它应该为您提供一个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