【虚拟机】将电脑摄像头连接到虚拟机的Linux系统上

应用场景:

尝试在Linux虚拟机环境中使用OpenPose,这是一个开源的实时多人系统,用于身体、面部和手部关键点检测。为了实现OpenPose的实时拍摄视频功能,需要将电脑摄像头连接到虚拟机中的Linux系统上,以便捕捉并处理实时的视频流。


问题描述

  • 进入openpose目录
cd openpose

openpose目录下的build文件夹通常是在进行编译和构建openpose项目时创建的

./build/examples/openpose/openpose.bin --render_pose 0 --face --face_render 1 --hand --hand_render 1 --camera 1

由于没有将电脑的外置摄像头连接到虚拟机中的Linux系统上,会出现类似下面的错误

Error:
VideoCapture (webcam) could not be opened.

原因分析:

摄像头连接问题:由于虚拟机是运行在宿主机上的一个隔离环境,默认情况下,虚拟机无法直接访问宿主机的硬件设备,包括摄像头。因此,需要将摄像头从宿主机传递到虚拟机中,这通常涉及到虚拟机的USB设备传递设置。

设备兼容性和性能:即使成功地将摄像头传递到虚拟机中,也可能会遇到兼容性问题,比如Linux驱动不支持摄像头或者性能不佳。这可能会影响视频的流畅度和质量,从而影响OpenPose的实时性能。


解决方案:

  • 首先,进入虚拟机的设置。

在VMware Workstation中,点击菜单栏上的“虚拟机”选项,然后选择“设置”或直接右键点击虚拟机并选择“设置”。
在弹出的设置窗口中,找到左侧的“USB控制器”选项并点击它。
确保USB控制器已经添加并且被勾选启用。如果没有添加,你可以点击“添加”按钮,从列表中选择“USB控制器”并添加它。
注意检查是否勾选了“显示所有USB输入设备”的选项,这有助于确保虚拟机能够识别连接到主机的USB设备。

  • 手动连接USB设备:

如果USB控制器设置正确但仍然没有解决问题,可以尝试手动连接USB设备。
需要先关闭打开的特定虚拟机,以VMware workstation 17为例:
在VMware Workstation中,点击虚拟机选项,选择“可移动设备”选项。
在显示的列表中,可以看到USB选项,可以更改连接或断开的状态

  • 检查VMware USB Arbitration Service服务:

VMware USB Arbitration Service是确保USB设备能够在虚拟机和主机之间正常传输数据的服务。确保这个服务已经启动并且正在运行。
在主机上,你可以通过按下Windows键+R,输入“services.msc”来打开服务管理器, 然后找到“VMware USB Arbitration Service”服务并确保它已启动。
与虚拟机连接成功后,在Linux桌面右下角可以看见USB图表,可以方便地更改断开或连接的状态。

  • 重新安装或更新VMware Tools:

VMware Tools包含了虚拟机所需的驱动程序和实用程序,其中包括USB设备的支持。确保你已经安装了最新版本的VMware Tools。
如果没有安装或者需要更新,你可以在虚拟机的设置中找到“CD/DVD(SATA)”选项,并将VMware Tools的安装镜像挂载到虚拟机中,然后按照提示进行安装或更新。

  • 还有一种可能是,vmx文件配置问题:虚拟机的vmx文件(配置文件)中,关于USB设备的默认访问权限可能被设置为禁止(usb.restrictions.defaultAllow = “FALSE”)。

首先,确保你的虚拟机已经完全关闭,因为vmx文件在虚拟机运行时可能会被锁定,导致无法修改。

接下来,按照以下步骤操作:

找到虚拟机的配置目录:

虚拟机的配置目录通常位于你创建虚拟机时指定的位置。如果你没有更改过默认设置,那么它可能位于你的用户目录下的某个VMware相关的文件夹中,比如C:\Users\你的用户名\Documents\Virtual Machines\虚拟机名称\(Windows系统)或~/Documents/Virtual Machines/虚拟机名称/(Linux或Mac系统)。

找到vmx文件:

在虚拟机的配置目录中,你会看到一个或多个以.vmx为扩展名的文件。这些就是虚拟机的配置文件。通常,主配置文件会以虚拟机的名称命名,比如虚拟机名称.vmx

使用文本编辑器打开vmx文件:

右键点击vmx文件,选择“打开方式”,然后选择一个文本编辑器,比如记事本(Notepad)或你喜欢的其他文本编辑器。
查找并修改usb.restrictions.defaultAllow这一行:

在打开的文本编辑器中,使用“Ctrl + F”或类似的快捷键来查找usb.restrictions.defaultAllow这一行。
找到这一行后,将其值从FALSE改为TRUE。确保在修改时不要更改其他部分的配置。

保存并关闭文件:

在文本编辑器中完成修改后,点击保存按钮来保存文件。然后关闭文本编辑器。
重启虚拟机:

现在你可以重新打开VMware Workstation或Fusion,并启动你的虚拟机了。USB设备应该能够正常识别并在虚拟机中使用了。

有时,(VM17)中安装VMware Tools后,并没有直接解压或执行脚本,但能在虚拟机中成功使用摄像头,解释如下:

  • VMware Tools的作用:

VMware Tools是VMware提供的一套工具集,用于增强虚拟机与宿主机之间的交互。安装VMware Tools后,你可以获得许多增强的功能,如更好的图形性能、拖放文件、共享剪贴板等。
对于摄像头等USB设备的支持,VMware Tools也提供了必要的驱动和组件。

  • 摄像头在虚拟机中的使用:

在虚拟机选项的可移动设备里连接了摄像头,并在虚拟机中成功使用。这通常是因为VMware Workstation已经通过VMware Tools为摄像头提供了必要的驱动支持。
在某些情况下,即使你没有显式地执行VMware Tools的解压或安装脚本,VMware Workstation也会在虚拟机启动时自动挂载VMware Tools的光盘映像,并提示你安装。但如果你之前已经安装过,或者VMware Workstation已经预置了必要的驱动,那么你可能不会再次看到安装提示。不需要担心没有解压或执行脚本的问题,只要确保VMware Tools已经正确安装并启用即可。

VMware Tools解压并执行相应脚本的主要作用

为虚拟机提供额外的功能和优化,使其与宿主机之间的交互更加顺畅。以下是关于其作用以及未解压执行脚本的影响的详细解释:

  • VMware Tools解压并执行脚本的作用:

1、提供硬件加速支持:通过安装VMware Tools,虚拟机可以获得更好的图形和音频性能,加速网络传输,提高磁盘I/O性能等。
2、同步虚拟机与宿主机时间:确保虚拟机与宿主机之间的时间同步,避免时间差异导致的问题。
3、改进文件共享:VMware Tools提供了拖放功能,允许在宿主机和虚拟机之间轻松复制和粘贴文件。
4、支持USB设备:通过安装VMware Tools,虚拟机可以支持USB设备,如摄像头、打印机等。
5、其他优化和增强功能:根据虚拟机的操作系统,VMware Tools可能还包含其他优化和增强功能。

  • 如果只安装VMware Tools,没有解压执行脚本的影响:

1、功能缺失:没有解压执行脚本,虚拟机可能无法获得VMware Tools提供的所有功能和优化。这包括硬件加速支持、时间同步、文件共享和USB设备支持等。
2、性能受限:由于缺少必要的驱动和组件,虚拟机的性能可能会受到影响,如图形和音频性能下降、网络传输和磁盘I/O性能降低等。
3、交互不便:没有安装完整的VMware Tools,宿主机和虚拟机之间的交互可能会变得不便,如无法拖放文件、无法支持USB设备等。

  • 安装过程中的配置:

在安装VMware Tools的过程中,会进行一系列的配置和安装操作,包括:

1、解压VMware Tools安装程序:将VMware Tools的压缩包解压到虚拟机的文件系统中。
2、执行安装脚本:根据虚拟机的操作系统和配置,执行相应的安装脚本,安装必要的驱动和组件。
3、配置相关设置:安装过程中可能会提示用户配置一些相关设置,如时间同步设置、文件共享设置等。

总之,为了确保虚拟机能够获得VMware Tools提供的所有功能和优化,建议按照安装向导的指示解压并执行相应的脚本。如果只安装了VMware Tools但没有解压执行脚本,虚拟机可能无法获得完整的功能和优化,性能也可能会受到影响。

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值