This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Kdenlive 15.09.0 playhead does not reposition

Tags: kdenlive, playhead, shuttlepro kdenlive, playhead, shuttlepro kdenlive, playhead, shuttlepro
(comma "," separated)
TheDiveO
Registered Member
Posts
595
Karma
3
OS
For testing I've compiled a recent mlt 0.9.8 from source, as well as kdenlive from the git repository (master) -- it says 15.09.0. My system is a Kubuntu 15.04 mit recent KF5 backported updates installed. Compilation of both mlt and kdenlive went very smooth, thanks to the instructions given in the kdenlive wiki. The mlt test was success.

I've loaded an existing very recent kdenlive project I just finished a week ago and which was created with kdenlive 15.04.1. I still see the same playhead issue that is basically making any edits useless: clicking on a position in the timeline or using the cursor keys or Home/End does move the blue rectangle in the timeline ruler ... but does not move the playhead with its vertical white line.

Pressing play then repositions the playhead correctly ... but this way I loose the position I need for editing.

Sometimes after some time and some layout reloads (coincidence? cause? who knows?) the playhead starts to act correctly and moves immediately in response to any mouse clicks and keyboard move commands.

On another note, ShuttlePro support still not working.

Personally I'm a little disappointed that I see no reactions to my previous posts and bug reports.
User avatar
ttguy
Moderator
Posts
1152
Karma
6
OS
Can't help you with your bugs - sorry. But maybe you can help me. You mentioned you got mlt and kdenlive to compile on kubuntu 15.04 using the wiki instructions.

Are you talking about these https://community.kde.org/Kdenlive/Development/KF5 ?

Because I can not get those instructions to work. I think there is a step missing between installing the dependencies and configuring the build.

I labelled this spot <where and how to you download the melt source? Which version of the source? -ttguy>) in the instructions.

How did you get melt source ?
TheDiveO
Registered Member
Posts
595
Karma
3
OS
ttguy wrote:How did you get melt source ?


Glad to help here: yes, we're talking about the KF5 instructions. There are basically two paths to the MLT sources; I would prefer to document the first one (until Dan may need to move the source repository once again...)

1. Go directly to https://github.com/mltframework/mlt/releases/latest. This shows the most recent release notes. Now scroll down to the end of the release note. You should see a minor section labelled "Downloads". This section contains two attachments; one for the zip sources, another for the tar.gz sources. Download one of them and unpack to some nice place in your file system. Please be careful to document the link I gave because it redirects to the latest release, so one may end up easily with a static URL when copying and pasting the browser URL bar contents.

2. Go to http://www.mltframework.org/bin/view/MLT/ProjectNews and scan the news for a new release. That news snippet then will contains the link to the tar.gz source file on github.

Unfortunately, there is no way to link to the "most recent" source file download. This is a long-standing issue with GitHub, many feature requests filed by huge numbers of users. I would now recommend the first path.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Ah, forgot to mention that: I'm using MLT version 0.9.8 which is the recent stable release.
User avatar
ttguy
Moderator
Posts
1152
Karma
6
OS
DiveO could you baby me through some more of the steps?

I extracted to ~/kdenlive/mlt-0.9.8
cd ~/kdenlive/mlt-0.9.8

I set a var INSTALL_PREFIX - not sure if I am supposed to.

INSTALL_PREFIX=/home/ttguy/development/kdenlive
$ echo $INSTALL_PREFIX
/home/ttguy/development/kdenlive

Run the configure step. - seems to work

./configure --enable-gpl --enable-gpl3 --prefix=$INSTALL_PREFIX --qt-includedir=/usr/include/x86_64-linux-gnu/qt5 --qt-libdir=/usr/lib/x86_64-linux-gnu
Code: Select all
Configuring framework:
Configuring modules:
Configuring modules/avformat:
Configuring modules/core:
Configuring modules/decklink:
Configuring modules/feeds:
Configuring modules/frei0r:
Configuring modules/gtk2:
- Libexif found, enabling auto rotate
Configuring modules/jackrack:
Configuring modules/kdenlive:
Configuring modules/linsys:
Configuring modules/lumas:
Configuring modules/motion_est:
Configuring modules/normalize:
Configuring modules/oldfilm:
Configuring modules/opengl:
Configuring modules/plus:
Configuring modules/plusgpl:
Configuring modules/qt:
- Libexif found, enabling auto rotate
- Qt version 5.x detected
- Include directory:  /usr/include/x86_64-linux-gnu/qt5
- fftw found, enabling lightshow
Configuring modules/resample:
Configuring modules/rtaudio:
Configuring modules/sdl:
Configuring modules/sox:
Configuring modules/swfdec:
- swfdec not found: disabling
Configuring modules/vid.stab:
- vid.stab not found: disabling
Configuring modules/videostab:
Configuring modules/vmfx:
Configuring modules/xine:
Configuring modules/xml:
Configuring mlt++:
Configuring swig:
GPLv3 license used


