Einfache Videobearbeitung mit Avidemux

  omega16   Lesezeit: 9 Minuten  🗪 5 Kommentare Auf Mastodon ansehen

Zusammenführen einzelner Videodateien und Zuschneiden auf die relevanten Ausschnitte.

einfache videobearbeitung mit avidemux

Es gibt hier und anderswo bereits einige gute Artikel zu verschiedenen Video-Editoren, ich möchte nachfolgend kurz meinen Workflow mit Avidemux vorstellen.

Seit einigen Jahren filme ich mit einer GoPro Hero 5 im Sportverein ab und zu Wettkämpfe zur späteren Analyse. Avidemux kommt hauptsächlich für die folgenden Schritte zum Einsatz:

  • Zusammenführen der einzelnen Videodateien
  • Trimmen auf die relevanten Aufnahmen
  • Ausschneiden von einzelnen Szenen

Für diese Schritte bietet mir Avidemux eine relativ simple, grafische Applikation, die ich mittels Tastenkombinationen und etwas Übung sehr effizient bedienen kann. Andere Features nutze ich nicht und betreibe keine weitere/tiefergehende Videobearbeitung, auch habe ich keine Erfahrungen mit anderen Applikationen. Ich kann somit nicht sagen, wie Avidemux im Quervergleich abschneidet, es bietet aber sicher eher einen reduzierten Funktionsumfang.

Installation

Auf Avidemux bin ich noch zu meinen Windows-Portable-Apps-Zeiten gestossen, glücklicherweise wird auch Linux unterstützt. Unter Debian12 nutze ich die Version 2.8.1 als AppImage, die Download Seite erwähnt auch Fremdrepositories für Debian & Ubuntu.

Bedienung

Mit File > Open kann eine Videodatei geöffnet werden, in meinem Fall typischerweise die (chronologisch) erste GoPro-Datei. Nun kann das Video angesehen werden, die Steuerungselemente dazu sind wie bei vielen Video-Applikationen in einer Navigation bar am unteren Rand zu finden. Links vom Video findet sich eine Audio/Video sidebar, die einzige relevante Einstellung für mich ist hier das Output Format, wo ich immer MP4 Muxer auswähle (MP4 in, MP4 out). Etwas mehr an Dokumentation findet sich hier.

Die folgende Auswahl der unterstützten Tastenkombinationen erlaubt mir einen effizienten Workflow:

  • Ctrl+O: Datei öffnen
  • Ctrl+A: Datei anhängen
  • Up: Zum nächsten Intra Frame springen
  • Down: Zum vorherigen Intra Frame springen
  • Ctrl+Up: Eine Minute vorwärts springen
  • Ctrl+Down: Eine Minute rückwärts springen
  • Ctrl+PageUp: Marker A setzen
  • Ctrl+PageDown: Marker B setzen
  • PageUp: Zu Marker A springen
  • PageDown: Zu Marker B springen
  • Delete: Auswahl zwischen den Markern A & B löschen

Für die schnelle Bearbeitung nutze ich nur die sogenannten Intra-Frames als Schnittpunkte (auch Keyframes genannt), so kann aufwendiges Rendern vermieden werden. Je nach Kodierung der ursprünglichen Videodatei(en) liegen diese allerdings mehrere Sekunden auseinander, es kann also nicht besonders feingranular zugeschnitten werden.

In der abgebildeten Navigation bar sind einige Infos und Steuerungselemente zu sehen. Im Fortschrittsbalken unter dem Video stellt der rote Strich einen Schnitt- oder Zusammenführ-Punkt dar. Der graue Slider ist beim aktuellen Frame und kann mit der Maus verschoben oder mit den Steuerungselementen kontrolliert werden. Das blaue Rechteck zeigt die Auswahl zwischen den Markern A und B, die z.B. mit delete gelöscht werden kann. Diese Auswahl ist rechts noch mit den genauen Zeitstempeln detaillierter aufgeführt. Am unteren Rand sind zudem die gesamte Videolänge und Details zum momentanen Frame (Zeitstempel und Frame-Typ) dargestellt. Die Steuerungselemente zur Navigation können grösstenteils auch mit den erwähnten Tastenkombinationen bedient werden.

