ffmpeg: kombiniere -tpad mit -ss und -t

ffmpeg: kombiniere -tpad mit -ss und -t

Mithilfe von ffmpeg mit -ss, -t und -tpad versuche ich, eine Reihe von Clips auf eine feste Länge von insgesamt 6 Sekunden zu kürzen: 2 Sekunden Handle am Anfang + 2 Sekunden interessantes + 2 Sekunden Nachlauf am Ende. Leider haben einige meiner Eingabeclips keine 2 Sekunden Nachlauf am Ende oder Anfang, also versuche ich, sie mit tpad aufzufüllen (sodass die Ausgabe immer 6 Sekunden beträgt). Das funktioniert irgendwie, aber jetzt habe ich meine zwei interessanten Sekunden immer am Anfang – nicht in der Mitte, wie ich es möchte. Wie kann ich das beheben?

Bonusfrage: Derzeit wird mit Schwarz aufgefüllt. Wie könnte die Farboption stattdessen das erste/letzte Videobild als Standbild verwenden?

Der Code, den ich verwende (wird von Python aufgerufen, sollte aber für die Filterkette keinen Unterschied machen):

filterchain = "[0:v]tpad=stop=-1,trim=end=6,scale='if(gt(a,1/1),-1,480)':'if(gt(a,1/1),480,-1)',setsar=1,crop=480:480"
subprocess.call(['ffmpeg', '-ss', str(inpoint-2), '-t', '6',
  '-i', input_clip, '-filter_complex', filterchain, '-r', '25',
  '-c:v', 'prores', '-profile:v', '1', '-c:a', 'pcm_s16le',
  '-ar', '48000', "-hide_banner", '-loglevel', 'error', output])

verwandte Informationen