FreeBSD 在 KDE 桌面使用 USB webcam
3 min readJan 23, 2024
Step
pkg install webcamd
: webcamd 是一個 daemon, userspace application, 負責支援使用基於 USB 的 webcam 和 DVB USB 裝置pkg install pwcview
: 使用 webcam 的應用程式sysrc webcamd_enable="YES"
: 在開機的時候自動啟動 webcamd, 會把後者字串寫到 /etc/rc.conf, rc 的意思是 run commandpw groupmod webcamd -m [username]
: 加入 user 到 webcamd group, 讓 user 不需要 root 就能使用 webcamdkldload cuse
: FreeBSD kernel module, 負責創建 character device (像是鍵盤滑鼠, 這邊就是要創建 webcam 的 device, /dev/video0),webcamd 需要此 module 創建 webcamd character devicewebcamd -l
: 列出可以用的 usb 裝置,使用sysrc webcamd_0_flags=""
指定要使用的 USB 裝置
例如sysrc webcamd_0_flags="-d ugen0.2"
service webcamd start
: 開啟 webcamd 服務- 現在你因該可以使用
pwcview
來使用 webcam 了
要讓瀏覽器使用 webcam 需要多一點步驟,因為瀏覽器在 FreeBSD 使用 Video4Linux 框架,所以要在多安裝一點東西。
pkg install v4l-utils v4l_compat
可以在 Webcam Test 網站測試是否能在瀏覽器使用
遇到的坑
- 執行 pwcview 會有資源不夠錯誤,原本以為是 X window 獲得到的記憶體不夠,使用 xorg.conf 來設定 X window 能使用的 memory (VideoRam mem),但還是不能用,最重益的是 xorg.conf 在 FreeBSD 11 之後的 man page 就沒有了,所以不確定能不能用。
最後發現只要把桌面大小設小一點,不要 1920 x 1080,就可以用了,還是不太知道確切的原因,可能桌面小一點就有足夠的資源了?
但應該不影響瀏覽器使用 webcam - 我是使用 VMware player 的 USB passthorugh 來使用攝影機,但要注意設定 USB 相容性 (USB Compatibility),建議直接設定 USB 3.0,我因為沒注意到,一直設成 1.0,所以一直沒辦法使用,甚至不知道為什麼我的 webcam 是 usb2.0,還是要設成 3.0 才可以在虛擬機使用。