Avidemux

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Programm starten

  3. Ein Terminal öffnen

  4. Codecs

Inhaltsverzeichnis
  1. Installation
    1. Fremdquellen
    2. AppImage
    3. Kompilieren und ohne Installation ausfüh...
      1. Quelltext aus der Git-Repository herun...
      2. Abhängigkeiten installieren
      3. Kompilieren
      4. Ausführen ohne Installation
  2. Benutzung
    1. Definierten Bereich kopieren/umwandeln
    2. Werbung ausschneiden
    3. Synchronisation von Bild und Ton
    4. Aspect Ratio / Seitenverhältnis
    5. Presets/Vorlagen definieren
      1. avidemux 2.6
    6. Konvertieren einer Vob-Sub-Untertitelspu...
  3. Beispiele
    1. DVB-T Aufnahmen schnell umwandeln
    2. Encodieren
    3. Zweite Tonspur bei avi-Dateien hinzufüge...
    4. Videofilter
    5. DVD-Video konforme Einstellungen
  4. Problembehebung
    1. Inkompatible Einstellungen
    2. Trouble initializing audio device
    3. Video ist zu groß, Ansicht springt
    4. Artefakte nach Schnitt
    5. Videos anhängen
    6. Bildsequenz exportieren
  5. Links

avidemux_icon.png Avidemux 🇬🇧 ist ein Programm zur Bearbeitung von Videodateien, ähnlich VirtualDub 🇬🇧 unter Windows. Hauptsächlich ist das Programm zum Schneiden von Videos gedacht; bedingt kann man es aber auch zum Konvertieren in andere Formate benutzen. Über zahlreiche Filter lassen sich umfangreiche Manipulationen vornehmen. Der Funktionsumfang von Avidemux umfasst folgende Punkte:

Neu ab Version 2.5.3 ist der Menüpunkt "Auto", mit welchem u.a. passende Dateien für Super Video CD, Video CD und DVD erzeugt werden können.

Installation

Fremdquellen

Das Paket kann für Ubuntu 16.04 und neuer über ein PPA installiert werden:

Adresszeile zum Hinzufügen des PPAs:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams ubuntuhandbook1 zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Paketliste zum Kopieren:

sudo apt-get install avidemux2.7 

Oder mit apturl die Pakete installieren. Link: apt://avidemux2.7

AppImage

Von Avidemux.org 🇬🇧 kann die aktuellste Version ("nightly build") für 64-Bit-Systeme als AppImage heruntergeladen werden. Erläuterung zu AppImage-Dateien (optional mit der Endung *.app) siehe AppImage 🇬🇧 und AppImage.

Hinweis!

Fremdsoftware kann das System gefährden.

Nachdem die AppImage-Datei ausführbar gemacht worden ist, kann das Programm direkt gestartet werden.

Unter Lubuntu 18.04 muss zuvor unter Umständen noch das Paket

Paketliste zum Kopieren:

sudo apt-get install libglu1-mesa 

Oder mit apturl die Pakete installieren. Link: apt://libglu1-mesa

nachinstalliert werden.

Hinweis:

Es sollte erwähnt werden, dass AppImages von Avidemux ohne Unterstützung für VA-API erstellt werden, die Dekodierung von H.264 und HEVC in Hardware auf Rechnern mit entsprechenden Intel-GPUs erlaubt. Abhängig vom Einsatzzweck fahren die Benutzer von solchen Systemen mit einem selbstkompilierten Avidemux besser.

Kompilieren und ohne Installation ausführen

Um eine vollwertige Version von Avidemux mit neuesten Korrekturen und Funktionen unabhängig von der Verfügbarkeit von AppImages oder Drittanbieter-Paketen zu erhalten, empfiehlt es sich, Avidemux selbst aus dem Quelltext zu kompilieren. Ein so erstellter Avidemux-Build ist für einen Benutzer ohne Installation lauffähig.

Die nachfolgenden Schritte setzen Git als installiert voraus.

Quelltext aus der Git-Repository herunterladen

Um den Quelltext von Avidemux aus der Git-Repository sowie die Übersetzungen herunterzuladen, führt man einmalig

git clone https://github.com/mean00/avidemux2.git
cd avidemux2
git submodule update --init --recursive 

aus. Dies erstellt im aktuellen Ordner (standardmäßig im Homeverzeichnis) einen Unterordner avidemux2 mit dem Quelltext von Avidemux und den Übersetzungen. Spätere Änderungen können nach dem Wechsel in diesen Unterordner mit

git pull --recurse 

bezogen werden.

