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:
@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.
@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?
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.
…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.
@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:
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
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…?