KDEnlive FX and proxies

Is KDEnlive currently not capable of applying FX to proxy clips?

I'm running a recent svn build (GMaq's latest svn package under his AV Linux 6) on my now quite old laptop, a 2Ghz core 2 duo w/ 4GB RAM. Despite its less than impressive CPU, I was still hoping I may get away with editing some 1080 mp4 footage and applying some VFX with KDEnlive thanks to its support for proxies although after having tried it I get the impression proxies don't work with effects yet?

It would seem effects can only be applied to the original clips because although proxy clips play fine once rendered, project playback slows to 0.5 fps or so as soon as I apply any effect. I would've expected a machine like mine would struggle applying VFX to 1080 res clips in realtime but I also expect it'd have no probs applying most of the KDEnlives VFX in RT to the 480x270 res MPEG proxy files and hence give a decent project preview framerate.

Also, I seem to be having probs removing VFX from clips. I can remove it in the clip effects list ok but it stays visible on the clip in the timeline and in the project preview. Known bug?

No one?

I think proxy clips are of pretty limited use if they don't work with effects too so I'd like to know if this is a planned feature if it isn't a bug?

I can assure you that proxy clips and effects work fine on Ubuntu. You see, your problem needs to be picked up by someone else using AV Linux and GMaq's latest svn package. I have no idea how many other AV users there are. Perhaps you could email GMaq direct.

Sorry I couldn't help.

AV Linux 6 is based upon Debian Squeeze 32bit but I have been experiencing the same problem under Debian Wheezy 64bit running the official 0.9.2 package from the Wheezy repos so I don't think this problem is specific to just AV Linux but maybe recent versions of Debian? Maybe its the type of mp4 file I'm trying to edit that KDEnlive is choking on?

"I was still hoping I may get away with editing some 1080 mp4 footage and applying some VFX with KDEnlive thanks to its support for proxies"

1080 mp4 footage is a bit vague, mp4 is a container not a codec, so what codec? guess h264 and bitrate? Generally you won't be able to do it any other way than with a proxy with kdenlive.

"although after having tried it I get the impression proxies don't work with effects yet?"

Effects can be added to proxies, there was another recent thread on this as well. That however doesn't necessarily mean you'll get realtime playback depending on the proxies you created and the power of your machine.

What was your proxy profile? Have you tested and tried custom proxy profiles?

Hi yellow!

I have only tried the default proxy profile so far.

What res and codec etc would you recommend for a machine of my vintage? It would be nice if KDEnlive included more than one proxy preset. It should offer at least a few for different classes of machine.

I have a:

Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 2
Thread(s) per core: 1
Core(s) per socket: 2
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Stepping: 13
CPU MHz: 2000.000
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K

and here is the mediainfo output of the file I'd like to edit and apply FX to:

Complete name : 20121231_112419.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 464 MiB
Duration : 3mn 49s
Overall bit rate : 17.0 Mbps
Encoded date : UTC 2012-12-31 11:28:14
Tagged date : UTC 2012-12-31 11:28:14

ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=30
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 49s
Bit rate mode : Variable
Bit rate : 16.9 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.752 fps
Minimum frame rate : 11.400 fps
Maximum frame rate : 40.071 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.273
Stream size : 460 MiB (99%)
Title : VideoHandle
Language : English
Encoded date : UTC 2012-12-31 11:28:14
Tagged date : UTC 2012-12-31 11:28:14

ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 3mn 48s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 3.46 MiB (1%)
Title : SoundHandle
Language : English
Encoded date : UTC 2012-12-31 11:28:14
Tagged date : UTC 2012-12-31 11:28:14

The default profile here is:

-f mpegts -acodec libmp3lame -ac 2 -ab 128k -ar 48000 -vcodec mpeg2video -g 5 -deinterlace -s 480x270 -vb 400k

I've just tried applying pan an zoom to the same clip but this time using the following proxy profile:

-f mpegts -acodec libmp3lame -ac 2 -ab 128k -ar 48000 -vcodec mpeg2video -g 5 -deinterlace -s 320x180 -vb 200k

but still I get fractional frame rates as soon as I apply an effect. Any res less than that is not worth bothering with at all is it?

I hope I need not switch distros to use 1 app! Surely my CPU isn't that crap? I realise editing HD requires a lot more horspower but the default proxy res was small enough I thought - but 320x180? Somethings wrong! When I first edited DV video it was on something like a P2 500 with 128MB RAM.

What about something like:

-f mpegts -acodec libmp3lame -ac 1 -ab 96k -ar 48000 -vcodec mpeg2video -g 5 -vb 2000k -vf scale=iw/4:-1

Sorry for the late reply - I've been very busy the last few weeks!

Thanks for your suggestions and links Yellow and Marko, they are useful but whatever proxy settings I use, project playback just grinds to a halt as soon as I apply the pan and zoom effect to a video clip, regardless of its proxy res and codec etc settings.

A number of the less demanding FX work fine but a few, like pan and zoom, I suspect aren't optimised well enough to work on a machine as old as mine yet. What is the minimum required spec CPU to get a usable pan and zoom project playback framerate? An i5 class CPU maybe? i7?

Has anyone looked into optimising this plugin or is planning to do so? I think this Mr Burns is quite a popular effect isn't it?

Work is being done in MLT to use GLSL for effects, that is using the GPU, OpenCL / CUDA and intergrating certain limited code from the MOVIT project.

But its only very recent addition which kdenlive does not yet I assume expose in the effects menus, it will be useful to identify which are GLSL, Frei0r etc, which if any are done at 32bit precision etc but I'd assume the whole thing will be limited to more simple effects to start with and slowly transfer over more involved effects after, I don't know I'm just guessing.

For me currently I just use kdenlive to edit, export to lossless intermediate file and either use Davinci Resolve Lite on Windows or more frequently convert to image sequence and import into Blender for any effects etc where an OpenCL Node based compositor and 32bit precision is available.

Hi yellow!

I'm happy to hear that MLT is getting GLSL / OCL + CUDA support soon! Maybe that would make editing HD clips possible on an aging machine like this as long as it has a decent GPU and enough RAM, which I think this laptop does.

I was at a friends house earlier and they're running the same Debian (Wheezy) + KDEnlive release as I'm running here but they have an i3 w/ intel graphics. HD video played fine without resorting to proxy clips and I could use pan and zoom better. I could see it was still struggling to produce a decent frame rate but at least P+Z was runnng at multiple fps in the project preview. I expect if you have an i5 or better desktop CPU P+Z should become usable on HD clips.

My laptop has the same if not a little more RAM and a better GPU than that i3 so it would seem KDEnlive's FX rendering performance is largely dependent upon your CPU and don't expect much if you've not got a modern x86 one. ARM users - forget it (for a few years at least)!

I use a reasonably fast machine, but I can still get some annoying stutter. What I do is just add my pan and zoom settings to the clip and any other effects I want, eg. colour correction etc., then I zone select the clip and render the selected zone. Add the render to the project, create a proxy and shove that in the timeline. Plays like a dream. I usually keep the original on a spare timeline at the bottom just in case of any further adjustments.