Will we see support for SVT-AV1 in Kdenlive?

Hello,

I noticed that Kdenlive supports the AOM AV1 encoder, but not the SVT-AV1 encoder at the moment. The AOM encoder is dreadfully slow, taking two hours to render 90 seconds of footage on my computer, but supposedly the SVT-AV1 encoder is faster. I was wondering whether we might get SVT-AV1 support some day, or if there’s some kind of barrier preventing that?

This depends on your ffmpeg version. AFAIK, libsvtav1 is available in ffmpeg 5.0.1

Have you tried the av1_nvenc codec? You may need to create a render preset/profile for that specific encoder, though.

Oh, interesting. I’m using the Kdenlive flatpak, and while I find flatpaks to be pretty inscrutable (meaning I can’t check this to make sure), I would assume it’s using a fairly up-to-date version of ffmpeg.

No. That’s an Nvidia codec, isn’t it? I use an AMD card, so I don’t think NVENC is going to work for me.

This depends on your ffmpeg version. AFAIK, libsvtav1 is available in ffmpeg 5.0.1

The current appimage is shipping ffmpeg 6.1.1, but it doesn’t appear to be built with SVT-AV1 support.

ffmpeg -codecs shows:

DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 av1 av1_cuvid av1_qsv) (encoders: libaom-av1 av1_nvenc av1_amf av1_vaapi)

Compared to the system ffmpeg 6.1.1 shipped with Debian 12:

DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 av1 av1_qsv) (encoders: libaom-av1 librav1e libsvtav1 av1_qsv av1_vaapi)

I know it’s a year on, but this does now work in the current flatpack package (25.04.3) with a little work. All the support is there, but there are no svt-av1 presets.

If you select the WebM-AV1/Opus preset, and use the “Save as new custom preset” button at the top right of the preset list (floppy disk and pencil icon), you can switch codecs on the copy.
On the Video tab in the edit dialogue, you can click in the Codec list box and select “libsvtav1” (which is what ffmpeg calls svt-av1), like this:


It definitely does change library, because it’s a lot quicker! You will likely want to increase the GOP size, adjust the quality and so on in the same dialogue.

3 Likes

Following on, you will find you hit 492708 – SVT-AV1 (libsvtav1) doesn't take the value for CRF/qscale and can’t control the bitrate. At the moment the only solution to this seems to be to manually edit the preset XML, and then not try to change it again from kdenlive (which will revert the changes).

This bug can be worked around by manually editing the Preset XML file (mine is located at ~/.local/share/kdenlive/export/customprofiles.xml):

  • in the “args” attribute, replace qscale=%quality with crf=%quality
  • add to the profile the XML attribute qualities="1,63"
    kdenlive then has to be restarted to re-read the render presets file.

When you move the Quality slider (with the Custom Quality box ticked), you will see you can set values from crf=1 to crf=63 However, if I use the graphical render preset editor to change anything, then these changes are lost and you are back with a qscale parameter between 1 and 31 which doesn’t change the output file at all.