Solution to the "Proxy Creation Failure" problem

It may be a half-baked solution, but it works.

introduction

I ran into the same problem with creating proxies when using Shotcut and Kdenlive.
Both programs choose ffmpeg as the tool for processing video.

Based on this feature, I seem to have developed a good solution.

Illustrate by example

Let’s say you use Windows, have an Intel processor (with core graphics), and an nvidia stand-alone graphics card (let’s say it’s a GTX1650).
At this point, you theoretically have the following encoders available:

QSV HEVC, QSV x264, QSV VP9 from Intel core graphics;
NVENC HEVC, NVENC x264 from Nvidia graphics cards

Software can detect multiple hardware encoders, but ffmpeg cannot intelligently choose which encoder of what hardware it should use.
If you’re going to use hardware acceleration, make sure that the encoder you select is from the same graphics card.

If you want your ffmpeg runs on an Intel graphics card, in the hardware encoding configuration, you only check qsv;
If it is an AMD graphics card, only check amf;
If it is an NV graphics card, only check nvenc.

Also, pay attention to which encoders your hardware supports. Older hardware may only support H264. At the same time, choosing H264 and the smaller preview size will help you generate proxies faster.

1 Like