FFmpeg hardware transcoding
jbeich at FreeBSD.org
Wed Feb 20 22:56:59 UTC 2019
<driesm.michiels at gmail.com> writes:
> What is the minimum requirements for being able to utilize quick sync on my
> intel chip for ffmpeg hardware transcoding?
I don't configure my system(s) daily to remember such things. ;)
Quick Sync Video is exposed via MediaSDK (high-level) and libva (low-level).
MediaSDK hasn't been ported yet but media-driver (its backend) has.
FFmpeg and GStreamer support both MediaSDK and libva.
> 1. DRM module loaded
> 2. Correct permission for the application on /dev/dri/renderD128
> 3. FFmpeg build with libva support (VAAPI on)
4. Either libva-intel-driver or libva-intel-media-driver
> Are there any more I am missing?
Probably not. Try and report your issues.
> I saw another driver in ports as "multimedia/libva-intel-media-driver"?
Try both. ;) Some examples from https://trac.ffmpeg.org/wiki/Hardware/VAAPI
don't work on iHD e.g., "Burn subtitles into the video while transcoding".
i965 (libva-intel-driver) advantages:
- VP8 encoding on Skylake
- Partial VP8 encoding on Haswell/Broadwell
- Partial VP9 decoding on Haswell/Broadwell/Skylake
- H264 encoding profiles for Multiview and Stereo
iHD (libva-intel-media-driver) advantages:
- Decoding on console framebuffer (e.g, mpv --gpu-context=drm)
- Better encoding performance (even without MediaSDK)
- FEI (Flexible Encoding Infrastructure) for HEVC
- JIT (Just-In-Time) compilation of media kernels (needs intel-graphics-compiler)
- Icelake support (and maybe Xe in future)
- Actively developed upstream
More information about the freebsd-multimedia