Some development questions.

Hi all.

First i must say thanks for developers, for their nice work. The good NLE with friendly interface is really needed.


I`m work in post-production studio, and i work on Linux workstation. My most everyday job - is FX creation, rendering and many other postproduction things. But i need some software for creating movies from rendered TGA, TIFF, OpenEXR image sequences. As i know, Kdenlive not support directly most graphics image production formats (exclude some feature named "Slideshow Clip" - this can be used for reading bmp,png,jpg and gif image sequences), but i think (may be i`m wrong) this can be improved.


I think, Kdenlive must read and write TGA, TIFF, OpenEXR, IFF, and more formats. This can push this NLE to new level. Not only creation home videos, but first good step to postproduction pipelines in CG studios. For example, we have hard work all day, and we need periodically send the "work-in-progress" stages, and some results to clients. Kdenlive have a great friendly GUI. I think it ready for many kinds of work.


Where i can find some detailed documentation for developers (if exist) ? I`m not very skilled in C++,  but i can start to write some things like support of TGA and TIFF sequences reading and writing (as mostly used formats). May be this not a very hard, and i can write this improvements. Where i can find some hints about structure of KDEnlive source code ?


Big thanks for possible answers.


Thanks for your interest. You will be glad to know that TGA, TIFF and OpenEXR are already supported by the MLT framework on which Kdenlive relies. All these images can already be imported in Kdenlive (I just added the mime type for tga in svn).

For image sequences, I am adding support for these image types right now (basically, all that is needed is to add the correct mimetypes / extensions), it should be in svn in one or two hours, then your feedback is welcome!


j-b-m thanks for good news!

>>> You will be glad to know that TGA, TIFF and OpenEXR are already supported by the MLT framework on which Kdenlive relies

Yes, i`m really glad to know about this (I`m just lucky?) Yesterday i`m ask about, today i`m see this news  :-)

I have the mlt framework mlt-0.3.6 version, and, as i can understand, i`m not need update MLT (this is a last version, as i can see),i  just need the headers for Kdenlive compillation.

By another words i can find a lot of answers about installation in this place:


Thanks! I go to compile.


Heh, it work now :) 

I don`t check TIF and OpenEXR import (because most files in my home chaos is TGA, i will try TIF and OpenEXR  later), but TGA import is work.

(i have some troubles with compilation of mlt++, ./configure can`t find compiled mlt libraries, but i compile it without errors, and mlt-framework is exist. I think this is a problem of x86_64 architecure ) I go to simple way and install all mlt++ and mlt libs and devels from Packman repository (i`m on openSUSE 11.1) and then build KdenLive. All ok.


Can i ask some improvements, or the more good way is write something? Because i want add export image sequences function to "Rendering" menu. This need for cases, when we need to convert video-files (mpg, mov or avi ) from client to image-sequences for frame-to-frame editing.


May be i just need to edit profiles.xml in ~/kdenlive/export source folder ?



I made a quick test and it seems really easy. All you need is to create a new rendering profile:

From the render dialog, click on the "Create new profile" button. In the new profile, put "f=image2" in the parameters and "tga" as extension (you can put "png" and probably other formats too), see picture below.

Then, just render your movie with that profile.
WARNING: The name of the rendered file must contain "%05d" that will be replaced by the frame number, for example: movie-%05d.tga

I will probably try to add several image sequence rendering profiles to Kdenlive since it is a great feature.

It would be great to make a quick tutorial.

j-b-m, big thanks for instructions, but my kdenlive create files with *.tga extension, but this is *.jpg files (i look to headers, because this files can not be read as "tga")

Answer please, what mean this expression: "f=image2" ? or where i can read about all render scripts commands ("may be image2 - this is another format id?" )

(i made quick search in onsite user manual - but can`t  find info about this expressions rules.. )


>> WARNING: The name of the rendered file must contain "%05d" that will be replaced by the frame number, for example: movie-%05d.tga

This good normal filename prefix :) This standard, for example, for Nuke (professional composition tool). Nuke filename expressions look identically - "filename.%04d.ext" - where "04" - is digits count.


p.s. i`m understand - all this information is inside MLT, right?

The Avformat parameters come from FFmpeg. MLT uses FFmpeg for file rendering.

The "f=image2" is a parameter to produce an image sequence. Maybe you also need to add: "vcodec=targa"

Otherwise, please make sure you have the TARGA format compiled in your FFmpeg installation, try this in a terminal:

ffmpeg -formats | grep image

You should see a line like:

DEV targa Truevision Targa image

I posted some information about rendering profiles here:

I made some tests and there seems to be a limitation with image size. For some reason, encoding fails on some frame size. Please make some tests with parameters like:

"f=image2 vcodec=targa s=640x480"

This will create 640x480 targa images. As I said, encoding will fail with some image size, so try with different size and let me know...