Abhängigkeiten installieren

Hinweis!

Fremdsoftware kann das System gefährden.

Dazu im Ordner mit dem Avidemux-Quelltext den Befehl

bash createDebFromSourceUbuntu.bash --deps-only 

ausführen.

Hinweis:

Wenn der Rechner über eine NVIDIA-Grafikkarte ab der Kepler-Generation verfügt, die einen Hardware-Encoder für H.264 und möglicherweise sogar für HEVC enthält, ist die Installation von nv-codec-headers zu empfehlen, damit die entsprechenden Video Encoder Plugins in Avidemux mitgebaut werden.

Kompilieren

Nach der erfolgreichen Installation von Abhängigkeiten kann die Kompilierung von Avidemux mittels

bash bootStrap.bash 

gestartet werden. Bei Erfolg befindet sich die Ordnerhierarchie mit der Anwendung im Unterordner install von avidemux2.

Ausführen ohne Installation

Um das auf diese Weise kompilierte Avidemux ohne Installation auszuführen, eine Kopie des Skripts run_avidemux_template.sh aus dem Ordner avidemux2 erstellen, bei Bedarf editieren (dies ist nötig, wenn sich der Ordner avidemux2 nicht direkt im Homeverzeichnis befindet), nach Wunsch umbenennen, zum Beispiel in avidemux, ausführbar machen und in einen Ordner kopieren, der in der Umgebungsvariablen PATH verzeichnet ist. Anschließend (ggf. nach Aus- und Einloggen) kann Avidemux aus einem Terminal heraus mit dem Namen des umbenannten Skripts gestartet werden.

Benutzung

Hinweis:

Um alle gewünschten Formate bearbeiten zu können, müssen natürlich auch die entsprechenden Codecs installiert sein [3]. Dateien im Microsoft-Format WMV lassen sich mit Avidemux ab Version 2.3.0 bearbeiten. Siehe auch: Avidemux-Wiki: Mythen & Märchen 🇬🇧

Bei der Installation wird bei Ubuntu-Varianten mit einem Anwendungsmenü ein Programmstarter unter "Unterhaltungsmedien -> Avidemux" bzw. "Multimedia -> Avidemux" angelegt [2]. Die Verwendung von Avidemux2 ist relativ einfach und intuitiv. Deshalb nur einige wichtige Tipps:

Definierten Bereich kopieren/umwandeln

Ausgewählte Bereiche werden mit Alt Gr + 8 (Startframe) und Alt Gr + 9 (Endframe) gesetzt.

Werbung ausschneiden

Will man eine Auswahl entfernen, betätigt man Entf . Dabei wird die gesamte Auswahl inklusive Startframe A herausgeschnitten. Nur das letzte Frame - Endframe B - bleibt erhalten.

Synchronisation von Bild und Ton

Falls Bild/Ton asynchron sind, vor dem Umwandeln "Audio -> Haupt-Audiospur" anwählen und den Shiftwert (z.B. ...s/579s) merken. Diesen in "Audio -> Filter" unter "Verschiebung" wie folgt eintragen: "-579". Ton und Bild sind nun wieder synchron. Falls der Shiftwert auf 0 steht, aber Ton und Bild trotzdem versetzt sind, muss man mit "Verschiebung", sogenanntem Timeshift, experimentieren. Als Startwert eignet sich "-579". Dieser Wert kann während des Abspielens verändert werden, bis das Ergebnis zufriedenstellend ist. Ein negativer Wert eignet sich dafür, wenn der Ton später als das passende Bild kommt. Entsprechend sollte man einen positiven Wert einstellen, falls der Ton zu früh abgespielt wird.

In Ubuntu 14.04 gibt es ein reproduzierbares Problem mit der Synchronisation von Bild und Ton: Ist der Startframe A nicht am Anfang, wird zwar das Video geschnitten, der Ton beginnt jedoch immer am Anfang bei Bild 0, auch wenn der Startframe A z.B. bei Bild 12415 liegt. Siehe auch das Thema im Forum und den Fehlerbericht 🇬🇧.

Aspect Ratio / Seitenverhältnis

Avidemux ist in manchen Versionen sehr eigen mit dem Seitenverhältnis. Damit man bei AVI-Dateien das originale Seitenverhältnis einstellen kann, wie z.B. 4:3 oder 16:9, muss man sich eines kleinen Tricks behelfen:

Presets/Vorlagen definieren

Wenn man immer wieder die gleichen Einstellungen benützt, um aufgenommene Filme umzuwandeln, kann man diese als sogenannte Presets oder auch Vorlagen definieren, speichern und auf Bedarf abrufen. Dazu geht man zum Beispiel wie folgt vor:

