I recently switched to an AMD GPU and VA-API is the only option for hardware acceleration on linux that is viable. But Handbrake does not support it and it doesn’t seem like it will in the foreseeable future, so I am looking for an alternative. Ideally it is just an ffmpeg GUI, but I did not find any that are:
- actually compatible with linux
- updated in the last 5 years
- have an option vor h264_vaapi or hevc_vaapi video codecs
Another workflow I thought about that is not working is transcoding the video, but copy all audio and subtitles and let handbrake handle that, however Handbrake has no option to just copy the video stream…
So far I have tried:
- ffmpeg_batch: wouldn’t use my local version of ffmpeg, because of some path error, only works through wine
- qwinff: got it building, but no VA-API codec, and no mkv output support (over 10 years old)
- Shutter Encoder: only works through wine, font problems, no va-api support
- Avidemux: takes forever to open a video clip, more of a video editor, no va-api support
- Hybrid: know it from my windows days, clunky UI, no va-api support, but best candidate for me right now as I could use it to just copy video and handle audio and subtitles in here
- StaxRip: the .7z file could not be extracted, I just got an error
Any ideas or suggestions?
Do you actually need the GUI or is it simply a preference? Because investing 15 minutes in a proper ffmpeg script might be worth looking into.
Apart from that, what would that hybrid “ffmpeg-then-Handbrake” approach look like? What would be the goal here?
Just an anecdote, I would LOVE for ffmpeg to have a GUI.
With handling all the subtitles and audio streams I really prefer a GUI especially since it is not a one size fits all with the files I am dealing with
Ah ok, sounds reasonable.
Are you aware that HandBrake supports AMD VCN hardware video encoding, but doesn’t show the option in the GUI unless support is detected on your system? Perhaps you could get it working by installing the AMD’s proprietary driver.
https://handbrake.fr/docs/en/1.9.0/technical/video-vcn.html
https://wiki.archlinux.org/title/AMDGPU_PRO
You haven’t said what kind of source media you’re encoding, so we don’t know if there’s a feature of Handbrake that would be hard to replace using another tool.
VA-API is the only option for hardware acceleration on linux that is viable.
I guess that depends on what you mean by viable. Are you aware of Vulkan Video?
https://www.phoronix.com/news/Vulkan-Video-VCN2-VCN3-Default
https://www.phoronix.com/news/RADV-Vulkan-Video-Low-Latency
FFMPEG apparently merged support for it last year. If you can’t get HandBrake to do what you want, you might consider investing some time in learning ffmpeg commands.
HandBrake supports AMD VCN hardware video encoding
yes, but that is not viable as the amdgpu-pro drivers are only available on LTS releases and on a few selected distros
You haven’t said what source material you’re encoding
Mostly BluRay rips, so movies and TV-Shows
Are you aware of Vulkan Video?
I actually was not. Is it any good? But Handbrake does not support that either, does it?
you might consider investing some time in learning ffmpeg commands.
I am, but for anything involving multiple audio and subtitle streams and stream selection in general it is not an option for me…
the amdgpu-pro drivers are only available on LTS releases and on a few selected distros
Are you sure? I would expect AMD to have their own download & install instructions that could be used on any distro. That would be more work for you than just installing a package directly from your distro, of course.
Curiously, I just found a comment from last year claiming that amf-amdgpu-pro now works with Mesa’s RADV. So maybe this approach could work without AMD’s proprietary driver?
Mostly BluRay rips, so movies and TV-Shows
By rips, do you mean your source media is already in a container, like a .mkv or .mp4 file? Or are you encoding directly from optical discs? If it’s the latter, then using a tool other than HandBrake for the encode might also require finding a disc ripping tool. (Not all encoding tools can decrypt and demux discs.)
I actually was not. Is it any good? But Handbrake does not support that either, does it?
I haven’t used Vulkan Video. It’s just an API, so I would expect the video quality to depend on your hardware’s encoder, just as it would with VAAPI or any other API.
I don’t think Handbrake supports it yet, so until they do, I think you would have to use some other encoding tool.
for anything involving multiple audio and subtitle streams and stream selection in general it is not an option for me…
You haven’t said why, but if it’s just that managing lots of streams using command line tools is more hassle than you want to deal with, you might take a look at MKVToolNix. It’s pretty good at muxing, even if the source media is not a .mkv file.
Are you sure? I would expect AMD to have their own download & install instructions that could be used on any distro
Oh you don’t have to do anything like that for everything else, because it is just in the kernel and in mesa… This “pro” driver comes with some custom stuff like apparently their proprietary encoders, but I read multiple times that it has just terrible performance for everything else so don’t bother…
By rips, do you mean your source media is already in a container, like a .mkv or .mp4 file?
yes mkv files
you might take a look at MVKToolNix
I will :)
Oops… MVKToolNix was a typo. It’s actually MKVToolNix.
Tdarr supports AMD GPUs I think? it may be through a plugin, but it shouldn’t be a problem. And now you’ve asked that question, I’m going to go test that and see if I can confirm I’m right.
Never heard of it, but it looks very intimidating 😅