2 ms·
My experience of this general approach with a Sony α6100: high and inconsistent latency (mostly 150–200ms, but sometimes towards 400ms), low resolution (1024×57
by chrismorgan 4y ago
My experience of this general approach with a Sony α6100: high and inconsistent latency (mostly 150–200ms, but sometimes towards 400ms), low resolution (1024×576), largely not hot-swappable (most apps required that the video device be created before their process began, and trying to read from it without also starting the stream would often poison things in some way, and various actions would make the pieces just stop working together until you restart all relevant processes), and interacts poorly with other similar things (e.g. I failed to get it to combine with OBS’s virtual camera output: no matter what I did, even with creating multiple devices and attempting to control which thing wrote to which, they’d still get tangled so that neither was of any use). Still, the image quality is good, considerably better than most webcams.
(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.
- davidinosauro 4y agoI 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