FreeBSD 在 KDE 桌面使用 USB webcam

Kola (Yan-Hao Wang)
3 min readJan 23, 2024

--

Step

  1. pkg install webcamd: webcamd 是一個 daemon, userspace application, 負責支援使用基於 USB 的 webcam 和 DVB USB 裝置
  2. pkg install pwcview: 使用 webcam 的應用程式
  3. sysrc webcamd_enable="YES": 在開機的時候自動啟動 webcamd, 會把後者字串寫到 /etc/rc.conf, rc 的意思是 run command
  4. pw groupmod webcamd -m [username]: 加入 user 到 webcamd group, 讓 user 不需要 root 就能使用 webcamd
  5. kldload cuse: FreeBSD kernel module, 負責創建 character device (像是鍵盤滑鼠, 這邊就是要創建 webcam 的 device, /dev/video0),webcamd 需要此 module 創建 webcamd character device
  6. webcamd -l: 列出可以用的 usb 裝置,使用 sysrc webcamd_0_flags="" 指定要使用的 USB 裝置
    例如 sysrc webcamd_0_flags="-d ugen0.2"
  7. service webcamd start: 開啟 webcamd 服務
  8. 現在你因該可以使用 pwcview 來使用 webcam 了

要讓瀏覽器使用 webcam 需要多一點步驟,因為瀏覽器在 FreeBSD 使用 Video4Linux 框架,所以要在多安裝一點東西。

  1. pkg install v4l-utils v4l_compat

可以在 Webcam Test 網站測試是否能在瀏覽器使用

遇到的坑

  1. 執行 pwcview 會有資源不夠錯誤,原本以為是 X window 獲得到的記憶體不夠,使用 xorg.conf 來設定 X window 能使用的 memory (VideoRam mem),但還是不能用,最重益的是 xorg.conf 在 FreeBSD 11 之後的 man page 就沒有了,所以不確定能不能用。
    最後發現只要把桌面大小設小一點,不要 1920 x 1080,就可以用了,還是不太知道確切的原因,可能桌面小一點就有足夠的資源了?
    但應該不影響瀏覽器使用 webcam
  2. 我是使用 VMware player 的 USB passthorugh 來使用攝影機,但要注意設定 USB 相容性 (USB Compatibility),建議直接設定 USB 3.0,我因為沒注意到,一直設成 1.0,所以一直沒辦法使用,甚至不知道為什麼我的 webcam 是 usb2.0,還是要設成 3.0 才可以在虛擬機使用。
image from How to connect USB 3.0 devices in VMware WorkStation Pro VM

Reference

--

--

Kola (Yan-Hao Wang)
Kola (Yan-Hao Wang)

Written by Kola (Yan-Hao Wang)

在系統軟體跟資安領域學習的學生

No responses yet