Best hardware for accelerated transcoding on Freebsd 15.0

I recently built a nas and footage ingest server on FreeBSD-15.0, mainly for the convenience of getting zpool attach for RAID in zfs 2.4.

I plan to use it to do automatic transcode/proxying when I dump footage from drives over the network, or upload to it when I'm shooting things out of town. Ideally, I want to be able to do this without completely swamping the CPU.

it's on an older intel i7 with a decent iGPU for that -- we have huc/guc firmware in the repos, and the drm-66 drivers seem to work with VA-API and QSV just fine, but I can only do 1 4k source stream to 1080p proxy or 1 4k stream from a master to a given delivery format in slightly slower than realtime.

For streaming that'd be enough, but If I have to wait 9-10 hours after shooting 8 hours of footage, or 2 hours after finishing a 1 hour render to deliver, that's not quite gonna cut it.

I had a spare GTX 1070 and and Arc 770, so I tried both, and the results weren't great.

The GTX 1070 is just old, and after I figured out how to set up nvidia-sglrun properly (pebcak, I know) -- It produced worse footage than the igpu at about the same rate, and nvenc only lets you run one encoding stream at a time.

The Arc 770 seems to be too new. I tried both the current 6.6 drm kmods and drm-latest, tried multiple firmware versions, etc. -- all no dice. FreeBSD kernel panics if you have it plugged in and i915kms in your kldlist in all cases.
Plus, it looks like there's no ports of libvpl, vpl-rt or oneapi yet anyway. Not sure I could get acceleration working even if the thing booted.
This one was really a shame. QSV absolutely flies on these cards on supported platforms. Probably best-in-class for this type of application.

My experience with AMD GPU transcoding with VA-API in the past has been spotty. Back in the day, My R9 290X just spat out mush when you tried to do transcodes with it. Platform agnostic mush, but not particularly useable footage in any case on any OS. A lot's changed since then, though, and I'm hoping someone here had some insight into how their more recent offerings performed on freebsd compared to nvenc or qsv based solutions.

Also: Since freebsd is a server OS that gets used in edge streaming delivery, I don't think it's out of the realm of possibility that someone here has tried dedicated codec accelerators or transcode FPGA cards.
I've seen things like the xilinx video accelerators (now amd alveo branded, still fpga based, not a gpu) or the matrox m264 cards going for cheap more than once, and those solutions usually play nice (at least on supported operating systems) with ffmpeg without too much trouble. I'd love to hear anyones experiences with those cards, or any other transcode acceleration card if they have any,

So, I guess in addition to seeking input on what the people with expertise here think the best transcoding acceleration hardware is, I was wondering:

1. Are newer nvidia cards more performant on freebsd with sglrun? is there another way to get them working besides sglrun/libva-nvidia?
2. Has anyone figured out how to boot arc cards with the huc/guc firmware? (needed for qsv)
3. Does anyone have experience working with codec accelerator or media fpga cards in the context of content delivery or broadcast appliances? does anyone make transcode cards with transparent pricing or explicit freebsd support?
4. If I could send someone some footage to test on a more recent AMD gpu, I'd really appreciate it. Can't seem to find any hard numbers or visual reference from tests on FreeBSD specifically. I can sell my spare cards and afford a midrange 6 or 7000 series in all likelihood, but I'd like to know what I'm walking into first if at all possible.
 
Back
Top