Re: [Mlt-devel] Image sequence question
Brought to you by:
ddennedy,
lilo_booter
From: j-b-m <j-...@us...> - 2012-10-29 17:40:17
|
On Monday 05 March 2012 22:52:01 Dan Dennedy wrote: > On Sun, Feb 12, 2012 at 1:12 AM, j-b-m <j-...@us...> wrote: > > On Saturday 11 February 2012 23:09:25 Dan Dennedy wrote: > >> On Tue, Feb 7, 2012 at 4:04 PM, Dan Dennedy <da...@de...> wrote: > >> > On Tue, Feb 7, 2012 at 2:06 PM, j-b-m <j-...@us...> wrote: > >> >> On Tuesday 07 February 2012 10:32:24 Dan Dennedy wrote: > >> >>> On Tue, Feb 7, 2012 at 10:08 AM, j-b-m <j-...@us...> > > > > wrote: > >> >>> > Hello. > >> >>> > > >> >>> > Trying to improve image sequence support in Kdenlive, I discovered > >> >>> > that > >> >>> > MLT > >> >> > >> >>> > cannot currently load a sequence with files like this: > >> >> (...) > >> > >> I have a new idea. In addition to the existing scanf-style heuristic, > >> add a new one where you embed the begin value between the % and the > >> 'd'. Then, set the begin property, make a new scanf format string > >> based on the length of begin, and run the scanf heuristic again. For > >> example, foo%01000d.png becomes begin=1000, and filename becomes > >> foo%05d.png. Checks for 'i' and 'u' and other relevant characters will > >> be supported as well. > > This is in git now. > > > Seems like a good idea to me. However we need to keep compatibility with > > older project files. Kdenlive currently uses the following pattern: > > > > foo%.5d.jpg > > > > So maybe the new format you proposed should have an extra character or > > something else to let MLT know that it has to do a 2 step processing.. > > This should not be necessary because the old mode is tried first and > should match old loadable sequences. Also, in the above example > processing would stop at the first period, and then a check to ensure > the embedded begin value length is greater than 1 will fail. See the > git comment if needed and give it a try. At first I thought it was ok, but in fact the logic fails in some cases (see kdenlive issue http://kdenlive.org/mantis/view.php?id=2804 ). For example, if you have images named like: image00.jpg, image01.jpg, image02.jpg, image03.jpg, image04.jpg, (...) If you want to play the whole sequence, you can do the usual: melt image%02d.jpg However it is impossible to start the sequence from image01 or image02. We have the "load_sequence2" method to load a sequence from a beginning value that expects something like: foo%1234d.png where 1234 is the beginning number. But since MLT always tries first to load the image sequence with the "load_sequence" method, when doing this melt image%01d.jpg MLT tries to find the following images: image1.jpg, image2.jpg, (...) and will then find the existing image10.jpg, image11.jpg,... So instead of playing the sequence from image01, it will start at image10 which is quite confusing. I counldn't find an easy way to fix it, and not sure we have the energy to fix this but at least you are warned that playing a sequence from a certain frame might not always work. regards jb |