Can anyone recommend a good HDMI capture ?
What do you plan to do?
I’ve been experimenting with HDMI capture devices for a while. And here’s what I can say from first-hand experience.
Is your goal to use a DSLR or camcorder as a web cam? In that case:
I can say the Elgato Cam Link 4k is better than this generic HDMI to USB2.0 capture device that you can find for cheap on amazon and other places. I own both of those and I prefer the el gato. It has better quality images and I feel like it’s more reliable (but I don’t have scientific reliability data so take my reliability feelings with salt). The difference isn’t huge but noticeable.
The best capture device I ever used for this purpose was made by magewell. The magewell’s are special because they have special hardware to offload some (or most) of the video processing. I got to use a magewell at work but only briefly and it was a few years ago. If you’re looking for something good and you don’t mind the price, this is a good option. We opted for a magewell at work because we were recording to a laptop that had lots of stuff running and I didn’t want to add yet another task.
For what it’s worth, all these options have worked for me using linux. They appear like a web cam in linux.
The Elgato HD60 S+ is pretty good. I own one of these and it does the job just fine. Of the capture devices I own for this purpose, the quality of this one is the best. it works in linux.
I also own an Avermedia “capture card portable”. I got it on eBay for $40. The quality is just ok. But I love that I don’t need to plug it in to a computer. It can record video to a micro SD card. This is convenient. And I’ll probably use this one most often just for that reason. The quality is good enough to read text and see what’s going on just fine. But the image looks slightly fuzzy compared to the el gato. It’s good enough. But not as sharp as the el gato. I’ve not tested this in linux (or any other computer) because I only ever use it with an SD card.
Lastly I have a couple HDMI to CSI adapters. These let you capture HDMI using the raspberry pi camera connector (a ribbon cable). I’ve not tested this much. But in real-world usage, I see people limiting the HDMI signal to something like 1080p 30fps. When it’s all setup, this solution has lots of wires and mess everywhere. This bugs me so I’ve not tested this adapter much.
When I capture HDMI directly to a computer, I tend to use a linux desktop (a hades canyon nuc) or an m1 Mac. And to be honest it’s finicky on both. I have to add and remove the device from OBS. I have to unplug it and plug it back in. Just lots of Little annoyances. And on the Mac, I have all the same problems plus I have to be careful not to plug too many devices into the same port. It’s not ideal.
That’s why I see myself using a dedicated capture device like the avermedia. It’s more reliable and less messy. There’s gonna be some amount of wires everywhere but I appreciate having fewer. And I like not needing to fix little issues. And I’d like to emphasize that these little issues happen every time (or it seems like it). I promise you I’m tech savvy enough but it doesn’t matter. The issues are real. Even tech savvy people are probably not using specialized analysis techniques to characterize the USB bus… lol so you should probably expect these little issues to affect you too.
For what it’s worth, at work we’ve been able to get absolute reliability with a CSI camera, a Jetson, and a big gstreamer command. But gstreamer has a big learning curve. And the Jetson has excellent signal processing hardware. But I think you could get similar reliability with the pi (I think the pi-kvm folks have done it). So it is possible to get a reliable setup.
Hope that helps
If you want to offload the capture on another device, the Khadas Vim4 has a microHDMI in port that can be used for that purpose. Unfortunately it’s not supported in Linux yet, running OBS on that would be nice. But the Vim4 runs Android too, which is where you can use the capture. You can save it on its eMMC, on a m.2 SSD, or maybe on a shared storage (some ROMs have built-in NFS or SMB clients, I think the nVidia shield supports it, but I don’t know if that’s available on the Vim4 - but you can use a USB HDD or something like that to write the data to, unless you are not streaming directly off of the Vim4 to the internet, like on Youtube).