Registered Member
|
I've tried some of the ideas from this thread to track down the problem. Here are my observations: 1) I've had multiple versions of libavformat and libavcodec on Ubuntu Feisty. I've uninstalled the older ones (from the official Ubuntu repositories) and left out only the latest from http://ubuntu.tonio.homelinux.org/. Then I've rebuilt mlt, mlt++ and kdenlive. It didn't solve the problem. 2) I've launched kdenlive_renderer from gdb:
It didn't crash, exited normally but it has interrupted the the job in the middle (the output VOB has a length of 00:03:53, while the project has 00:11:22). 3) The project files saved by KDEnlive (both tempporary and File->Save As) seem corrupted - it looks like some portion of XML is chopped off at the end. Maybe the renderer exits when an internal inconsistency occurs because of incomplete project data? 4) kdenlive_renderer sends its output to STDOUT - is this behaviour correct? |
Registered Member
|
One more observation: 5) Looking at kdenlive_renderer commandline:
I can see that there's a file argument after "-consumer avformat". kdenlive_renderer won't start if this file doesn't exist or isn't a valid VOB file (it outputs the "Usage: kdenlive_renderer ..." help message), but if the VOB file exists, it starts the job but doesn't write to that file (maybe it reads from it?). |
Registered Member
|
Now that's interesting. kdenlive_renderer, when called from kdenlive, crashes with SIGSEGV in fact. It dumps core, and I've extracted some backtraces from the core (unfortunately, stack seems corrupt in those):
|
Registered Member
|
BTW, the above was reproduced using a clean build, with this afternoon's SVN version of mlt, mlt++ and kdenlive. I've also removed all older versions of libavformat, libavcodec, libpostproc, libavutil before compiling to make sure the build is absolutelty clean. Currently I have only FFMPEG libraries from http://ubuntu.tonio.homelinux.org/, their version is from CVS from 2007-03-07:
You can see the old libraries in the rc state. |
Registered Member
|
The previous backtrace was from exporting the timeline to DVD format. Here's a backtrace from exporting the timeline to XviD 720x576 in medum quality: Core was generated by `kdenlive_renderer /tmp/kde-olo/kdenliveLx47nb.westley real_time=0 resize=hyper'. From exporting to XviD 320x200 in medium quality:
What's interesting - export to Theora (320x240, medium quality) and Quicktime (720x480, medium quality) doesn't crash! Also earlier attempts to export to small XviD (320x200, high quality) have succeeded - but now they crash. MPEG4 320x200, Flash 320x240 crash, but ordinary MPEG exports fine in 320x200 while it crashes in 640x480 and 720x576. So this problem largely depends on output format. |
Registered Member
|
Ok, I think I may know what your problem is. Both of you have a debian version of FFMPEG. There was a bug in FFMPEG some time ago that required the qscale parameter to be set to 1 or that would cause crashes on export. 3 weeks ago I realised that this setting caused the avformat producer to ignore video bitrate setting, and also that the crash in FFMPEG had disappeared. So I reverted the qscale default value to 0 ( see my commit: http://svn.sourceforge.net/viewvc/kdenl ... 16&r2=1517 ) But I left it by default at 1 in MLT's inigo player. That seems to explain everything, haha! I just comited a fix to Kdenlive that will allow you to override the default qscale value. So please both of you, update your Kdenlive svn, and try adding qscale=1 to your avformat parameters. This should fix your crash, but the video bitrate will not work anymore. Then, the real solution will be to find an updated FFMPEG version that does not crash on qscale=0... Waiting for your feedback. |
Registered Member
|
Do we have to create custom encoding options, or did I miss UI to set only this? BTW, the corrupted XML in saved projects seems a different unrelated problem? |
Registered Member
|
Dear JB, Some time ago, you informed me that my MLT was linked against an old version of ffmeg. Marrilat compiled libavformat and mlt in a chroot, which is not my case. Kind regards, |
Registered Member
|
OK, I've created 2 custom export settings based on DVD export template, and appended qscale=1 to the first and qscale=0. The qscale=1 job proceeds successfully, the qscale=0 crashes after exporting a couple of seconds. So you were totally right. BTW, I like the new default GUI layout with the latest SVN version, especially the fact that project tree is on by default :) |
Registered Member
|
jmpoure wrote:
How can I be sure that MLT selects the right libavcodec? try ldd ./kdenlive or more detailed LD_DEBUG=libs ./kdenlive in directory where your make install your kdenlive |
Registered Member
|
In my case it's:
Seems quite recent (2007-03-07). What versions of ffmpeg have that bug fixed? I've googled out a discussion about qscale-related crash in FFmpeg from September 2005, but this one must be a different one? |
Registered Member
|
So the /usr/lib/libavcodec.so.1d was used, the distribution version. Is that what you wanted? Try my build script from this post (I need some tester's ;-) |
Registered Member
|
espinosa_cz wrote:
So the /usr/lib/libavcodec.so.1d was used, the distribution version. Is that what you wanted? Well, it's not the distribution version, but a newer version from a cutting edge repository located here: http://ubuntu.tonio.homelinux.org/ The distribution version was "libavformat0d 0.cvs20060823-3.1ubuntu4".
espinosa_cz wrote:
I'm afraid of breaking my FFmpeg installation this way, since your scripts installs the latest version in /usr. But what about the "--avformat-svn" configure option for MLT? It seems that with this option, the latest SVN version of FFmpeg is checked out and built in the build directory, then MLT is linked statically with it. It would guarantee running with the latest FFmpeg version. I've used it to build MLT today:
I could see the FFmpeg being checked out and built during MLT build, it has definitely happened. I can provide build logs as a proof. Then I've build and installed MLT++ and KDEnlive (today's SVN versions, too) and run kdenlive with LD_DEBUG=libs. As expected, no libavformat (nor libavcodec) has shown up this time (because it was statically linked into MLT - as I understand it). So, currently, I should be using the latest, today's version of FFmpeg when running KDEnlive/MLT. But still, when I do the timeframe export to DVD format, kdenlive_renderer crashes. A new fact: I've observed that renderer crashes only when it reaches a transition between two tracks (a crosfade in of a text clip and a DV video clip in my case). And it has to be a transition between text clip and video clip - a crossfade transition between two video clips doesn't cause a crash! When I've created a timeline consisting of a single clip, or two video clips crossfading at one point, the export went fine. So the crash is very dependent on project contents. |
Registered Member
|
olo wrote:
Noooooo! The exact opposite is true! The reason why I created and published this script was to easy and SAFE way how compile it all not breaking anything in your system. All libs, including kdenlive binary, is encapsulated in selected directory. Please read carefully the description. I cannot help you with the Ubuntu packages, I don't use Ubuntu but SUSE or PCLinux. I can only recommend to compile ffmpeg + mtl + Kdenlive from latest sources, these are the version developers use, this only can exclude buggy (nonstandard) distribution components. |
Registered Member
|
OK, you're right. So I've used your script with minor modifications needed to get it working on my system:
As you can see I've commented some "cd" commands that didn't make sense and removed some configure options because those libs in my system aren't accepted by configure (wrong versions, probably). It has built successfully and I've run it with LD_DEBUG=libs. KDEnlive uses FFmpeg that was checked out from SVN by your script:
So I'm using the today's SVN version of FFmpeg. The crash still occurs when the render process reaches the timeline point where crossfade transition between a text clip and video clip begins. This is related to export options (qscale=1 results in no crash), but also depends on project content. I suspect a bug in kdenlive_renderer or a not yet known bug in FFmpeg (or both). |
Registered users: bancha, Bing [Bot], daret, Evergrowing, Google [Bot], lockheed, sandyvee, Sogou [Bot]