Kdenlive 20.08.2 Is Released With 17 Bug-Fixes And GPU Accelerated Video Rendering

From LinuxReviews
Jump to navigationJump to search
Screencast.svg

The free multi-platform video editor Kdenlive got automatic scene splitting and hardware accelerated video rendering on the GPU in this release even though it it was released as just a minor version bump. There's also 17 bugs that have been fixed since 20.08.1 was released. GPU video rendering is twice as slow as CPU rendering, so it is, for now, a utterly useless new feature.

written by 윤채경 (Yoon Chae-kyung)  2020-10-12 - last edited 2020-10-13. © CC BY

Kdenlive-git 2020-10-12 - GPU rendering.jpg
Kdenlive can do video rendering using the GPU.

The Kdenlive free software video editor is far from an alternative to commercial video editing software for professionals but it's more than good enough for hobbyists looking to make that first YouTube video. It's fine for editing home videos and things like that.

The latest version gained support for hardware accelerated video rendering for video export, proxy creation and timeline previews. That is, in theory, a pretty big improvement. In reality it's not.

GPU accelerated video rendering is, for now, just for GNU/Linux users, the Windows version remains limited to CPU rendering. Similar GPU rendering support will be added to the Windows-version in the near future. Video export, or rendering, can be done using VAAPI on AMD graphics and Intel graphics hardware and NVENC on Nvidia hardware if the proprietary Nvidia-driver is used.

The video rendering selection box lists the new hardware accelerated GPU video encoding profiles under "GPU testing". This new feature works to some degree but it's completely useless. A simple test rendering the video clip in the screenshot above reveals that there's some.. issues.

Rendering a video clip of some random go-cart action
Rendering time File Size Bitrate (default)
VAAPI AMD H264 (default) 07:44 707 MiB 30000 (default)
VAAPI AMD H264 (custom profile) 07:33 239M 10000
Generic, MP4 (H264/AAC) 03:53 215 MiB Around 10000

GPU rendering is almost twice as slow as CPU rendering with Kdenlive's new VAAPI AMD H264. A close-up inspection of the shiny new VAAPI AMD H264 profile reveals that what it actually does is:

f=mp4 hwaccel=vaapi hwaccel_device=renderD129 hwaccel_output_format=vaapi vcodec=h264_vaapi vb=30000k acodec=aac ab=192k

Copying that to a new profile with vb=10000k to get a equal file-size did not reduce the rendering time. A close-up inspection of the process tree reveals a single-threaded usr/bin/melt -progress /tmp/kdenlive-onGkSZ.mlt process during GPU rendering. Perhaps it needs to be single-threaded in order to render to the GPU. Perhaps not. We do not know, we are not kdenlive scientist. What we can say for sure is that the hardware accelerated GPU rendering is, for now, limited to that one single-core melt thread. The result is that the new VAAPI rendering in Kdenlive 20.08.2 removes "accelerated" from the term "hardware accelerated video encoding".

The kdenlive team did a lot of hard work to bring hardware not-actually accelerated video encoding to kdenlive. It is great that they are working on it and improving it in key areas. The sad truth is that the end result of the hardware video encoding efforts is a dismal failure.

There's also a pretty useful new feature called Automatic Scene Split in Kdenlive 20.08.2. Using this on a video clip makes Kdenlive figure out where in the clip there's a new scene. It can use that to either split the video clip into sub-clips or add markers. Using it is as easy as right-clicking on any clip in the project bin and selecting the "Clip jobs" menu item.

Kdenlive-git 2020-10-12 - automatic scene split.jpg
Kdelive has a new "Automatic scene split" function that lets you split clips based on scene transitions within the clip.

The Automatic Scene Split feature does a pretty good job at figuring out where the transitions are. It works as it should.

The Kdenlive 20.08.2 release announcement shows off a new "Crop By Padding Filter". That filter is, oddly, not in the git master tree. Double-checking with the Kdenlive 20.08.2 AppImage from kdenlive.org/en/download/ reveals that this new crop filter is, indeed, in the release.

Kdenlive for Windows, macOS and Windows can be acquired from kdenlive.org/en/download/. The Linux versions available there are in the forms of an AppImage and a Ubnutu PPA.

1.00
(one vote)


avatar

Chaekyung

14 months ago
Score 0++

That one really weak old AMD Beema A8-6410 chip you've got there. That's a use-case I forgot to kinder, thank you for bringing that up. There's probably a tipping point where the very poorly implemented kdenlive VAAPI hardware encoding becomes beneficial. Though it is odd..

On my system the hardware encoding results in one melt thread running on a single CPU thread and that thread sets the limit for how fast the hardware encoding is done - and the result is 2x the encoding time CPU encoding gives. What's odd is that you'd think that same single-thread limitation would apply to CPU encoding as well but that's apparently not the case.
avatar

Mnemonic

11 months ago
Score 0++

Is there something I need to install to use the "testing" GPU rendering? I'm on Arch, I have an RX 5500XT, but when I select "VAAPI AMD H264", I get the following error:

mlt_repository_init: failed to dlopen /usr/lib/mlt/libmltopengl.so (libmovit.so.8: cannot open shared object file: No such file or directory) mlt_repository_init: failed to dlopen /usr/lib/mlt/libmltopencv.so (libopencv_tracking.so.4.5: cannot open shared object file: No such file or directory) mlt_repository_init: failed to dlopen /usr/lib/mlt/libmltrtaudio.so (librtaudio.so.6: cannot open shared object file: No such file or directory) mlt_repository_init: failed to dlopen /usr/lib/mlt/libmltsox.so (libsox.so.3: cannot open shared object file: No such file or directory) mlt_repository_init: failed to dlopen /usr/lib/mlt/libmltsdl.so (libSDL_image-1.2.so.0: cannot open shared object file: No such file or directory) [AVHWDeviceContext @ 0x7fe56c019800] Failed to initialise VAAPI connection: -1 (unknown libva error). Failed to create VAAPI device. [consumer avformat] Failed to initialize VA-API: -5 [h264_vaapi @ 0x7fe56c001d80] A hardware frames reference is required to associate the encoding device.

I'm using the open source AMD drivers (that come with the kernel), if that makes any difference.
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.