[FEATURE] ffmpeg 4.0 w/ Radeon HW encoder


#1

Request Type:
NEW FEATURE

Summary of the problem or suggestion:
ffmpeg released v4.0 yesterday. It includes AMF hardware encoding for AMD GPUs.

I know it might take time with a major release, but a version of MCEBuddy that bundles 4.0 and includes AMF in the hardware acceleration checkbox would be appreciated. Presently running a three-step process where MCEBuddy cuts commercials and then moves files before they’re encoded by another encoder, and then finally moves the result;I miss the all-in-one setup. :slight_smile:


(Goose) #2

We don’t have access to an AMF encoding card. Maybe you can download the latest build, replace it in MCEBuddy, modify the profile to use h264_amf and hevc_amf as the encoders and let us know how it goes.

The tricky question for MCEBuddy is how to detect if AMF encoding is available.


#3

Tried responding by email and it didn’t appear to work, so apologies if there’s two replies.

According to docs, AMF (which itself is just an expansion/rebranding of AMD’s old VCE) is supported by every Radeon manufactured since the HD7000 dGPUs of 2012, so anyone who has oneone kicking around from years ago it should work. I suppose I can zip up my installation folder for backup and try to port the new code into an existing installation, but I’m not familiar with how MCEBuddy works, so apart from replacing files in \ffmpeg I’m not sure where to look.


#4

So here’s my trip report:

  1. Downloaded Zeranoe’s nightly git build to replace the shipped copy. I don’t know what version of ffmpeg you ship with MCEBuddy, but be aware if you compile it on your own you’ll need to get AMF’s headers from another github account for inclusion. Zeranoe doesn’t have a 4.0 release build out yet, but the nightly was stable for testing.

  2. Went into the profiles file to set ffmpeg as my primary encoder, and changed the -encoder flag to -c:v h264_amf (HEVC is hevc_amf, fwiw) and . I don’t know how MCEBuddy looks for hardware acceleration and applies the flags as needed, but this is the line you’d have to use. Video encoded fine, plays normally, logs show that amf encoder was called successfully. On a very basic budget Radeon (Vega 8 graphics onboard a $99 Ryzen 3 2200G) the encoder can move very quickly. I don’t know how to see FPS in MCEBuddy, but I have seen VCEnc used in StaxRip and A’s hit 120fps on this budget APU.

So I have it working for now, it seems “ready for use”. If I run into any issues I’ll let you know but I think it seems good.


(Goose) #5

Linking posts: