We generally recommend PCIe capture cards over USB ones, because you can have TONS of inputs on PCIe but only one (practically) per USB controller. Note that this is per USB *controller*, NOT per port! Internal hubs...
Some USB's "just work" on Linux, others have GitHub projects to make them work, and still others "just don't". There is a standard, but it seems that very few actually follow it. Those that do, however, "just work".
For a good PCIe card, I presently recommend one of these:
Acasis PCIe capture card supports multiple HD resolutions (such as 4K60Hz), bringing crystal-clear visual effects to the audience. It also supports quad HDMI or SDI simultaneous input, allowing you to flexibly adjust between different camera angles or input devices. Solve your professional video...
www.acasis.com
PCIE CAPTURE CARD AC-4HDMI (Quad HDMI-1080P60).zip AC-4SDI (Quad SDI-1080P60).zip AC-4HDMI PLUS (Quad HDMI-1080P60).zip AC-4SDI PLUS (Quad SDI-1080P60).zip AC-VS2583 (2 HDMI-4K60).zip AC-VS2584 (1HDMI+1SDI-1080P60).zip AC-VS007 (Dual HDMI-1080P60).zip AC-VS014 (2HDMI+2SDI-1080P60).zip AC-VS049...
www.acasis.com
I have one of their 4x SDI cards in one of my rigs and, interestingly enough, the Linux driver comes as source code to build on the machine that's going to run it. But that's not hard either. I guess it's one way to have it work on the entire zoo of Linux systems that exist, and it does "just work" after building as-is and installing.
The one downside of the way that one works though, is that when you update the kernel, you also have to rebuild the driver from the same source and reinstall. I have a script for that, that includes the update itself, and the rebuild/reinstall if needed, and works flawlessly.
The documentation that comes with the driver was easily enough to do all that.