Video mit Videozeit überlagern und/oder Bilder zu Video kombinieren

Video mit Videozeit überlagern und/oder Bilder zu Video kombinieren

Ich habe ein sehr langes Video, das ich mit der Videozeit überlagern möchte (tatsächlich eine Uhr, die von 0:00:00 bis zur Länge des Videos hochzählt).

Da ich keine Tools für diese Aufgabe finden kann, habe ich geschriebenein Java-Programmum Tausende transparente PNG-Bilder zu erstellen, eines pro Sekunde. OpenShot (mein bevorzugter Videoeditor) kann alle Bilder, die einem bestimmten Benennungsschema entsprechen, in einem Ordner nehmen und als Video importieren, während es steuert, wie viele Frames jedes Bild angezeigt wird. Das klingt perfekt, außer dass es beim Testen mit den ersten tausend Bildern beim 500. Frame einfror; d. h. es zählte bis 00:08:19 und sprang dann nie mehr auf 00:08:20.

Ich habe ein paar andere Möglichkeiten ausprobiert, um die Bilder zu einem Video zu kombinieren (z. B. avconv), aber ich bekomme sie nicht zum Laufen. Übrigens ist Ubuntu mein Hauptbetriebssystem, aber ich habe bei Bedarf Zugriff auf Windows und Mac.

Wie kann ich meine über 10.000 Bilder zu einem einzigen Video zusammenfügen? Oder noch besser: Gibt es eine direktere Möglichkeit, ein Video mit einem Timer zu überlagern, der von 0:00:00 bis zur Länge des Videos zählt?

Antwort1

ffmpegwerde dies tun:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=/path/to/font.ttf:fontcolor=white:fontsize=30:box=1:[email protected]:x=(W-tw)/2:y=H-th-20:timecode='00:00:00':rate=25,format=yuv420p" -crf 23 -c:a copy -map 0 output.mp4

Der obige Code enthält Sonderzeichen und sollte entsprechend den Anforderungen Ihrer Shell maskiert werden.

Ändern Sie den r=25Wert auf den Wert Ihrer Video-Framerate. [email protected]ist 50% undurchsichtig. Siehe dieDokumentefür weitere Einzelheiten und Optionen. Ändern Sie den CRF-Wert, um einen Kompromiss zwischen Qualität und Größe zu erzielen – niedriger bedeutet bessere Qualität.

verwandte Informationen