[[Vorlage(Getestet, bionic, )]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./mkvtoolnix_logo.png, 48, align=left)]] [https://mkvtoolnix.download/ MKVToolNix] {en} stellt eine Reihe von Werkzeugen bereit, um Dateien im freien Containerformat [:Matroska:] zu erzeugen, zu ändern oder zu untersuchen. Der Matroska Multimedia Container ist ein offenes und freies Container-Format. Die Besonderheit ist, dass er eine unbegrenzte Anzahl von Audio-, Video- und/oder Untertitelspuren in einer einzigen Datei beherbergen kann. Es werden eine Vielzahl von Codecs unterstützt. Die Einzelprogramme sind unter der Lizenz [wikipedia:GNU_General_Public_License#GPL_Version_3:GNU GPL v3] veröffentlicht. Die Kernbibliotheken stehen unter der [wikipedia:GNU_Lesser_General_Public_License:GNU LGPL], der Parser unter der [wikipedia:BSD-Lizenz:]. Beide stammen aus dem Projekt Matroska. Weitere Programme desselben Projekts sind [https://matroska.org/downloads/mkvalidator.html MKvalidator] {en} und [https://www.matroska.org/downloads/mkclean.html MKclean] {en} Eine Alternative zur Erstellung von MKV-Containern kann [:Avidemux:] ab Version 2.6 sein, obwohl Avidemux keine Fehlermeldungen ausgibt und MKVToolNix mehr Einstellungen anbietet. {{{#!vorlage Hinweis Die hier genannten Werkzeuge arbeiten grundsätzlich verlustfrei, denn Matroska ist kein [:Codecs:Codec], sondern ein Containerformat. }}} = Installation = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] Die Installation aus den offiziellen Paketquellen erfolgt über die folgenden Pakete [1]: {{{#!vorlage Paketinstallation mkvtoolnix, universe, Kommandozeilenwerkzeuge mkvtoolnix-gui, universe, grafische Oberfläche }}} == Fremdquelle == Aktuelle Programmversionen kann man aus der Paketquelle der Entwickler beziehen. Um aus der [:Fremdquelle:] zu installieren, muss man die folgenden [:Paketquellen freischalten:]: [[Vorlage(Fremd, Quelle, "")]] {{{deb https://mkvtoolnix.download/ubuntu/ UBUNTU_VERSION main}}} Beispiel für [:Focal:Ubuntu 20.04 Focal Fossa]: {{{deb https://mkvtoolnix.download/ubuntu/ focal main}}} [[Vorlage(Fremdquelle-auth, https://mkvtoolnix.download/gpg-pub-moritzbunkus.gpg)]] Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben. = Bedienung = Die einzelnen Programme liegen als Kommandozeilenwerkzeuge vor, was den Vorteil bietet, diese automatisiert in Shell-Skripten einsetzen zu können. Die Erstellung dagegen kann alternativ auch über eine grafische Oberfläche (GUI) durchgeführt werden. Bei Ubuntu-Varianten mit einem Anwendungsmenü gibt es nach der Installation zwei Einträge [2], und zwar: * ''"Multimedia -> MKV Dateien erstellen (mkvmerge GUI)"'' und * ''"Multimedia -> Informationen über MKV-Dateien anzeigen (mkvinfo)"'' Möchte man die Kommandozeile nutzen, stehen vier unterschiedliche Befehle im Terminal [3] zur Verfügung. Ein Fünfter dient zum Start der grafischen Oberfläche ''"mkvmerge GUI"''. {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel"> Welches Werkzeug macht was? +++ Anwendung Beschreibung +++ [#mkvmerge mkvmerge] Dateien in einem Container zusammenfassen +++ [#mkvextract mkvextract] Video-, Audio-, Untertitel-Dateien usw. aus dem Container herauslösen (verlustfrei!) +++ [#mkvpropedit mkvpropedit] Eigenschaften editieren +++ [#mkvinfo mkvinfo] Informationen zum Container auslesen +++ [#mkvmerge-GUI mmg] ruft die grafische Oberfläche zu `mkvmerge` aus der Kommandozeile auf }}} Etwas verwirrend ist, dass [#mkvinfo mkvinfo] in zwei Fassungen vorhanden ist: mit und ohne grafische Oberfläche. Erstere steht automatisch zur Verfügung, wenn das Paket '''mkvtoolnix-gui''' installiert wird. == mkvmerge GUI == Dieses grafische Programm macht die Erstellung einfach. Prinzipiell muss man nur zwei Spuren (in Form einer Video- und einer Audiodatei) als Quelldateien und eine Ausgabedatei angeben. Das Erstellen einer Matroska-Datei erfolgt über die Schaltfläche ''"Muxen starten"''. Eine andere Variante ist die Umwandlung einer bestehenden Container-Datei in das Matroska-Format. Wer tiefer in die Materie einsteigen will, dem stehen etliche Optionen zur Verfügung, um das Endergebnis an die gewünschten Eigenschaften anzupassen. {{{#!vorlage Tabelle [[Bild(./mkvmergegui_sources.png, x200)]] [[Bild(./mkvmergegui_attachments.png, x200)]] [[Bild(./mkvmergegui_global.png, x200)]] [[Bild(./mkvmergegui_chaptereditor.png, x200)]] +++ <:>Quellen <:>Dateianhänge <:>Globale Optionen <:>Kapiteleditor }}} Weitere Informationen sind in der Dokumentation zu [https://mkvtoolnix.download/doc/mkvtoolnix-gui.html mkvmerge GUI] {en} enthalten. == Kommandozeilenwerkzeuge = Die Verwendung auf der Kommandozeile wird unter Umständen leichter, wenn man `-h` oder `--help` an den jeweiligen Befehl anhängt, um eine englische Erklärung zu erhalten. === mkvmerge === Das Gegenstück zu ''"mkvmerge GUI"''. Die grundsätzliche Syntax lautet: {{{#!vorlage Befehl mkvmerge OPTIONEN DATEI }}} Drei praktische Beispiele: * Eine Videodatei mit Musik unterlegen: {{{#!vorlage Befehl mkvmerge -o VIDEO_MIT_TON.mkv -A VIDEO_OHNE_TON.mkv TONSPUR.mp3 }}} * Eine bestehende AVI-Video-Sammlung in das Matroska-Format umwandeln: {{{#!vorlage Befehl for i in *.avi; do mkvmerge -o `basename $i .avi`.mkv --language 1:eng $i ; done }}} Funktioniert u.a. auch mit MP4, MPEG, FLV und OGM, aber nicht mit WMV. * Um eine bestehende AVI-Datei mit Kapiteleinträgen zu versehen und zu konvertieren, braucht man zuerst eine Datei '''chapters.txt'''. Beispielinhalt: {{{ CHAPTER01=00:00:00.000 CHAPTER01NAME=Chapter 01 CHAPTER02=00:05:00.000 CHAPTER02NAME=Chapter 02 CHAPTER03=00:10:00.000 CHAPTER03NAME=Chapter 03 CHAPTER04=00:15:00.000 CHAPTER04NAME=Chapter 04 CHAPTER05=00:20:00.000 CHAPTER05NAME=Chapter 05 }}} Dann kann man mit folgendem Befehl die Ursprungsdatei umwandeln: {{{#!vorlage Befehl mkvmerge VIDEO.avi --default-language de --compression -1:none --chapters chapters.txt -o VIDEO.mkv }}} Quelle: [https://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Adding Chapters to Videos Using MKV Containers] {en} Weitere Informationen sind in der [:man:Manpage] und in der Dokumentation zu [https://mkvtoolnix.download/doc/mkvmerge.html mkvmerge] {en} enthalten. === mkvextract === Wie der Name schon sagt, kann man mit diesem Werkzeug eine oder mehrere der im Container enthaltenen Dateien herauslösen. Die grundsätzliche Syntax lautet: {{{#!vorlage Befehl mkvextract OPTIONEN DATEI }}} Als Beispiel ein Befehl, um sowohl die Video- als auch die Tonspur eines Matroska-Containers zu extrahieren. Voraussetzung sind Kenntnisse der internen Struktur des Containers, die sich mit [#mkvinfo mkvinfo] ermitteln lassen. {{{#!vorlage Befehl mkvextract tracks VIDEO.mkv 1:VIDEO.mpv 2:VIDEO.ac3 }}} Weitere Informationen sind in der [:man:Manpage] und in der Dokumentation zu [https://mkvtoolnix.download/doc/mkvextract.html mkvextract] {en} enthalten. === mkvpropedit === Das Matroska-Format bietet mit der Einbindung von [:Metadaten:] die Möglichkeit, eine Videosammlung katalogisierbar zu machen. Zum besseren Verständnis muss angemerkt werden, dass ein Matroska-Container – neben dem Titel und den Sprachen von Audiospuren und Untertiteln – keine weiteren Felder für Metadaten enthält. Stattdessen werden XML-Dateien verwendet, die in den Container eingebunden werden. Dadurch wird der Umgang mit Metadaten leider etwas erschwert (siehe [https://seegras.discordia.ch/Blog/matroshka-and-the-state-of-movie-metadata/ Matroska and the State of Movie Metadata] {en}, 09/2013). Zum Bearbeiten dient mkvpropedit. Die grundsätzliche Syntax lautet: {{{#!vorlage Befehl mkvpropedit OPTIONEN DATEI }}} Beispiele: * Titel setzen: {{{#!vorlage Befehl mkvpropedit --edit info --set title="Titel des Videos" VIDEO.mkv }}} * Sprache der 1. Tonspur setzen (auch hier sind Kenntnisse der internen Struktur erforderlich): {{{#!vorlage Befehl mkvpropedit --edit track:a1 --set language=ger VIDEO.mkv }}} * Alle Metadaten entfernen: {{{#!vorlage Befehl mkvpropedit VIDEO.mkv --tags all: }}} Weitere Informationen sind in der [:man:Manpage] und in der Dokumentation zu [https://mkvtoolnix.download/doc/mkvpropedit.html mkvpropedit] {en} enthalten. Mit [#Links JMkvpropedit] (siehe unten) steht alternativ eine grafische Oberfläche zur Verfügung, die auf [:Java:] basiert und damit plattformübergreifend genutzt werden kann. === mkvinfo === [[Bild(./mkvinfo_gui.png, 200, align=right)]] Mkvinfo dient in erster Linie dazu, um Informationen über die Inhalte einer MKV-Containerdatei auszulesen und ist als eigenständige grafische Version über das Anwendungsmenü aufrufbar. Es kann bei etwas besserer Kenntnis der Materie auch zur Kontrolle der eigenen Arbeitsweise dienen. {{{#!vorlage Befehl mkvinfo -g DATEI }}} Möchte man stattdessen die Kommandozeilenversion nutzen, lautet die Befehl: {{{#!vorlage Befehl mkvinfo [OPTIONEN] DATEI }}} Weitere Informationen über die möglichen Optionen sind der [:man:Manpage] und der Dokumentation zu [https://mkvtoolnix.download/doc/mkvinfo.html mkvinfo] {en} zu entnehmen. {{{#!vorlage Hinweis Der Befehl: {{{#!vorlage Befehl mkvmerge -i DATEI.mkv \}}} liefert Kurzinformationen über einen Matroska-Container. }}} = Problembehebung = == Hilfe-Funktion == Die integrierte Hilfe der grafischen Benutzeroberfläche über [[Vorlage(Tasten, F1)]] enthält eine sehr ausführliche Hilfe-Datei. Diese liegt z.Zt. nur in englisch, spanisch und chinesisch vor. Wem das Darstellungsfenster zu klein vorkommt, kann die Hilfe auch direkt aufrufen. Dazu im Browser die Datei '''/usr/share/doc/mkvtoolnix-gui/guide/en/mkvmerge-gui.html''' aufrufen und für die spätere Verwendung ein Lesezeichen anlegen. = Links = [[Bild(./matroska_logo.png, 64, align=right)]] == Intern == * [:Matroska:] - Details zum Multimediaformat * [:Videodateien_umwandeln:] {Übersicht} - Übersichtsartikel == Extern == * [https://mkvtoolnix.download/ Projektseite] {en} * [https://mkvtoolnix.download/doc/ Dokumentation] {en} * [https://www.bunkus.org/blog/ Blog] {en} - Neuigkeiten * [https://gitlab.com/mbunkus/mkvtoolnix Quellcode] {en} * [https://www.matroska.org/downloads/test_w1.html Matroska Test Suite] {dl} - Beispieldateien * Beispielanleitungen: * [https://privatstrand.dirkschmidtke.de/2011/03/14/o-matroska-mkv-dateien-schneiden-und-demuxen/ O Matroska: mkv-Dateien schneiden, zusammensetzen und demuxen] {de} - Blogbeitrag, 11/2013 * [ubuntu_fr:mkvtoolnix: MKVToolnix] - franz. Ubuntu-Wiki * [ubuntu_fr:mkv_extractor_gui_v4_:MKV_Extraktor_Gui] - grafische Oberfläche für mkvextract (PPA verfügbar) * [github:BrunoReX/jmkvpropedit:JMkvpropedit] {en} - grafische Oberfläche ([https://forum.doom9.org/showthread.php?t=163753 Bilder] {en}) für mkvpropedit, benötigt [:Java:] #tag: Multimedia, MKV, Matroska, rip, Codec, Containerformat