it had to be an HDMI->USB3 capture, at 1920x1080@30fps.
A lot of these HDMI to USB captures send in a compressed feed (and usually with 150 ms audio latency). I had a $15 dongle that works great for laptops. But on the RP4, I discovered the $15 unit was sending in the video as compressed MJPG. I switched to a Logitech webcam that supported YUYV raw output, and that did the trick. I know there are products out there which can convert HDMI to raw video, many of which seem really sketchy on Amazon due to product ID hijacking to fake 4+ star ratings. The good ones seem to start at $75, with the one that everyone raves about at $150.
it seems that that goal from that kind of device just can't work with OBS on a Pi.
Ya. If you can find a camera that feeds you a pre-existing audio/video feed, and you don't need to mix any new video/audio into it, then you can skip OBS entirely, and use ffmpeg to stream RTMP and simply set the audio and video codec to copy. I've used ffmpeg for streaming, and it's surprisingly robust. But at this point, the RP4 just turns into a naive rebroadcaster, which isn't bad for the price.
But with the right camera, as you mentioned (maybe the RPi official camera can work???), then *maybe* OBS can offer some minor improvements over raspivid or ffmpeg.
Nah, it's not the camera. A better camera can still at best only feed raw video. The problem lies in the RP4's video hardware encoder. It technically supports 1080p@30fps, but it's using an old dying standard called OMX. Nobody seems to want to support it, not ffmpeg and not OBS. So unless someone writes OMX support into ffmpeg or OBS, your mixing is going to be software driven, not hardware driven. My dream is that a Raspberry Pi 5 comes out with a completely revamped hardware encoder. But h264 is so license encumbered, and h265 is worse, that I bet an RP5 wouldn't touch that route with a 10 foot pole. The cleanest route is just to go straight to AV1 hardware encoding, which in itself is still new enough that many tools just don't support it right.
And a Pi is a lot smaller and lower power than a laptop or tower!
Yes, my dream was a portable broadcaster I hooked up to a simple touch screen. But the RP4 fell bit short for me. So that sent me down a rabbit hole of searching...
I tried going down other RP4 board paths, like the Rock Pi X, UDOO boards, and hackboard 2. But it seems they either have weak GPUs, or they run an Intel 600-series integrated GPU, which some YouTube demonstrations show is also not quite up to the 1080p@30fps challenge. Next up are Intel NUCs, the 10 and 11 gens are nice, but the integrated GPUs still aren't up to the decoding/encoding challenge (and I hear they are quite loud). Past that is the AMD Ryzen Mini PCs which have Vega 10 graphic chips, which apparently do a bit better, but AMD doesn't seem to really consider hardware encoding a high priority. After this point, you're really back at a laptop level. I've been able to get many entry laptops to encode 1080p@30fps without any issues. But the best would be a laptop with an NVIDIA GPU in it.