🎥Utiliser une webcam sur une distribution installée sur WSL 2

Utiliser une webcam USB

On attache notre webcam USB aux distributions WSL 2 :

🔗Attacher un périphérique USB aux distributions installées sur WSL 2

On ajoute notre utiliser au groupe video :

sudo usermod -aG video $USER

On ferme notre session WSL, on la réouvre, et on devrait pouvoir accéder à notre webcam.

Utiliser une webcam intégrée

On ouvre l'Invite de commandes en tant qu'admnistrateur et l'on installe ffmpeg :

winget install ffmpeg

On le ferme et on l'ouvre de nouveau en tant qu'administrateur puis on liste les caméras disponibles :

ffmpeg -list_devices true -f dshow -i dummy

On récupère l'IP de la ligne terminant par eth0 sur notre distribution WSL 2 :

ip addr | grep inet

On capture et diffuse en streaming UDP notre caméra depuis l'Invite de commandes Windows :

ffmpeg -f dshow -i video="<NOM DE LA CAMÉRA>" -c:v libx264 -f mpegts udp://<IP DE LA DISTRIBUTION>:11795?pkt_size=1024

On peut lire notre flux à l'adresse udp://@:11795.

Problèmes éventuels

Si l'on souhaite accéder au flux depuis un script Python, il pourrait être nécessaire d'installer les bibliothèques suivantes :

sudo apt install -y \
  libgl1-mesa-dri \
  libgl1-mesa-glx \
  libqt5core5a \
  libqt5gui5 \
  libqt5widgets5 \
  libqt5x11extras5 \
  libsm6 \
  libx11-6 \
  libx11-xcb-dev \
  libxext-dev \
  libxext6 \
  libxkbcommon-x11-0 \
  libxrender-dev \
  libxrender1 \
  libxcb-cursor0 \
  libxcb-icccm4 \
  libxcb-image0 \
  libxcb-keysyms1 \
  libxcb-randr0 \
  libxcb-render-util0 \
  libxcb-util1 \
  libxcb-xfixes0 \
  libxcb-xinerama0 \
  libxcb-xinerama0-dev \
  libxcb1

Mis à jour