Is it possible to get FFmpeg to use hardware acceleration for HEVC transcoding on macOS?
On macOPS there’s videotoolbox.
Check this out for the encoder options:
ffmpeg -hide_banner -h encoder=hevc_videotoolbox
Output:
Supported pixel formats: videotoolbox_vld nv12 yuv420p
hevc_videotoolbox AVOptions:
-profile <int> E..V.... Profile (from 0 to 3) (default 0)
main E..V.... Main Profile
main10 E..V.... Main10 Profile
-allow_sw <boolean> E..V.... Allow software encoding (default false)
-realtime <boolean> E..V.... Hint that encoding should happen in real-time if not faster (e.g. capturing from camera). (default false)
-frames_before <boolean> E..V.... Other frames will come before the frames in this session. This helps smooth concatenation issues. (default false)
-frames_after <boolean> E..V.... Other frames will come after the frames in this session. This helps smooth concatenation issues. (default false)
Maybe you can test with that, if you have a recent Mac.
More on videotoolbox: https://developer.apple.com/documentation/videotoolbox
As you can see, it taps into the hardware-based encoders available on macOS, offering a unified API for video encoding across multiple abstractions (Intel's QuickSync on supported Intel IGPs, etc).
Grab a build here: https://evermeet.cx/ffmpeg/