Re:Using a Canon EOS camera as a webcam in Debian
by davidinosauro on Thursday September 22, 2022 @02:50AM
(#32935540)
I also tried a similar setup (with gphoto2 getting the stream of jpegs, ffmpeg, loopback device) but the deal breakers for me we're:
- high latency: in the half-second range, consistently out of sync with the audio - bulkiness: I had to place the camera on the side of the screen rather than on top, so I consistently looked away from the camera
With that experience I didn't find it worth to upgrade the setup (with mini HDMI cable, capture card, power supply) and ended up buying a crappy webcam instead
(It’s valuable to understand how this approach works: it’s using PTP, which supports roughly the commands “list the files you have” and “give me the file IMG0001.JPG”, and roughly thirty times a second it asks “give me the file ‹what the camera can currently see›.jpg”, and the video stream is that stream of JPEGs. Basically, this whole thing is a dreadful hack.)
By contrast, the cheap USB HDMI capture card I subsequently purchased (branded Simplecom DA315, but if you’ve looked into this stuff you’ll immediately recognise it as ODM hardware sold under a million brands) supports higher resolutions, normal latency (vastly lower), is hot-swappable, and doesn’t interfere with anything else trying to use v4l2loopback. Colour is not quite right, so I adjust it a bit on my camera. (This was something that surprised me when I first looked at HDMI capture cards: it seems that they’re all wrong, in differing amounts and directions. I do not understand why they can’t just be correct.) And there’s an aspect ratio problem where apps that request a lower resolution end up with the 16:9 image squashed to 4:3 with black bars added to the side. Not sure if this is a bug in the HDMI capture card firmware, Linux driver, or something else. As a demonstration of this, Google Meet in Firefox will get squished by default, but if I manually change its send resolution from auto (360p, I think) to 720p, it gets unsquished.