Diese Einstellungen sollen jetzt gespeichert werden. Dazu wählt man aus dem Menü "Datei" den Punkt "Projekt speichern als ..." und gibt einen entsprechenden Namen an z.B. "Xvid-16-9-1300-mp3-160.js". Der Inhalt der Datei sieht dann folgendermaßen aus:

//AD  <- Needed to identify//
//--automatically built--
//--Project: /home/user/Videos/Xvid-16-9-1300-mp3-160.js

var app = new Avidemux();

//** Video **
// 01 videos source 
app.load("/home/user/Videos/Mein aufgenommener Film.ts.idx");
//01 segments
app.clearSegments();
app.addSegment(0,0,90200);
app.markerA=0;
app.markerB=90199;
app.rebuildIndex();

//** Postproc **
app.video.setPostProc(3,3,0);

app.video.setFps1000(25000);

//** Filters **
app.video.addFilter("mpresize","w=720","h=400","algo=2");

//** Video Codec conf **
app.video.codec("XVID4","CQ=4","500 06 00 00 00 01 00 00 00 fa 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 96 00 00 00 64 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ");

//** Audio **
app.audio.reset();
app.audio.codec("lame",160,16,"00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 ");
app.audio.normalizeMode=0;
app.audio.normalizeValue=0;
app.audio.delay=0;
app.audio.mixer("NONE");
app.setContainer("AVI");
setSuccess(1);
//app.Exit();

//End of script

Die Datei nun öffnen und editieren, denn es sind noch überflüssige Informationen, wie z.B. der Dateiname u.a., enthalten. Es sollen aber nur die Codec- und Filtereinstellungen erhalten bleiben. Nachdem man alle Datei-bezogenen Informationen gelöscht hat, sieht die Datei folgendermaßen aus:

//AD  <- Needed to identify//
//--automatically built--
//--Project: /home/user/Videos/Xvid-16-9-1300-mp3-160.js

var app = new Avidemux();

//** Postproc **
app.video.setPostProc(3,3,0);

app.video.setFps1000(25000);

//** Filters **
app.video.addFilter("mpresize","w=720","h=400","algo=2");

//** Video Codec conf **
app.video.codec("XVID4","CQ=4","500 06 00 00 00 01 00 00 00 fa 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 96 00 00 00 64 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ");

//** Audio **
app.audio.reset();
app.audio.codec("lame",160,16,"00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 ");
app.audio.normalizeMode=0;
app.audio.normalizeValue=0;
app.audio.delay=0;
app.audio.mixer("NONE");
app.setContainer("AVI");
setSuccess(1);
//app.Exit();

//End of script

Die Änderungen und die Datei in das Verzeichnis /home/username/.avidemux/custom abspeichern. Beim nächsten Start von Avidemux lädt man einen Film und kann dann über das Menü "Individuell" das Skript auswählen und setzt damit alle benötigten Einstellungen (Codecs und Filter) auf einmal.

avidemux 2.6

In der Version 2.6 konnte so ein Projekt zunächst auf drei verschiedene Arten gespeichert werden:

  • SpiderMonkey-Projekt mit der Endung js

  • Tinypy-Projekt mit der Endung py

  • QtScript-Projekt mit der Endung admjs

Ab Version 2.6.14 wird ausschließlich Tinypy unterstützt. Wie oben beschrieben können diese Projekte zu einer allgemein gültigen Vorlage umeditiert und in ~./avidemux6/custom/ bereitgestellt werden.

Konvertieren einer Vob-Sub-Untertitelspur in das Textformat SRT

Direkt nach dem Umwandeln einer DVD in Dateien ("rippen") liegt eine Untertitelspur üblicherweise im Vob-Sub-Format vor (zwei Dateien, eine *.sub und eine *.idx). Dort sind alle Untertitel als Bilder gespeichert. Der Vorteil, diese zuerst in ein Textformat umzuwandeln, ist erstens, dass die Untertitelspur schöner, mit besserer Kantenglättung und in beliebiger Schrift angezeigt wird, und zweitens, dass eine solche Textdatei oftmals auf etwa ein Vierzigstel der Größe schrumpft.

Für die Umwandlung muss die Software mit OCR den Text in den Bildern dekodieren und in eine Text-Datei schreiben. Avidemux ist hierfür geeignet. Hierfür erstellt man dynamisch eine Zuordnungsdatei zwischen gelesenen Zeichen und ASCII Code. Diese "Glyph-Zeichensatz-Dateien" kann man anschließend speichern und wiederverwenden.