Weitere Features

In der Doku und den Menüoptionen am oberen Rand finden sich weitere Features, beispielsweise das Speichern des aktuellen Frames als BMP/PNG/JPG, was Screenshots ersparen kann. Weiter gibt es wohl Codec-/Processing-/Filter-Optionen, die ich aber nie ausprobiert habe. Für repetitive Arbeiten könnten Scripting oder die Benutzung per Kommandozeile interessant sein. Je nach Workflow könnte es sich dann aber auch lohnen, dies direkt mit ffmpeg zu realisieren (z.B. bei bereits bekannten oder immer gleichen Schnittpunkten).

Gesamter Workflow

Bei mir sieht der gesamte Ablauf aufgrund der riesigen GoPro-Dateigrössen nämlich so aus:

  1. Videodateien von SD-Karte auf Festplatte kopieren (cp)
  2. Videodateien manuell zusammenführen und zuschneiden (avidemux)
  3. Resultierende Videodatei verkleinern (ffmpeg)

Für Schritt 3 nutze ich folgenden Aufruf von ffmpeg in der Kommandozeile:

ffmpeg -i Dateipfad-Input -map_metadata 0 -crf 23 -preset fast Dateipfad-Output

Die Parameter -crf und -preset führen zu einem Kompromiss zwischen Laufzeit, resultierender Video-Qualität & Dateigrösse. Zudem werden die Metadaten übernommen (wäre vermutlich das Default-Verhalten ohne die Option -map_metadata). Auf meiner Hardware mit nicht wissenschaftlichem Experimentieren hat der Parameter -crf ("Constant Rate Factor") mehr Einfluss als der -preset. Der CRF ist abhängig vom Video-Codec (für H.264 der GoPro ist 23 der Default im Bereich von 0 bis 51, mehr Informationen hier), grössere Werte bedeuten grössere Komprimierung und somit kleinere Dateigrösse und weniger gute Video-Qualität. Für meine Zwecke liefert der Wert 23 kaum sichtbare Qualitätsverluste und die Dateigrösse reduziert sich ungefähr um Faktor 5–10.

Anscheinend wäre es auch möglich, den Schritt 2 direkt mit ffmpeg zu machen (Stichworte/Parameter: -ss und -f concat), was ich mal ausprobieren werde, allerdings bin ich nicht sicher, ob das für meinen Anwendungsfall Vorteile bringt.

Irgendwo muss ich die Schnittpunkte sowieso ansehen/finden und setzen, das kann gut direkt grafisch in avidemux passieren. Ich bin jedenfalls zufrieden mit der simplen Anwendung, bin allerdings gespannt, ob jemand Erfahrungen für ähnliche Anwendungsfälle mit anderen Applikationen hat.

Quellen:
## Quellen

Bilder (selber angefertigte Screenshots und Video):
* Main Window
* Navigation Bar

Links (zuletzt abgerufen am 2025-02-09):
https://wiki.ubuntuusers.de/Videobearbeitung/
https://gnulinux.ch/tag/video-editor
https://gnulinux.ch/open-source-video-editoren-unter-linux
https://avidemux.sourceforge.net/
https://avidemux.sourceforge.net/download.html
https://www.avidemux.org/admWiki/doku.php?id=build:doctop
https://de.wikipedia.org/wiki/Intra-Frame
https://ffmpeg.org/
https://trac.ffmpeg.org/wiki/Encode/H.264

Tags

Video-Editor, Avidemux, GoPro

avi
Geschrieben von avi am 11. Februar 2025 um 20:45

Vielen Dank für die Vorstellung des Programms. Ich nutze AVIDEMUX ebenfalls wie du; grob zurechtschneiden und abspeichern mit AVIDEMUX. Anschließend habe ich die Komprimierung mit Handbrake vorgenommen. Dein netter Einzeiler gefällt mir besser. Da muss ich mal schauen, wie ich die Konfiguration aus Handbrake herausgefummelt bekomme und dann auf der Kommandozeile von ffmpeg abarbeiten lassen kann.

