Why does KDENLiVE increase video size?

I entered a 12 MiB WEBM screencast from Spectacle as a clip, cut a section, then rendered it as WEBM again. [1] Somehow, it increased from 12 MiB to 312 MiB! Is there an obvious reason (or do I need to ascertain how to share these files here)?

I ask because I don’t want to exceed GitHub’s 10 MiB video limit:


  1. t/33734 ↩︎

Perhaps, I’m not the sole person to encounter this:

  1. discuss.pixls.us/t/27599

There could be various reasons for it - some of them are discussed in the thread you referenced

@berndmj, I’ve just re-read and don’t see anything which seems much like an explanation. Something approaching one was someone stating that the quality preset might differ, but I don’t understand how that could increase the file size. Instead, I was of the expectation that it would merely get the user closer to the original file size, but always less or equal.

I have single-frame still image captures from video that are larger than 12MB - so all the answers to this are in the specific details of how both files were encoded…

If you’re transcoding lossy formats, the quality will always be reduced, but you can throw any arbitrary number of bits you like at trying to make that reduction less noticeable.

For the re-encoding to be smaller than the original, you either need to be encoding with a more efficient codec, or losing more detail.

Does the webm file have a variable frame rate? If so, the size increase is understandable as Kdenlive generates video with a constant frame rate. So, if the original saved frames here and there, Kdenlive will insert them, which takes more space than in the original file, of course.

1 Like

@berndmj, that’s very insightful! It is, per mediainfo-qt-25.03-1.fc42: [1]

Frame rate mode: Variable

Can KDENLiVE’s conversion from variable to constant be prevented? I ask want to take advantage of modern file formats supporting variable refresh rates, due to the significant size difference. I’ve never had a problem with support elsewhere.


@Ron, surely not if I’ve cut out a section of the video?


  1. superuser.com/revisions/1742074/1 ↩︎

@berndmj, looks like it’s already set to constrained variable by default:

However, attempting to replace this with mere VBR:

…causes that replacement to be reverted upon save.

That’s for variable BIT rate. You cannot change the frame rate to be variable. If your project profile says 30fps, Kdenlive creates 30 frames per second. Period.

1 Like

…yeah, @berndmj. Stupid of me to conflate those, too. I promise IK this stuff, and also promise that my brain has a tendency to transcode words into what I want to read.


Seems like VFR is deliberately inaccessible, despite ultimately being supported:

Interestingly, though, I don’t see the prompt:

Perhaps, because there’s no audio channel?

Irrespective, what a shame. I’m amazed that there appears to be no BZ nor GitLab issue tracking support for VFR. It renders KDENLiVE fairly useless for me, because all my recordings are VFR, and I’ve not enough storage for such a file size increase.

Well, in this case you have to use another video editor. I’m curious, though: which one supports VFR in exporting?

The funny thing is that even Adobe Premier Pro says that it is better to convert VFR sources to CFR.

1 Like

@berndmj, I’ve yet to confirm it in any, since KDENLiVE is the first I’ve used. I’ll try to remember to mention it here if I ever locate one which does. Evidently, I shan’t need to confirm whether Premier Pro does (not that I intended to utilise it anyway).

I’ll probably just be forced to:

  1. record in CFR, since I use Open Camera and OBS most of the time anyway, or transcode VFR to CFR when I’ve lazily used Spectacle instead, then

  2. put the resulting video through something that compresses it, by informing the decoder when to merely continue displaying a single frame, instead of storing all those duplicate frames. I presume most modern containers and codecs support this…?