Ubuntu 18.04 上 Droidcam 安装错误

Ubuntu 18.04 上 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 的教程(这是官方网站)。

答案1

我遇到了类似的问题,但情况略有不同。我在 Ubuntu 上运行已安装的 Droidcam 并看到此错误。这是由于丢失视频设备导致的,该设备发生在内核更新

因此,我卸载了 Droidcam-

sudo /opt/droidcam-uninstall

然后重新安装程序。

后来问题就解决了。

答案2

我遇到了同样的问题并在这里找到了解决方案:

https://stackoverflow.com/questions/34800731/module-not-found-when-i-do-a-modprobe

运行这个:

sudo depmod -ae
sudo modprobe v4l2loopback_dc
droidcam

它对我有用。

答案3

刚刚尝试使用 droid cam 并遇到同样的错误。让我开始的方法是先从 apt 安装标准环回摄像头。

sudo apt install v4l2loopback-utils

安装时提示输入 MOK 密码。然后重新启动并再次提示输入 MOK 密码。不要跳过密码。

之后,我按照上面的链接再次执行了 droid cam 说明,模块不再出现错误。

我在旧的阿尔卡特手机上进行了 USB 调试,我可以在 Cheese 程序相机列表中找到它。这是第一张图片。

使用 droid cam 拍摄的第一张照片显示的是 askubuntu 帖子。

现在需要查看分辨率。在奶酪设置列表中只能看到 640x480。

安装/更新脚本


#!/bin/bash

# original command line option getter filename: commandLine.sh
# thanks to author: @theBuzzyCoder

showHelp() {
# `cat << EOF` This means that cat should stop reading when EOF is
# detected
cat << EOF  
Usage: ./droidcam.sh [-hbir -x N -y N]
Get a new droid cam if needed and change resolution if desired.

-h, -help,          --help              Display help

-b, -build,         --build             Download and rebuild droidcam

-i, -install,       --install           Install droidcam kernel modules

-r, -resolution,    --resolution        Set new resolution

-x, -xres,          --xres [N]          Pixel width resolution

-y, -yres,          --yres [N]          Pixel height resolution
EOF
# EOF is found above and hence cat command stops reading. 
# This is equivalent to echo but much neater when printing out.
}

if [[ ! $@ =~ ^\-.+ ]]
then
    echo
    echo Needs argugments
    echo
    showHelp
    exit 0
fi

export build=0
export installit=0
export resolution=0
export XRES=1920
export YRES=1080

# $@ is all command line parameters passed to the script.
# -o is for short options like -v
# -l is for long options with double dash like --version
# the comma separates different long options
# -a is for long options with single dash like -version
options=$(getopt -l "help,build,install,resolution,xpixels:,ypixels:" -o "hbirx:y:" -a -- "$@")

# set --:
# If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parameters 
# are set to the arguments, even if some of them begin with a ‘-’.
eval set -- "$options"

while true
do
case $1 in
-h|--help) 
    showHelp
    exit 0
    ;;
-b|--build) 
    export build=1
    echo BUILD=$build
    ;;
-i|--install)
    export installit=1
    ;;
-r|--resolution)
    export resolution=1
    ;;
-x|--xres)
    shift
    export XRES=$1
    ;;
-y|--yres)
    shift
    export YRES=$1
    ;;
--)
    shift
    break;;
esac
shift
done

# run the build when there is a kernel update

if [ $build -gt 0 ]; then
    cd /tmp/
    wget https://files.dev47apps.net/linux/droidcam_latest.zip
    unzip droidcam_latest.zip -d droidcam
    cd droidcam && sudo ./install-client
    sudo ./install-video
fi

# doing installation or change resolution

if [ $installit -gt 0 ] || [ $resolution -gt 0 ]; then
    sudo rmmod v4l2loopback_dc
    sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=$XRES height=$YRES
fi

答案4

我刚刚解决了这个问题,如果你启用了安全启动,你可能想先卸载 droidcam,然后运行这个命令

sudo update-secureboot-policy --enroll-key

然后重新启动,你应该会看到 Mok Manager,然后继续注册密钥并签名,然后继续启动,然后重新安装 droidcam

相关内容