我一直尝试在我的 Ubuntu 18.04 上安装 Droidcam,但遇到了一个无法解决的错误:
root@homelab:/tmp/droidcam-64bit# sudo ./install
Webcam parameters: '640' and '480'
Building v4l2loopback-dc.ko
make: Entering directory '/tmp/droidcam-64bit/v4l2loopback'
make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-headers-4.18.0-15-generic'
Makefile:970: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
CC [M] /tmp/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/droidcam-64bit/v4l2loopback/v4l2loopback-dc.mod.o
LD [M] /tmp/droidcam-64bit/v4l2loopback/v4l2loopback-dc.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-15-generic'
make: Leaving directory '/tmp/droidcam-64bit/v4l2loopback'
Moving driver and executable to system folders
Registering webcam device
insmod: ERROR: could not insert module /lib/modules/4.18.0-15-generic/kernel/drivers/media/video/v4l2loopback-dc.ko: Unknown symbol in module
由于我的麦克风无法使用,我主要使用 Droidcam 在我的手机上模拟 Linux 机器上的麦克风。我也不需要网络摄像头功能,所以如果我能创建一个假设备,我会很高兴。我只需要通过手机将音频传输到我的 Linux 机器上。如果我现在尝试打开 Droidcam,我会收到以下错误:未找到设备 (/dev/video[0-9])。您安装了它吗?
非常感谢您的帮助:)另外,这是我遵循的安装 Droidcam 的教程(这是官方网站)。
您还可以在此处查看安装文件中的代码:
#!/bin/bash
#
# Usage: ./install [640 480]
# Dev47Apps.com
#
set -e
V4L2_LOOPBACK_DIR="v4l2loopback";
V4L2_LOOPBACK_DC="v4l2loopback_dc";
V4L2_LOOPBACK_KO="v4l2loopback-dc.ko";
DRIVER_LOCATION="/lib/modules/`uname -r`/kernel/drivers/media/video/";
WIDTH="640"
HEIGHT="480"
if [[ "$1" != "" && "$2" != "" ]]
then
WIDTH=$1
HEIGHT=$2
fi
if [[ ! $(echo "$WIDTH" | grep -E "^[0-9]+$") || ! $(echo "$HEIGHT" | grep -E "^[0-9]+$") ]]
then
echo "Inavlid parameters: '$WIDTH' and '$HEIGHT'"
exit 1
fi
if [[ $WIDTH -lt 240 || $HEIGHT -lt 160 ]]
then
echo "Parameters too low: '$WIDTH' and '$HEIGHT'"
exit 1
fi
echo "Webcam parameters: '$WIDTH' and '$HEIGHT'"
echo "Building $V4L2_LOOPBACK_KO"
make -C $V4L2_LOOPBACK_DIR
if [ ! -e "$V4L2_LOOPBACK_DIR/$V4L2_LOOPBACK_KO" ]
then
echo "$V4L2_LOOPBACK_KO not built.. Failure"
exit 1;
fi
echo "Moving driver and executable to system folders"
if [ ! -e $DRIVER_LOCATION ]
then
mkdir -p $DRIVER_LOCATION
fi
cp "$V4L2_LOOPBACK_DIR/$V4L2_LOOPBACK_KO" $DRIVER_LOCATION
cp droidcam /usr/bin/
cp droidcam-cli /usr/bin/
echo "Registering webcam device"
modprobe videodev
insmod $DRIVER_LOCATION$V4L2_LOOPBACK_KO width=$WIDTH height=$HEIGHT
echo "Running depmod"
depmod -a
make -C $V4L2_LOOPBACK_DIR clean
echo "Adding uninstall script"
mkdir -p /opt || true
cp uninstall /opt/droidcam-uninstall
etc_modules() {
echo "Adding driver to /etc/modules"
cp /etc/modules /etc/modules.bak
prevperm=`stat -c %a /etc/modules`
chmod 666 /etc/modules
[[ ! $(egrep "^videodev$" /etc/modules) ]] && echo "videodev" >> /etc/modules
[[ ! $(egrep "^$V4L2_LOOPBACK_DC" /etc/modules) ]] && echo "$V4L2_LOOPBACK_DC" >> /etc/modules
chmod $prevperm /etc/modules
}
etc_modules_load_d() {
printf "videodev\n$V4L2_LOOPBACK_DC\n" \
> /etc/modules-load.d/droidcam.conf
}
[[ -d "/etc/modprobe.d/" ]] && echo "options $V4L2_LOOPBACK_DC width=$WIDTH height=$HEIGHT" > /etc/modprobe.d/droidcam.conf
if [ -e "/etc/modules" ]
then
etc_modules
elif [ -d "/etc/modules-load.d" ]
then
etc_modules_load_d
else
echo "Warning: Unknown distro. Webcam module may not load after a reboot :("
fi
echo "Done"
答案1
我遇到了这个问题。我通过以下方法解决了它
- 卸载
droidcam
, - 然后安装v4l2loopback,
- 然后重新安装
droidcam
。
我安装后才遇到此问题Android Studio所以我的猜测是Android Studio打乱某处的某条路径,然后重新安装即可v4l2loopback
将其解乱。