Bug 492708 - SVT-AV1 (libsvtav1) doesn't take the value for CRF/qscale
Summary: SVT-AV1 (libsvtav1) doesn't take the value for CRF/qscale
Status: REPORTED
Alias: None
Product: kdenlive
Classification: Applications
Component: Rendering & Export (show other bugs)
Version: 24.08.0
Platform: Flatpak Linux
: NOR normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-06 10:51 UTC by Eduardo Medina
Modified: 2024-09-29 09:16 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eduardo Medina 2024-09-06 10:51:31 UTC
SUMMARY
Hi, I use SVT-AV1 to make smaller videos for Odysee, specially gameplays, but since the previous Kdenlive version, the app doesn't take the value set for CRF/qscale, so the resultant video always takes up the same amount of space.

I tried with the default config for AV1 changing from AOM-AV1 to SVT-AV1 and I have the same result. I'm used to set the CRF to 42 or higher (lower quality) to make the video as small as possible within a decent visual quality.

STEPS TO REPRODUCE
1. Make a video with Kdenlive.
2. Try to set a different value for CRF for SVT-AV1, mainly if the value is higher than 31 (lower quality). Yo have to set that with a custom render profile.
3. You see that resultant videos always take up the same amount of disk space.

I use the Flatpak version of Kdenlive because I use Aeon Desktop as operating system. I don't use parallel processing with SVT-AV1.

I share two examples of the presets I use for rendering with SVT-AV1.

EXAMPLE 1:
ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=31 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1

EXAMPLE 2:
ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=31 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1
Comment 1 Eduardo Medina 2024-09-06 10:57:53 UTC
Sorry, the examples weren't correct.

EXAMPLE 1:
ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=42 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1

EXAMPLE 2:
ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=54 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1
Comment 2 Eduardo Medina 2024-09-29 09:16:03 UTC
You can try the default AV1 configuration switching from libaom-av1 to libsvtav1 and you will see that the CRF you set has no effect. The resultant video always has the same size.