[FFmpeg-user] concat demuxer filter_complex (fade)

mail-login+ffmpeg at protonmail.com mail-login+ffmpeg at protonmail.com
Tue Apr 14 13:41:42 EEST 2020

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, April 13, 2020 9:02 PM, Mark Filipak <markfilipak.windows+ffmpeg at gmail.com> wrote:

> offlist
> Tips:
> Ask questions. Don't make statements.
> Make the questions short. If the issue is complex, ask many questions.
> On 04/13/2020 11:49 AM, atticus via ffmpeg-user wrote:
> > Since I'd like to add the feature to my script to be able to add transitions
> > between the elements and since when using the concat demuxer for making the
> > slideshow the different images
> > indistinguishable for the filter chain, I have to think of another way to
> > make a slideshow while still having the images distinguishable for the
> > filter chain
> > (I don't like it to preprocess the Images by making a Video of each Image
> > because of various reasons).
> > A fact that makes this even harder, is that I'd like to be still able to set
> > different durations for different images (like it is possible in the input
> > file for the concat demuxer (see https://trac.ffmpeg.org/wiki/Slideshow
> > https://trac.ffmpeg.org/wiki/Slideshow ).
> > Since I didn't found a solution that meets that kind of requirements, I'm
> > asking you if someone of you might have an Idea how to do this.

Hm problem with this is that it's difficult to split the complex question into multiple less complex questions.

But I thought about this yesterday and came up with something like this:

ffmpeg -i in.JPG -filter_complex "[0:0]loop=loop=-1:start=0:size=100 [looped] ; [looped] trim=start=0:end=10 [trimmed] ; [trimmed] fade=type=in:start_frame=0:duration=3:color=black [fadeIn]" -map [fadeIn] -c:v h264 -r 60 out.mkv

or this

ffmpeg -loop 1 -i in.JPG -filter_complex "[0:0] trim=start=0:end=200 [trimmed] ; [trimmed] fade=type=in:start_frame=0:duration=3:color=black [fadeIn]" -map [fadeIn] -c:v h264 out2.mkv

(I'd just have to add a concat filter to the filter chain and an audio stream). I'm just not quite sure if there is a more smart way to do this (which for example would be a bit faster, since this is (in my opinion a bit slow for just duplicating a single frame). Well is there a smarter and/or faster way?
And can you recommend which of these two commands above might be the better one?

With kind regards

More information about the ffmpeg-user mailing list