我有一台装有 Ubuntu 17.10 和 skypeforlinux 8.16.76 的笔记本电脑。这台笔记本电脑有一个内置网络摄像头,我已将 Logitech QuickCam IM 连接到 USB 端口(出于灵活性原因,我需要使用外部摄像头)。
使用旧版 skype 4.3 时,外部网络摄像头工作得很好。现在,使用 skypeforlinux 5.4 及更高版本时,外部网络摄像头显示黑框。需要说明的是,“音频和视频设置”显示两个摄像头,但当我选择外部网络摄像头时,它显示黑框。内部网络摄像头工作得很好。在 Windows 上,两个摄像头都工作正常。此外,在 Cheese 中,两个摄像头都工作正常。
libv4l详细信息:
mahesh@mahesh-Dell:~$ dpkg --list | grep libv4l
ii libv4l-0:amd64 1.12.5-1 amd64 Collection of video4linux support libraries
ii libv4l-0:i386 1.12.5-1 i386 Collection of video4linux support libraries
ii libv4l-dev:amd64 1.12.5-1 amd64 Collection of video4linux support libraries (development files)
ii libv4l2rds0:amd64 1.12.5-1 amd64 Video4Linux Radio Data System (RDS) decoding library
ii libv4lconvert0:amd64 1.12.5-1 amd64 Video4linux frame format conversion library
ii libv4lconvert0:i386 1.12.5-1 i386 Video4linux frame format conversion library
我需要做什么才能让 skypeforlinux 与外部摄像头一起工作?
答案1
我遇到了同样的问题,我找到了一个很好的解决方法为了它。
假设您的网络摄像头位于/dev/video0
。
请执行以下步骤。
v4l2loopback
通过运行安装sudo apt-get install v4l2loopback-dkms
v4l2loopback
通过运行启用模块sudo modprobe v4l2loopback
这将安装虚拟网络摄像头,例如
/dev/video1
最后,当您需要 Skype 上的网络摄像头时,只需运行此命令。
ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -vsync 2 -threads 0 -f v4l2 /dev/video1
此命令将真实网络摄像头重定向/dev/video0
到 Skype 应该可以识别的虚拟网络摄像头/dev/video1
(对我来说很有效)。
如果您不想ffmpeg
每次都输入长命令,您可以将其保存到脚本中,launch_skype_cam.sh
如下所示。
#!/bin/bash
ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -vsync 2 -threads 0 -f v4l2 /dev/video1
或者您可以设置别名,例如在您的.bashrc
文件中。
alias launch_skype_cam='ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -vsync 2 -threads 0 -f v4l2 /dev/video1'