Antworten:
Eine Methode ist die Verwendung des overlay
Videofilters . Angenommen, Ihr Video ist 640 x 480, 30 Sekunden Dauer, 25 Bildrate:
ffmpeg -f lavfi -i nullsrc=s=640x480:d=35:r=25 -i video.mp4 -i audio.wav -filter_complex \
"[0:v][1:v]overlay[video]" -map "[video]" -map 2:a -codec:a copy -shortest output.mkv
Ich habe die Dauer des nullsrc
Quellfilters auf 5 Sekunden länger als eingestellt input.mkv
.
Das Standardverhalten der Überlagerung besteht darin, den letzten Frame der überlagerten Quelle zu wiederholen. Siehe die eof_action
Option für andere Verhaltensweisen.
Das Audio in diesem Beispiel wird im Stream kopiert (neu gemuxt), anstatt neu codiert zu werden.
Der Nachteil ist, dass dieses Beispiel eine Neucodierung erfordert, da ein Filter verwendet wird. Dies ist jedoch möglicherweise einfacher als andere Methoden, da es sich nur um einen Befehl handelt.
Ich glaube, die Antwort auf Ihre Frage lautet "Ja". Ich bin mit FFMPEG nicht besonders vertraut, aber der einfachste Weg, um Ihr Ziel zu erreichen, besteht darin, zuerst das letzte Bild in ein Bild zu extrahieren, ein Video von einigen Sekunden zu erstellen und dann eine Codierung auszuführen, die das Hauptvideo und Ihr Video verkettet neu erstelltes Video in einem Durchgang.