This is not required any more, you need upgrade your firmware to the version +4.09 using ElGato Cammera Hub
https://help.elgato.com/hc/en-us/articles/4406041241997-Elgato-Facecam-Firmware-Update
- Added MJPEG as a fallback video format. MJPEG requires less USB bandwidth and improves compatibility with programs that cannot handle uncompressed video.
I'm creating 3 Loopback devices, if you only need do this for the Facecam you can define only one like this:
options v4l2loopback video_nr=11 card_label="ElGato FaceCam"
I'm using my serial as a path to not conflict with my another input devices /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW42K1A07115-video-index0
on the facecam-init.sh
.
You can check what is your correct path with this command:
ls /dev/v4l/by-id/
On my facecam-init.sh
, I set some parameters that make sense for my enviroment, this maybe cannot fit for you, so you can remove this line.
v4l2-ctl -d /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW42K1A07115-video-index0 --set-ctrl="brightness=180,contrast=3,saturation=35,white_balance_temperature_auto=1,power_line_frequency=2,sharpness=1,exposure_auto=2,zoom_absolute=5"
or adjust the parameters that you want.
You need start the script to create the pipe from the FaceCam Device to the LoopBack Virtual Device
- Add execution permissions:
chmod +x facecam-init.sh
- Run
./facecam-init.sh
This solution was created 2 years ago to make it work, I don't update this script over the years because it's more simple get a MacOS orWindows machine and upgrade the Firmware of your webcam to get support of MJPEG, After that you can connect the cam to you Linux Machine and should works without doing anything.