
Hello, For some here the answer will probably be know right away. That is why I am writing, after long googling. I would like to create a sort of video presentation from images. However, I would like that every slide (image) is displayed for a different time duration. This is just the first step; next i would like to combine voice with that, but it is probably another problem, for later. Hence, I have a sequence of images y-%2d.png The following works for me: ffmpeg -framerate 1/10 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 And the following works, too: ffmpeg -r 1/2 -start_number 7 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 However, how to control the time of displaying individual images? Is that possible at all? I thought that something like this may work: ffmpeg -r 1/5 -i y-01.png -r 1 -i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 It does not. The first image is displayed, only. Kind regards from Poland, zb. -- Zbigniew Kozioł http://nanophysics.pl mobile: 500 685 477 stationary at home: 17 229 8940

On Wed, Nov 19, 2014 at 05:37:36PM +0100, Zbigniew Koziol wrote:
Hello,
For some here the answer will probably be know right away. That is why I am writing, after long googling.
I would like to create a sort of video presentation from images. However, I would like that every slide (image) is displayed for a different time duration. This is just the first step; next i would like to combine voice with that, but it is probably another problem, for later.
Hence, I have a sequence of images y-%2d.png
The following works for me:
ffmpeg -framerate 1/10 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
And the following works, too:
ffmpeg -r 1/2 -start_number 7 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
However, how to control the time of displaying individual images? Is that possible at all?
I thought that something like this may work:
ffmpeg -r 1/5 -i y-01.png -r 1 -i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
It does not. The first image is displayed, only.
Kind regards from Poland,
Would this help (never used it)? Package: photofilmstrip Priority: optional Section: video Installed-Size: 1053 Maintainer: Christian Marillat <marillat@deb-multimedia.org> Architecture: all Source: photofilmstrip-dmo Version: 1:2.1.0-dmo1 Depends: mencoder, python-wxgtk3.0, python-imaging, python (>= 2.7), python (<< 2.8) Filename: pool/main/p/photofilmstrip-dmo/photofilmstrip_2.1.0-dmo1_all.deb Size: 213974 MD5sum: b427904ff4813078dd91fc60b459f0a6 SHA1: a4bf7caea86ac7c6fc34493b5eb75abb89a939c2 SHA256: 7b5187db2541040f43f419cd48fe59940b6d80a70b1559750e76bd1030353ce3 SHA512: 8cc44b6a85a12b5586cf00fde9c90de5186b1c57b3bf925988d30a122de1a58a4b7c5284078970371f79dcf956cee7a2ad2bae7cf85c0726420aaa403684ba21 Description: Slideshow creator with Ken Burns effect This creates movies out of your pictures in just three steps. First select your photos, customize the motion path and render the video. There are several output possibilities for VCD, SVCD, DVD up to FULL-HD. . The effect of the slideshow is known as "Ken Burns". Comments of the pictures are generated into a subtitle file. Furthermore an audio file can be specified to setup the background music for the slide show. Description-md5: 076b3664ea936d420a04dc9b354700e2 Bugs: mailto:marillat@deb-multimedia.org Homepage: http://www.photofilmstrip.org/ -- Len Sorensen

On 11/19/2014 11:37 AM, Zbigniew Koziol wrote:
Hello,
For some here the answer will probably be know right away. That is why I am writing, after long googling.
I would like to create a sort of video presentation from images. However, I would like that every slide (image) is displayed for a different time duration. This is just the first step; next i would like to combine voice with that, but it is probably another problem, for later.
Hence, I have a sequence of images y-%2d.png
The following works for me:
ffmpeg -framerate 1/10 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
And the following works, too:
ffmpeg -r 1/2 -start_number 7 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
However, how to control the time of displaying individual images? Is that possible at all?
I thought that something like this may work:
ffmpeg -r 1/5 -i y-01.png -r 1 -i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
It does not. The first image is displayed, only.
Kind regards from Poland, zb.
I have used PhotoFilmStrip and also Imagination. One of them does the individual time duration, can't remember which. John.

Thanks, Lennart and John for suggestions. I suspect that it was the right idea that ffmpeg can not do this. I would prefer rather to have a command from terminal where everything is there, not an external program (though I did them already installed and will try one day). However, just after posting to this list (that is an advantage of writing here; that stimulates own thinking) an idea, a simple one, come: Well... instead of changing the time of displaying an individual image, I could instead create a number of copies of every image, according to the need (the time of display), enumerate them accordingly, and.. thats it! In other world, instead of controlling the time of display, I would rather adjust the number of copies of identical images. For a presentation with a few tens of images this is a prefectly convenient solution around the problem. zb. On 11/19/2014 07:25 PM, John Moniz wrote:
On 11/19/2014 11:37 AM, Zbigniew Koziol wrote:
Hello,
For some here the answer will probably be know right away. That is why I am writing, after long googling.
I would like to create a sort of video presentation from images. However, I would like that every slide (image) is displayed for a different time duration. This is just the first step; next i would like to combine voice with that, but it is probably another problem, for later.
Hence, I have a sequence of images y-%2d.png
The following works for me:
ffmpeg -framerate 1/10 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
And the following works, too:
ffmpeg -r 1/2 -start_number 7 -i y-%2d.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
However, how to control the time of displaying individual images? Is that possible at all?
I thought that something like this may work:
ffmpeg -r 1/5 -i y-01.png -r 1 -i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4
It does not. The first image is displayed, only.
Kind regards from Poland, zb.
I have used PhotoFilmStrip and also Imagination. One of them does the individual time duration, can't remember which.
John.
--- GTALUG Talk Mailing List - talk@gtalug.org http://gtalug.org/mailman/listinfo/talk
-- Zbigniew Kozioł http://nanophysics.pl mobile: 500 685 477 stationary at home: 17 229 8940

On Wed, Nov 19, 2014 at 07:50:25PM +0100, Zbigniew Koziol wrote:
Thanks, Lennart and John for suggestions.
I suspect that it was the right idea that ffmpeg can not do this. I would prefer rather to have a command from terminal where everything is there, not an external program (though I did them already installed and will try one day).
However, just after posting to this list (that is an advantage of writing here; that stimulates own thinking) an idea, a simple one, come:
Well... instead of changing the time of displaying an individual image, I could instead create a number of copies of every image, according to the need (the time of display), enumerate them accordingly, and.. thats it! In other world, instead of controlling the time of display, I would rather adjust the number of copies of identical images. For a presentation with a few tens of images this is a prefectly convenient solution around the problem.
At least photofilmstrip says it can be driven from the command line for batch processing. -- Len Sorensen

<snip>
I thought that something like this may work: ffmpeg -r 1/5 -i y-01.png -r 1 -i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 It does not. The first image is displayed, only. Kind regards from Poland, zb.
zb, You could create a short, temporary intermediate video for each frame: ffmpeg -r 1/5 -i y-01.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 ffmpeg -r 1/10-i y-02.png -c:v mpeg4 -vf "fps=2,format=yuv420p" out.mp4 5seconds for the first and 10seconds for the second ( and so on and so forth... ) Then concatenate each video: FFmpeg FAQ: How can I join video files? <http://ffmpeg.org/faq.html#How-can-I-join-video-files_003f> FFmpeg Wiki: How to concatenate (join, merge) media files <https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join%2C%20merge%29%20media%20files> This will allow you to do what you need to from the command line but this is a very awkward and cumbersome way. Probably be much easier to use a video editor.
participants (4)
-
Aruna Hewapathirane
-
John Moniz
-
Lennart Sorensen
-
Zbigniew Koziol