![Ubuntu 18.04 上 Droidcam 安装错误](https://linux22.com/image/910366/Ubuntu%2018.04%20%E4%B8%8A%20Droidcam%20%E5%AE%89%E8%A3%85%E9%94%99%E8%AF%AF.png)
我一直尝试在我的 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 程序相机列表中找到它。这是第一张图片。
现在需要查看分辨率。在奶酪设置列表中只能看到 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