$ pwd
/home/ttguy/kdenlive/mlt-0.9.8
The make install fails
$ make install
Code: Select all
install -d "/home/ttguy/development/kdenlive/bin"
install -d "/home/ttguy/development/kdenlive/include"
install -d "/home/ttguy/development/kdenlive/lib"
install -d "/home/ttguy/development/kdenlive/lib/mlt"
install -d "/home/ttguy/development/kdenlive/lib/pkgconfig"
install -d "/home/ttguy/development/kdenlive/share/mlt"
install -c -m 644 *.pc "/home/ttguy/development/kdenlive/lib/pkgconfig"
list='src/framework src/mlt++ src/melt src/modules src/swig profiles'; \
for subdir in $list; do \
        make DESTDIR= -C $subdir install || exit 1; \
done
make[1]: Entering directory '/home/ttguy/kdenlive/mlt-0.9.8/src/framework'
install -d /home/ttguy/development/kdenlive/lib
if [ "Linux" = "MinGW" ]; then \
        install -m 755 libmlt.so.0.9.8 /home/ttguy/development/kdenlive ; \
        install -m 755 libmlt.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt.dll ; \
        install -m 644 libmlt.def /home/ttguy/development/kdenlive/lib ; \
else \
        install -m 755 libmlt.so.0.9.8 /home/ttguy/development/kdenlive/lib ; \
        ln -sf libmlt.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt.so.6 ; \
        ln -sf libmlt.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt.so ; \
fi
install: cannot stat ‘libmlt.so.0.9.8’: No such file or directory
install -d "/home/ttguy/development/kdenlive/include/mlt/framework"
install -m 644 mlt_consumer.h mlt_version.h mlt_factory.h mlt_filter.h mlt.h mlt_multitrack.h mlt_pool.h mlt_properties.h mlt_events.h mlt_parser.h mlt_repository.h mlt_tractor.h mlt_types.h mlt_deque.h mlt_field.h mlt_frame.h mlt_geometry.h mlt_playlist.h mlt_producer.h mlt_property.h mlt_service.h mlt_transition.h mlt_tokeniser.h mlt_profile.h mlt_log.h mlt_cache.h mlt_animation.h "/home/ttguy/development/kdenlive/include/mlt/framework"
install -d "/home/ttguy/development/kdenlive/share/mlt"
install -m 644 metaschema.yaml "/home/ttguy/development/kdenlive/share/mlt"
make[1]: Leaving directory '/home/ttguy/kdenlive/mlt-0.9.8/src/framework'
make[1]: Entering directory '/home/ttguy/kdenlive/mlt-0.9.8/src/mlt++'
install -d "/home/ttguy/development/kdenlive/lib"
if [ "Linux" = "MinGW" ]; then \
        install -m 755 libmlt++.so.0.9.8 /home/ttguy/development/kdenlive ; \
        install -m 755 libmlt++.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt++.dll ; \
        install -m 644 libmlt++.def /home/ttguy/development/kdenlive/lib ; \
else \
        install -m 755 libmlt++.so.0.9.8 /home/ttguy/development/kdenlive/lib ; \
        ln -sf libmlt++.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt++.so.3 ; \
        ln -sf libmlt++.so.0.9.8 /home/ttguy/development/kdenlive/lib/libmlt++.so ; \
fi
install: cannot stat ‘libmlt++.so.0.9.8’: No such file or directory
install -d "/home/ttguy/development/kdenlive/include/mlt++"
install -m 644 config.h Mlt.h MltAnimation.h MltConsumer.h MltDeque.h MltEvent.h MltFactory.h MltField.h MltFilter.h MltFilteredConsumer.h MltFilteredProducer.h MltFrame.h MltGeometry.h MltMultitrack.h MltParser.h MltPlaylist.h MltProducer.h MltProfile.h MltProperties.h MltPushConsumer.h MltRepository.h MltService.h MltTokeniser.h MltTractor.h MltTransition.h "/home/ttguy/development/kdenlive/include/mlt++"
make[1]: Leaving directory '/home/ttguy/kdenlive/mlt-0.9.8/src/mlt++'
make[1]: Entering directory '/home/ttguy/kdenlive/mlt-0.9.8/src/melt'
cc -DARCH_X86_64 -Wall -DPIC   -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -I.. -rdynamic -DVERSION=\"0.9.8\"   -c -o melt.o melt.c
cc -DARCH_X86_64 -Wall -DPIC   -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -I.. -rdynamic -DVERSION=\"0.9.8\"   -c -o io.o io.c
cc -o melt melt.o io.o -Wl,--no-undefined -Wl,--as-needed -L../framework -lmlt -lpthread
/usr/bin/ld: cannot find -lmlt
collect2: error: ld returned 1 exit status
Makefile:23: recipe for target 'melt' failed
make[1]: *** [melt] Error 1
make[1]: Leaving directory '/home/ttguy/kdenlive/mlt-0.9.8/src/melt'
Makefile:28: recipe for target 'install' failed
make: *** [install] Error 1
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Oh yes, now that you've fallen into the same trap, I remember. Sorry for not remembering earlier!

