vmware ubuntu 連接 usb 攝像頭
前言
初始環境:
宿主機 win10
VMware® Workstation 14 Pro
虛擬機 ubuntu 18.04
故障:在宿主機上可以找到攝像頭並看到攝像內容。開啓虛擬機後,點擊 虛擬機 ==> 可移動設備,在列表中沒有找到我的 usb 攝像頭。
升級 VMware
根據 csdn 上博客教程,要將 vmware 升級到 15版本,去官方下載15版本並安裝,版本成功升級到15.5.2 build-15785246
升級成功之後運行ubuntu
發現可以正常獲取到攝像頭的內容,但是操作系統分辨率變得很小。
升級虛擬機硬件兼容性
當時認爲是VMware Tools
或者虛擬機硬件兼容性
的問題。
接着我將 ubuntu 虛擬機 硬件兼容性升級到Workstation 15.x
,這個方法也失敗了,分辨率還是很小。
ps. 在升級之前先拍攝快照備份,以防萬一
升級 VMware Tools
接下來從官網更新最新的VMwareTools
升級到虛擬機,升級後分辨率恢復正常了,但是攝像頭又在可移動設備列表中消失了。一路坑
VMware USB Arbitration Service
看網上有人要開啓win10
宿主機上該服務,找到該服務後發現已經開啓。安全起見重啓了一下,還是不行。
修改 USB 兼容性
翻了幾篇博客,看到大家都推薦修改USB兼容性,我就從3.0
改成了2.0
,結果可以在可移動設備列表中發現攝像頭。使用cheese
軟件可以打開,但是內容全是黑的。
又從2.0
改回3.0
發現設置依然存在並且cheese
能正常獲取視頻圖像。
覆盤
前面一通修改沒有控制變量,所以不知道哪裏生效了。於是我將虛擬機回退到所有修改之前的一個版本,該版本在VMware
升級之前是拿不到攝像頭設備的,在VMware
升級之後可以在設備列表中找到該攝像頭。在USB
兼容性是2.0的時候畫面仍然是黑屏,改到3.0之後能正常播放畫面。
總結
總結一下需要只需要以下操作步驟:
- 升級VMware 到 15.5.2 build-15785246
- 將虛擬機
USB
兼容性改成3.0
技術要點:
- 虛擬機升級硬件兼容性不會影響之前快照的版本,所以可以在升級前拍攝快照以便於出問題回退。
- VMware 有時候會提醒以下讓軟件可供下載:VMware Tools for Linux - 版本 xx.x.x,這個
Tools
就是我們在虛擬機VMware Tools
。
2020年5月13日15點
今天宿主機系統自動升級,升級之後USB
攝像頭再次從虛擬機的可移動設備列表中消失。
- pactl list sources 打印的列表中沒找到該
USB
設備
Source #0
State: IDLE
Name: alsa_output.pci-0000_02_02.0.analog-stereo.monitor
Description: Monitor of ES1371/ES1373 / Creative Labs CT2518 (Audio PCI 64V/128/5200 / Creative CT4810/CT5803/CT5806 [Sound Blaster PCI]) Analog Stereo
......
Source #1
State: RUNNING
Name: alsa_input.pci-0000_02_02.0.analog-stereo
Description: ES1371/ES1373 / Creative Labs CT2518 (Audio PCI 64V/128/5200 / Creative CT4810/CT5803/CT5806 [Sound Blaster PCI]) Analog Stereo
......
gst-launch-1.0 -v pulsesrc ! audioconvert ! autoaudiosink
能播放從該攝像頭採集到的音頻gst-launch-1.0 v4l2src ! autovideosink
無法播放提示Cannot identify device '/dev/video0'
因爲是更新系統導致的問題,所以我去計算機 - 管理 - 服務和應用程序 - 服務
中查看VMware USB Arbitration Service
的狀態,發現該服務沒有開啓。啓動此服務之後,重新打開虛擬機發現恢復正常。