Hinweis:

Es wäre empfehlenswert, Avidemux-Glyph-Zeichensatz-Dateien hier hochzuladen und auszutauschen.

Wichtig ist, dass die herausgemuxte Vob-Sub-Informationen über die Spur enthält. Die notwendigen sind hier aufgelistet: DVDs manuell rippen (Abschnitt „optional-Untertitel-rippen“)

Man startet Avidemux und wechselt in folgenden Dialog: "Werkzeuge -> OCR (VobSub -> SRT)"

Nun wählt man die IDX-Datei aus, wählt eine Ausgabedatei, und falls vorhanden, eine Glyph-Zeichensatz-Datei. Hat man keine Glyph-Zeichensatz-Datei, wird die Software nun nach der korrekten Zuordnung von gescannten Zeichen zu ACSII-Code fragen. Manchmal müssen auch Buchstabenkombinationen, die sehr eng zusammenstehen wie z.B. rn oder ttf als solche eingegeben werden. Je mehr man das Programm somit trainiert, desto schneller wird es.

avidemux_ocr_srt

Nach der Überarbeitung ist die SRT-Datei fertig, und man wird aufgefordert, seine Glyph-Zeichensatz-Datei für spätere Verwendung zu speichern. Die SRT-Datei lässt sich nun ohne Schwierigkeiten in einem Schritt, z.B. mit "Gnome Subtitle", in ein progressiveres Format wie ASS 🇬🇧 umwandeln.

Beispiele

DVB-T Aufnahmen schnell umwandeln

Encodieren

Zweite Tonspur bei avi-Dateien hinzufügen

Hinweis:

Die zweite Audiospur kann niemals eine MP3 mit variabler Bitrate sein. Zum Konvertieren der VBR-MP3 in ein MP3 mit konstanter Bitrate (CBR) kann man beispielsweise LAME verwenden.

Videofilter

Es gibt u.a. Filter zum Beschneiden, zum Ändern der Größe, Schwärzen der Ränder, Vergrößern mit Schwarzrand, Entfernen von Senderlogos, zum Drehen und Spiegeln, zum Rückwärtslaufenlassen sowie zum Ein- und Ausblenden.

DVD-Video konforme Einstellungen

libavcodec MPEG-2 Konfiguration (Beispiel)

Problembehebung

Inkompatible Einstellungen

Nicht alle Kodiereinstellungen sind möglich. Nachstehende sollte zumindest funktionieren:

Trouble initializing audio device

Wenn unter "Bearbeiten -> Einstellungen -> Reiter: Audio -> Audio-Ausgabe:" "ALSA" ausgewählt ist, in "ALSA device:" anstelle des Standardwertes "plughw:0,0" den Wert "default" eintragen.

Video ist zu groß, Ansicht springt

Wenn das eingeladene Video größer als die Anzeigefläche des Programms ist, wird ein Bearbeiten dadurch erschwert, dass die Bildansicht "springt" und die Menüleiste nicht mehr erreichbar ist. In diesem Falle kann man mit Alt + S dennoch das Menü "Ansicht" erreichen und den Zoomwert entsprechend ändern. Danach sollten keine Probleme mehr auftreten.

Artefakte nach Schnitt

Nach dem framegenauen Schneiden einiger "High Qualitiy Codecs" (z.B. H.264) kann es zu Artefakten, also Bildstörungen kommen, da Avidemux bis Version 2.5.4 keinen neuen "Keyframe" erstellt. Der Keyframe ist ein vollständiges Bild, die nachfolgenden Frames enthalten nur noch Veränderungensinformationen. Schneidet man einen Keyframe weg, beziehen sich die Änderungsinformationen der nachfolgenden Frames auf den falschen Keyframe, und es kommt zu Artefakten. Abhilfe schafft die Installation der Version 2.5.6 oder neuer, die jedoch nur aus Fremdquellen erhältlich ist.

Videos anhängen

In der Version für Xenial aus dem PPA funktioniert ein Anhängen weiterer Videodateien, allerdings wird das nicht ersichtlich.

Bildsequenz exportieren

Version 2.6 unterstützte das Exportieren eines Videos als Bilderserie nicht. Ab Version 2.7.1 ist diese Funktionalität für die aktuelle Auswahl wieder verfügbar, begrenzt auf maximal 9999 Bilder. Alternativ geht das mit FFmpeg

ffmpeg -i input.avi -q:v 1 in%d.jpg
ffmpeg -i input.avi in%d.tif