I’ve pirated every video converter known to man (UniConverter, WinX, VideoProc, Aiseesoft, Tipard, etc) & even tried open source tools like ffmpeg and handbrake and I can’t get hardware acceleration to work unless I just don’t understand how it’s supposed to work. I have a Radeon ™ RX 470 graphics card and plenty of processing power.
An example is when I attempt to convert a video to HEVC and don’t use acceleration, I can get like 100 FPS and 2-3 mins rendering time but all my CPUs go to over 100%.
However, when I turn on acceleration or use the AMD HEVC Encoder (ffmpeg, handbrake), the FPS rate drops to like 10-15 FPS, the CPUs barely go over 10% and the GPU then jumps to over 100% which is fine but then it tells me it’ll take like 20 mins to render a 20 mins tv episode!?!?
This is driving me crazy. Can someone provide some insight on this? I’d be forever grateful. Thanks!
Based on how you’re observing the loading move from 100% CPU ro 100% GPU, I would suggest that it is “working” to some extent.
I don’t have any experience with that GPU, but here’s few things to keep in mind with this:
When you use a GPU for video encoding, it’s not the case that it’s ‘accelerating’ what you were doing without it. What you’re doing is switching from running a software implementation of an HEVC encoder on your CPU to running a hardware implementation of an HEVC encoder on your GPU. Hardware and Software encoders are very different to one another and they won’t combine forces; it’s one or the other.
Video encoders have literally hundreds of configuration options. How you configure the encoder will have a massive impact on the encoding time. To get results that I’m happy with for archiving usually means encoding at slower than real-time for me on a 5800X CPU; if you’re getting over 100fps on your CPU I would guess that you have it setup on some very fast settings - I wouldn’t recommend this for anything other than real-time transcoding. Conversely, it’s possible you have slower settings configured for your GPU.
Video encoding is very difficult to do “well” in hardware. Generally speaking software is better suited to the sort of algorithms that are needed. GPUs can be beneficial in speeding up an encode, but the result won’t be as good in terms of quality vs file size - for the same quality a GPU encode will be bigger, or for the same file size a GPU encode will be lower quality.
I guess this is a roundabout way of suggesting that if you’re happy with the quality of your 100fps CPU encodes, stick with it!
It doesn’t help when I don’t have a very good grasp of the Hardware mechanics of it. Thanks for trying to clarify for me! The thing I’m most concerned with in using the CPU for everything is most software including Handbrake I try, if I let the CPU do all the processing, each CPU core goes to >100% which is not good for the system for long periods of time and literally got 100s of DVD/BluRays I want to reprocess. I’ve always been told around 55%-65% on each core is acceptable when processing video. Any additional information you can provide would be most appreicated.
If you don’t have effective cooling, maybe, but I’ve never heard of any reason to keep core utilization under any specific percentage. Are your temps an issue?
No, not so far. No crashes or anything like that. Someone somewhere just told me a good range for video rendering was between 65-75% core usage.