Benutzer-Werkzeuge

Webseiten-Werkzeuge


mkvtoolnix

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mkvtoolnix [2014-11-06 02:45:34] manfredmkvtoolnix [2024-07-01 12:06:48] (aktuell) – [Audio- und Videospuren syncronisieren] manfred
Zeile 1: Zeile 1:
 +====== MKVToolnix ======
 +
 +siehe auch: [[MP4]]
 +
 +Das Video-Container-Format mit dem Namen "Matroska" ist komplett frei, streaming fähig und das kompatiebelste überhaupt.
 +  * [[http://www.bunkus.org/videotools/mkvtoolnix/]]
 +
 +Set of command-line tools to work with Matroska files Matroska is a new multimedia container format, based on EBML (Extensible Binary Meta Language), which is a kind of binary XML. These tools allow to manipulate Matroska files.
 +  * **mkvmerge** is a tool to create Matroska files from other formats
 +  * **mkvinfo** allows to get information about the tracks in a Matroska file
 +  * **mkvextract** can extract tracks from Matroska files to other formats
 +
 +
 +===== MKV -> MP4 =====
 +
 +
 +==== MKV zerlegen ====
 +
 +  mkvmerge --identify video.mkv
 +  
 +  File 'video.mkv': container: Matroska
 +  Track ID 1: video (V_MPEG4/ISO/AVC)
 +  Track ID 2: audio (A_AC3)
 +
 +  mkvextract tracks video.mkv 1:video.h264 2:audio.aac 3:subtitles.srt
 +oder
 +  mkvextract tracks video.mkv 1:video.h264 2:audio.ac3
 +  
 +  Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'video.h264'. Container format: AVC/h.264 elementary stream
 +  Extracting track 2 with the CodecID 'A_AC3' to the file 'audio.ac3'. Container format: Dolby Digital (AC3)
 +  Progress: 100%
 +
 +[[MP4#MP4 zusammen bauen]]
 +
 +
 +===== Filmschnitt =====
 +
 +Damit die Schnittpunkte genau genug entstehen, ist es wichtig, dass der Film genügend KeyFrame besitzt bzw. das die KeyFrame eng genug beieinander liegen.
 +
 +  * [[http://privatstrand.dirkschmidtke.de/2011/03/14/o-matroska-mkv-dateien-schneiden-und-demuxen/]]
 +  * [[https://encodingwissen.de/praxis/handarbeit/muxing/mkvmerge/]]
 +
 +
 +==== Film zerschneiden ====
 +
 +  > mkvmerge film.mkv -o split.mkv --split timecodes:00:03:33.000,00:06:27.000
 +
 +  split-001.mkv vom Filmanfang bis Minute 3:33
 +  split-002.mkv von Minute 3:33 bis 6:27
 +  split-003.mkv von 6:27 bis Filmende
 +
 +
 +==== Filmteile zusammensetzen ====
 +
 +  > mkvmerge -o sauberer-film.mkv split-001.mkv +split-003.mkv
 +
 +
 +===== weitere mkvmerge-Beispiele =====
 +
 +mögliche Eingabeformate von //mkvmerge// lassen sich so anzeigen:
 +
 +  # mkvmerge -l
 +
 +So werden eine Videospur und eine Tonspur in einen Matroska-Container gemuxt:
 +
 +  # mkvmerge --title "Film Name" -o neuer_Film.mkv Film_ohne_Ton.avi Tonspur.ac3
 +
 +  # mkvmerge --default-language ger --aspect-ratio 1:16:9 -o neuer_Film.mkv Film_ohne_Ton.mkv Tonspur.mp3
 +
 +  # mkvmerge --default-language ger --display-dimensions 1:1024x576 -o neuer_Film.mkv Film_ohne_Ton.avi Tonspur.m4a
 +
 +So wird ein Film aus einem unerwünschten Container (hier MPEG) in einen Matroska-Container gemuxt:
 +
 +  # mkvmerge -o Film.mkv Film_mit_falschem_Container.mpg
 +
 +Mit mkvinfo funktioniert das natürlich nur bei MKV-Dateien!
 +
 +  # mkvinfo Film.mkv
 +
 +Audio- und Videospur aus einer MKV-Datei unverändert extrahieren
 +
 +  # mkvextract tracks Film.mkv 1:Film_stumm.mkv 2:Film_tonspur
 +
 +
 +Die grafische Oberfläche von //mkvmerge// heißt [[http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html|mmg]].
 +
 +
 +=== Audio- und Videospuren syncronisieren ===
 +
 +  # mplayer FILM_videospur.mkv -vo null -ao null -identify -frames 0 -nocache 2>/dev/null | fgrep ID_LENGTH
 +  ID_LENGTH=572.52
 +
 +  # mplayer FILM_audiospur -vo null -ao null -identify -frames 0 -nocache 2>/dev/null | fgrep ID_LENGTH
 +  ID_LENGTH=596.49
 +
 +  # mkvmerge --identify Film_out_of_sync.mkv
 +  File 'Film_out_of_sync.mkv': container: Matroska
 +  Track ID 1: video (V_MPEG4/ISO/AVC)
 +  Track ID 2: audio (A_AAC)
 +
 +//Track ID// der Audio-Spur ermitteln:
 +  # mkvmerge --identify Film_out_of_sync.mkv | awk '/Track ID/&&/audio/ {sub(":",""); print $3}'
 +  2
 +
 +  * Track ID der Audiospur: **2**
 +  * versetzter Start zwischen Audio- und Videospur: **0**
 +  * Länge der Videospur: **572.52**
 +  * Länge der Audiospur: **596.49**
 +
 +  # mkvmerge -y 2:0,572.52/596.49 -o Film_in_sync.mkv Film_out_of_sync.mkv
 +oder
 +  # mkvmerge -y 2:0,24/25 -o Film_in_sync.mkv Film_out_of_sync.mkv
 +oder
 +  # mkvmerge -y 2:0,0.96 -o Film_in_sync.mkv Film_out_of_sync.mkv
 +
 +Der Parameter "-y" ermöglicht ein Verschiebung zwischen Audio- und Videospur.
 +Ihm müssen 3 Werte übergeben werden:
 +  - Track ID (ich verwende hier immer die ID der Audiospur)
 +  - Verschiebepunkt (beide Spuren sind gleich lang aber zueinander versetzt)
 +  - Laufzeitdifferenz (beide Spuren sind unterschiedlich lang bzw. schnell)
 +
 +Wir werden die Laufzeit der Tonspur anpassen und geben deshalb die //Track ID// der Tonspur (in diesem Fall "2") an.
 +Hinter dem Doppelpunkt wird eine "0" angegeben, wenn die Audio- und die Videospur zur selben Zeit starten sollen,
 +gibt es hier nur eine Verschiebung zwischen den Spuren, dann genügt hier die entsprechende Zeitverschiebung,
 +mehr Parameter sind dann nicht nötig.
 +
 +In diesem Beispiel ist es aber etwas komplizierter, hier muss noch ein weiterer Parameter durch Komma getrennt angegeben werden.
 +Ich habe einen 1080p-Film mit 24 Bildern pro Sekunde in ein 576-Zeilen-Film (AVC-DVD-Profil / Level 3.0) transcodiert.
 +
 +Das hat zur Folge, dass jetzt 25 Bilder statt 24 Bilder pro Sekunde abgespielt werden (das ist normal so, siehe [[multimedia#film-lauflaengen-problematik|Film-Lauflängen-Problematik/PAL-Beschleunigung]]),
 +daraus ergibt sich eine um ca. 4% schnellere Videospur. Allerdings ist die Tonspur immer noch genauso lang wie vorher...
 +
 +Deshalb muss hier noch ein Wert für den Laufzeitunterschied angegeben werden, in diesem Fall ist das "24/25".
 +Man kann hier einen Bruch oder auch eine Fließkommazahl ("0.96") angeben.
 +Der Bruch kann auch aus den gemessenen Laufzeiten, der beiden separaten Spuren bestehen: "572.52/596.49".
 +
 +Wenn Bild und Ton zusammengesetzt werden soll, wobei die Tonspur im Film erst 21 Sekunden (21000 Millisekunden) später beginnen soll:
 +  > mkvmerge --identify Ton.mkv | awk '/Track ID/&&/audio/ {sub(":",""); print $3}'
 +  0
 +  > mkvmerge -o Film.mkv Bild.mkv -y 0:21000,1/1 Ton.mkv
 +
 +
 +===== WICHTIG: =====
 +  * [[http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html]]
 +  * [[http://www.sanitarium.net/golug/Linux_Multimedia.html]]
 +
 +Man vermeidet Probleme, wenn man die Tonspur, die für einen Film gedacht ist, nicht in einen //AAC-Container//,
 +sondern in einen //MP4-Container// verpackt!
 +
 +Zum Beispiel so:
 +  # faac -w --tns -q 160 -o Tonspur.m4a Tonspur.wav
 +