Droidcam 安装错误

Droidcam 安装错误

我一直尝试在我的 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

我遇到了这个问题。我通过以下方法解决了它

  1. 卸载droidcam
  2. 然后安装v4l2loopback
  3. 然后重新安装droidcam

我安装后才遇到此问题Android Studio所以我的猜测是Android Studio打乱某处的某条路径,然后重新安装即可v4l2loopback将其解乱。

相关内容