Arno
Geschrieben von Arno am 12. Februar 2025 um 09:24

Ganz blöde Frage: Wenn du die Videos anschließend zwecks Größenreduktion ohnehin neu enkodierst, wieso schneidest du sie dann nicht vorher frame-genau (anstatt an den Keyframes/Intra-Frames) und erledigst das Rendern direkt aus dem Videoschnittprogramm? (egal, in welchem) Das würde dir einen Arbeitsschritt sparen und präzisere Schnittpunkte ermöglichen, wenn ich mich nicht irre.

omega16
Geschrieben von omega16 am 12. Februar 2025 um 14:04

Sehr gute Frage. Kurze Antwort: hab ich mir tatsächlich noch gar nie überlegt. Das würde sich tatsächlich anbieten, danke für den Input.

Lange Antwort / Ausrede: historisch gewachsen. Ursprünglich hab ich nur geschnitten, nicht neu enkodiert. Für meinen Anwendungsfall brauchte ich es nicht frame-genau, da lag die Priorität klar auf dem schnellen Ablauf. Zeitsprung ein paar Jahre vorwärts, mit jeder neuen Aufnahme ist der Datenberg auf eine stattliche Grösse gewachsen, weshalb ich mir innerhalb des letzten Jahres dann doch das Enkodieren mit ffmpeg nochmals angeschaut habe. Mittlerweile hab ich auch mehr Rechenpower als in den Anfängen, weshalb ich nun beide Schritte mache.

Vermutlich werde ich mit dem beschriebenen Ablauf mit separaten Arbeitsschritten weitermachen, da es für mich dennoch Vorteile bietet: Das grobe Zuschneiden kann ich sehr schnell auf dem Heimweg erledigen und mir gleich erste Szenen mit den finalen Zeitstempeln anschauen & merken. Das Enkodieren kann ich dann zuhause mal noch nebenbei laufen lassen.

Klaus
Geschrieben von Klaus am 12. Februar 2025 um 15:34

Hallo Arno, könntest du ausführen, wie man das macht? Würde mir helfen.

Arno
Geschrieben von Arno am 13. Februar 2025 um 08:38

Ich kann nicht beschreiben, wie das genau in Avidemux abläuft, da ich es nicht nutze. In kdenlive ist es m.E. relativ simpel:

  1. Video-Dateien ins Projektinhalt-Fenster ziehen (drag and drop). Dabei wird gefragt, ob ein Projekt-Profil basierend auf deren Eigenschaften (Auflösung, FPS) erstellt werden soll, insofern keins vorhanden ist. Wird das bestätigt, wird ggf. ein passendes Profil erstellt und in dieses gewechselt.
  2. Das/Die Video(s) in die Zeitleiste am unteren Rand ziehen, an den gewünschten Stellen schneiden (Shift+R) und die nicht benötigten Teile entfernen (markieren und Entf/Del).
  3. Den Rendern-Dialog öffnen (Shift+Enter), die Ausgabedatei benennen und aus den Render-Profilen auf der linken Seite ein passendes auswählen. (Ich rendere i.d.R. mit dem MP4-H265-Profil aus der Rubrik Ultra-High-Definition - nicht von der Bezeichnung abschrecken lassen, das funktioniert unabhängig von der Bildauflösung des Videomaterials.) Unten "Weitere Einstellungen" anhaken, dadurch wird rechts ein Konfigurationsbereich eingeblendet, in welchem sich der CRF-Wert ("Custom Quality") und die Render-Geschwindigkeit ("Encoder" -> "Speed") einstellen lassen. Am unteren Rand des Konfigurationsbereiches werden die gewählten Parameter in Textform angezeigt. In meinem Fall wären das z.B.:
    properties=x265-medium f=mp4 vcodec=libx265 crf=20 acodec=aac ab=160k channels=2 x265-param=crf=%quality real_time=-1 preset=faster [...]
  4. "Datei rendern"