Re: FFmpeg VAAPI H264 /HEVC encoding not supported

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 08 Jan 2024 19:35:33 UTC
Mario Marietto <marietto2008@gmail.com> writes:

> I'm using FreeBSD 14.0-p3 with the latest packages and I'm trying to enable
> the VAAPI H264 / HEVC encoding for obs-studio,but it says that they aren't
> supported. There may be a bug somewhere ?

NVIDIA doesn't support VA-API natively, and neither libva-vdpau-driver
nor libva-nvidia-driver support encoding[1] (required by obs-studio).

- VDPAU is a decoding-only API thus pointless for screen recording
- NVENC uses CUDA thus requires nv-sglrun (from libc6-shim) on FreeBSD
- Vulkan Video encoding[2] is not supported by obs-studio yet

[1] https://github.com/elFarto/nvidia-vaapi-driver/issues/116
[2] https://www.khronos.org/blog/khronos-finalizes-vulkan-video-extensions-for-accelerated-h.264-and-h.265-encode

> info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX
> 1060 3GB/PCIe/SSE2
> info: OpenGL loaded successfully, version 3.3.0 NVIDIA 535.146.02, shading
> language 3.30 NVIDIA via Cg compiler
[...]
> info: NVENC supported

Maybe double-check https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264027
I don't have an NVIDIA GPU to test if it hasn't regressed since then.
However, if mpv with --hwdec=nvdec (requires nv-sglrun) still works then
try bisecting obs-studio updates.