I want to delay a video in a filter chain by 5 seconds, and then combine it with the original video with hstack. I use the shortest=1 option, so that the output contains only the duration where both videos overlap:

ffmpeg -f lavfi -i testsrc=duration=10:size=vga:rate=25 -filter_complex split[a][b];[b]setpts=PTS+5/TB[c];[a][c]hstack=shortest=1 -y out1.mp4

This works as expected. The input length is 10s and the output length is 5s.

However, when I use the same command line with another input video, I don't get the expected result:

ffmpeg -i 308.mov -filter_complex split[a][b];[b]setpts=PTS+5/TB[c];[a][c]hstack=shortest=1 -y out2.mp4

Just found a solution myself. It works fine if the delay time is subtracted instead of added:

ffmpeg -i 308.mov -filter_complex split[a][b];[b]setpts=PTS-5/TB[c];[a][c]hstack=shortest=1 -y out2.mp4

Michael

_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to