On Thu, Sep 30, 2021 at 11:58 AM Arif Driessen <arif...@gmail.com> wrote:
> Consider this script: > > --- > #!/bin/bash > > ffmpeg \ > -v error \ > -filter_complex \ > " > color=blue, > trim=0:3 > [blue]; > > color=red, > trim=0:5 > [red]; > > [blue][red] > xfade > " \ > -vcodec libx264 \ > -f matroska out.mkv && \ > ffprobe -v error \ > -select_streams v \ > -of csv=print_section=0 \ > -show_entries format=duration \ > out.mkv > > exit 0 > --- > > It will report the duration of the resultant mkv file is 5 seconds. > Intuition would tell me to expect it to be 10 seconds long. > > Change the duration of [blue] to 3 seconds, and the resultant duration is > still 5 seconds. Aha! So xfade blends the first input INTO the second. I > don't believe the documentation is clear on this: > > > Apply cross fade from one input video stream to another input video > stream. The cross fade is applied for specified duration > > Out of curiosity, what would happen if we keep the duration of [blue] to 3, > but set the xfade=offset to 2 seconds, since xfade=duration by default is > 1... Now the resultant mkv file is 7 seconds long!? Can you explain the > rationale? > > Even weirder, now let's set the duration of [blue] to 3 seconds and make > xfade=offset 3 seconds also... Now the resultant mkv file is 3 seconds > long!! Is this just undefined behaviour because we have attempted illegal > behaviour? (offset + duration >= input_duration) > > Should we update the documentation to be clearer on this? (I am happy to do > the work). It was the source of a frustating timing issue that took me all > day to resolve. (back when I was emailing here about concating and fading > sources). > > Btw, acrossfade, works intuitively, and thus (for me) without fault. This > concern/ambiguity is also expressed in Michael Koch's FFmpeg book. > It is the same workflow, xfade just use offset because it does not buffer all your 8k video frames in 512MB RAM of your 10 years old laptop, this was already mentioned to you several times, Offset specify when overlapping is starting. Can you think about overlapping in 1 dimensions? > > Thanks, > Arif Driessen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".