MKV-Container: Umwandeln von DTS in AC3 – ubuntu/linux

Von | 2. März 2013

medien.jpg Auch unter ubuntu lassen sich Filme, hier MKV-Container, ganz einfach umwandeln. Für Windows habe ich euch ja schon einmal das Tool PopCorn MKV AudioConverter vorgestellt. Zu dieser Zeit lief der „Wohnzimmer-PC“ noch unter Windows Vista… Jedoch haben ich diesen mittlerweile auch erfolgreich zu Kunbuntu migriert. Nun stellt sich jedoch die gleiche Aufgabe unter Kubuntu:

Ich habe eine MKV-Datei mit einem DTS-Audio-Stream. Der Fernseher kann jedoch kein DTS, ergo kein Ton.

FFMPEG das Schweizer Taschenmesser unter den Transcoder

Mit ffmpeg lässt sich natürlich auch dieses Problem ganz einfach lösen. Jedoch ist eine direkte Umwandlung nicht zu empfehlen. Hierbei würde ja auch die Video-Spur angefasst werden. Das würde ziemlich viel Zeit rauben und die Qualität würde auch darunter leiden. Also lässt man die Video-Spur in Ruhe und codiert nur die Audio-Spur um.

Was so einfach klingt, ist jedoch in Wirklichkeit etwas aufwendiger.

  1. Timecodes extrahieren
  2. DTS-Spur extrahieren
  3. DTS in AC3 umwandeln
  4. AC3-Spur mit Hilfe der Timecodes wieder in den Stream muxen

Die Timecodes (also Zeitstempel) sind extrem wichtig, damit der Ton lippensynchron bleibt !

Wie es trotzdem ganz einfach geht, möchte ich euch heute zeigen:

mkvdts2ac3 – umwandeln Skript-gesteuert

mkvdts2ac3 - umwandeln Skript-gesteuert mit dem Tool mkvdts2ac3 geht die ganze Sache mit nur einem Befehl. Die einzelnen Schritte übernimmt das Skipt für Euch. Das geht doch so viel einfacher, nicht wahr?
Zu erst müssen Wir sicherstellen, dass alle benötigten Tools installiert sind:

sudo apt-get install mkvtoolnix ffmpeg rsync 

Jetzt kannn einfach das shell-Skipt runterladen und mit chmod ausführbar gemacht werden.

chmod +x mkvdts2ac3.sh 

Nun kann das Skript, mit der umzuwandelnden Datei, aufgerufen werden:

./mkvdts2ac3.sh filename_video.mkv 

Das Skript wird jetzt versuchen den DTS-Stream in AC3 zu konvertieren und eine AC3-Datei zu schreiben. Anschließend wird diese Datei in den Stream eingefügt (gemuxt).
Ihr lehnt Euch jetzt zurück und trinkt in Ruhe eurer Kaffee. Je nach Film und Rechner dauert die Aktion schon mal ein paar Minuten…Wenn alles geklappt hat, haben wir jetzt eine zusätzliche AC3-Ton-Spur und der Fernseher ist glücklich damit.

kleine Warnung: brecht niemals das Skipt ab während es beim muxen ist ! Sonnst droht der Verlust eures Videos !

 

9 Gedanken zu „MKV-Container: Umwandeln von DTS in AC3 – ubuntu/linux

  1. Robert

    Jahre später :P

    Kann man auch irgendwie einstellen das man das Script global ausführt so das ich es nicht immer in das Verzeichnis schieben muss in dem auch der Film liegt? =)

  2. Seegers

    Ganz gut soweit, aber was bringt das, wenn man keine deutsche Spur umgewandelt bekommt, sondern nur die englische?? Meine Videos haben alle 2 Spuren und es wird immer nur die englische Spur konvertiert.

    1. A.

      Mit „mkvmerge -i “ die IDs anzeigen, dann mit „mkvdts2ac3.sh -t “ die gewünschte ID umwandeln.

  3. psyposa

    Ich habe aktuell das Problem, dass beim Prozess ‚Copying new file over the old one‘ der Fehler ‚Permission denied‘ auftaucht.
    Allerdings erst seitdem ich von Mate 15.10 zu 16.04 (beide x64) gewechselt bin.
    Somit muss ich die neue Datei händisch aus /tmp in das Ursprungsverzeichnis verschieben und umbenennen, da die neue Datei immer noch *.new am Dateinamen hängen hat.

  4. Dirk

    @psyposa sieht mir ganz nach einem Rechteproblem aus ;)

  5. soulless

    Da ich heute auf diesen Post gestossen bin um eine Datei zu konvertieren für ein DVB-T-Device welches auch von USB abspielt aber immer noch kein DTS kann habe ich mich über das Script gefreut und es ausprobiert.
    Bei mir war die Spur (audio DTS ES) weshalb das Script erst nichts fand.
    In Zeile 404 und 408 jeweils die schliessende Klammer hinter DTS entfernen hilft und funktioniert super.
    Falls noch jemand hier landet und dasselbe Problem hat.

    Im entsprechenden Bugreport weisen sie darauf hin das es wohl keinen Fix mehr geben wird weil ja heute alles DTS kann:
    https://github.com/JakeWharton/mkvdts2ac3/issues/107
    und das Script so wie dieser Blogpost ja auch gute 6 Jahre alt sind …. Kommentare hier sehen aber so aus als ob das Problem noch andere haben werden.

Kommentare sind geschlossen.