Videos bearbeiten mit Linux

Video heraus-trennen

Einzelne Zeitspannen in eigene Video-Dateien mit ffmpeg heraus-trennen.

ffmpeg -ss 00:00:00 -i input.mp4 -t 00:15:27 -avoid_negative_ts make_zero -acodec copy -vcodec copy output.mp4

Eine csv Datei erstellen, mit einer Start- und Ende-Zeit je Stelle, die herausgeschnitten werden soll. Automatisiert mit awk ausführen lassen.

001,00:00:00,00:04:10
002,00:04:10,00:22:34
003,00:26:44,00:06:35
004,00:33:19,00:45:20
awk -F, '{printf "ffmpeg -ss %s -i a.mp4 -t %s -avoid_negative_ts make_zero -acodec copy -vcodec copy ./out/%s.mp4\n", $2, $3, $1}' videos.csv | xargs -0 bash -c

Videos zusammenfügen

Eine Datei erzeugen, zum Beispiel mit dem Namen ‚temp.txt‘

file '001.mp4'
file '002.mp4'
ffmpeg -f concat -i temp.txt -c copy new.mp4

Logo einfügen

Video mit Logo
Resultat mit Logo unten rechts
ffmpeg -r 30 -i input.mp4 -i Logo_hoch_100x103px.png -filter_complex "overlay=W-w-30:H-h-30" -codec:a copy output.mp4

Allen mp4 Dateien in einem Ordner ein Logo hinzufügen:

for i in `ls *.mp4`; do ffmpeg -r 30 -i $i -i Logo_hoch_100x103px.png -filter_complex "overlay=W-w-30:H-h-30" -codec:a copy ./out/$i; done

Zur Ermittlung der Framerate:

ffmpeg -i input.mp4

Weiter zu einem Blog-Post zur professionellen Video-Bearbeitung unter Linux mit einer grafischen Oberfläche