So you need to do a compile first:
$ make
Only then do the installation; please note that the installation target does not ensure compilation! That's the trap that has been set up for us... xD
$ make install

Using the --prefix option is a good idea; I installed everything inside my own user directory.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Heh, found at least that bug that caused my ShuttlePro and possibly other media controllers to cease working in recent Kdenlive releases... ;D
User avatar
ttguy
Moderator
Posts
1152
Karma
6
OS
Hi DiveO,

I have not followed up your last suggestion yet .

But in the meantime I downloaded the build script at http://www.mltframework.org/twiki/bin/v ... s#Kdenlive
and modified it build the head of git://anongit.kde.org/kdenlive.git

I changed
KDENLIVE_HEAD=0
KDENLIVE_REVISION=origin/v0.9.x

to
KDENLIVE_HEAD=1
KDENLIVE_REVISION=

in the script

With this build I can not reproduce your play head problems.

The script builds lots of the kdenlive support programs
(ffmpeg ffplay ffprobe melt x264)
from source
User avatar
ttguy
Moderator
Posts
1152
Karma
6
OS
Thanks for that hint.
Indeed doing a make and then a make install got me through the melt compile

The kdenlive compile then completes fine.


I have updated https://community.kde.org/Kdenlive/Development/KF5 to reflect this and have made it more explicit about how to do this.

My build of kdenlive using this method does not reproduce your playhead issues either.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
Based on your feedback I've compiled my own ffmpeg version and recompiled MLT to use it. Also changed the environment settings in Kdenlive to correctly use my locally compiled ffmpeg.

Unfortunately, the playhead problems persist. I also now noticed that dialing does not work, while shuttling does. Similar, single frame movement doesn't work in Kdenlive either.

This applies to the timeline, but also to the clip monitor as well. There seems something severely broken in Kdenlive, and it broke after 15.04; in 15.04 the playhead successfully followed track.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
ttguy: how many MLT threads and how many Kdenlive/Proxy threads do you have configured? And what kind of machine/cpu do you use?

I have 3 MLT threads enabled and am using a Core i7 ... and resetting the number of MLT threads to one thread only seems to make the playhead problem go away most(!) of the time.

Looks like a dreaded race condition to me; as it still sometimes appear this may be an issue in Kdenlive rather than in MLT.
TheDiveO
Registered Member
Posts
595
Karma
3
OS
So, for the moment the "solution" is to set the number of MLT threads in kdenlive's configuration settings to 1. This will make the playhead properly sync to amy position selected.
User avatar
ttguy
Moderator
Posts
1152
Karma
6
OS
TheDiveO wrote:ttguy: how many MLT threads and how many Kdenlive/Proxy threads do you have configured? And what kind of machine/cpu do you use?



2 proxy clip concurrent threads
1 processing thread.

2.1Ghz Celeron (R) Dual Core 2 Gig of ram.

I am using standard definition footage.
djay
Registered Member
Posts
63
Karma
0
got sometime the same playhead problem does not reposition .

i think that should come from codec stuff .... ?

Whatever i do with the timeline cursor _black arrow_ (from project monitor or from the project timeline) , the "project monitor" preview will always move forward in the clip. Until the end, and then impossible to going backward in the clip.

version 15.04.2 / KDE Frameworks 5.9.0 / melt 0.9.6 / Xubuntu 15.04 / avconv version 11.2-6:11.2-1
djay
Registered Member
Posts
63
Karma
0
(MLT Thread have never be other than 1)

Typically something not working with this kind of clip :

Code: Select all
avprobe version 11.2-6:11.2-1, Copyright (c) 2007-2014 the Libav developers
  built on Jan 18 2015 05:12:33 with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu2)
Input #0, avi, from '00305.MTS.avi':
  Metadata:
    encoder         : Lavf56.1.0
  Duration: 00:04:58.00, start: 0.000000, bitrate: 24983 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 800x600 [PAR 4:3 DAR 16:9], 50 fps, 50 tbn
    Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16p, 128 kb/s
# avprobe output


same without sound , no working
Code: Select all
avprobe version 11.2-6:11.2-1, Copyright (c) 2007-2014 the Libav developers
  built on Jan 18 2015 05:12:33 with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu2)
[avi @ 0x189e900] non-interleaved AVI
Input #0, avi, from '00305.MTSNOSOUND.avi':
  Metadata:
    encoder         : Lavf56.1.0
  Duration: 00:04:57.96, start: 0.000000, bitrate: 24851 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 800x600 [PAR 4:3 DAR 16:9], 50 fps, 50 tbn
# avprobe output


this one always working :
Code: Select all
avprobe  built on Jan 18 2015 05:12:33 with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu2)
Input #0, avi, from 'Bubbles__Slow__013.mp4.avi':
  Metadata:
    encoder         : Lavf56.1.0
  Duration: 00:02:56.04, start: 0.000000, bitrate: 3494 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 800x600, 25 fps, 25 tbn
# avprobe output



does the problem could come from the [PAR 4:3 DAR 16:9] ?


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot]