Untertitel zu MKV und MP4 hinzufügen, ohne neu zu kodieren
Untertitel zu MKV und MP4 hinzufügen ohne Neukodierung: MKVToolNix und FFmpeg, mehrere Sprachen in einer Datei, Standard- und Forced-Flags, fehlende Spuren.
Um Untertitel zu einer MKV hinzuzufügen, ohne neu zu kodieren, muxt du sie als eigene Spur in die Datei: MKVToolNix erledigt das über eine grafische Oberfläche, FFmpeg mit einem einzigen Befehl, und beide kopieren das Video unangetastet in ungefähr der Zeit, die das Kopieren der Datei dauert. Auch MP4 kann Untertitelspuren tragen, aber nur als reinen Text.
Hier findest du beide Werkzeuge Schritt für Schritt, mehrere Sprachen in einer Datei mit sauberen Sprach-Tags, die Wirkung von Standard- und Forced-Flag auf den Zuschauer und die üblichen Gründe, warum eine gemuxte Spur nie auftaucht.
Warum Untertitel in MKV keine Neukodierung brauchen
Eine Videodatei ist ein Container mit getrennten Streams, und Untertitel fügen nur einen weiteren Stream hinzu. Bild und Ton wurden einmal komprimiert, als das Video entstand. Muxing — kurz für Multiplexing — verschachtelt einen zusätzlichen Stream in den Container, ohne etwas von dem zu dekodieren, was schon darin steckt. Die Ausgabe ist also dasselbe Video, Bit für Bit, mit einer Untertitelspur daneben.
Untertitel einzubrennen ist das Gegenteil. Der Text muss in jedes Bild gezeichnet werden, also wird jedes Bild dekodiert, übermalt und erneut komprimiert. Das kostet Zeit und ein wenig Qualität und ist trotzdem die richtige Wahl, wenn eine Plattform Untertitelspuren ignoriert; die Anleitung zum Einbrennen behandelt diesen Weg. Hast du dich noch nicht entschieden, welche der beiden Varianten du brauchst, ist Hardsub vs. Softsub die Kurzfassung dieser Entscheidung.
Matroska (.mkv) wurde für den Softsub-Weg entworfen. Es nimmt beliebig viele Video-, Audio- und Untertitelspuren auf, dazu Dateianhänge wie Schriftarten, und jede Spur trägt ihre eigenen Metadaten:
- Sprache — ein Code wie
engoderspa, mit dem Player Spuren beschriften und automatisch eine auswählen. - Name — Freitext, der im Menü des Players erscheint, etwa „English“ oder „English (SDH)“.
- Standard-Flag (Default) — die Spur, die ein Player einschaltet, wenn der Zuschauer keine gewählt hat.
- Forced-Flag — eine Spur, die auch dann angezeigt wird, wenn der Zuschauer Untertitel ausgeschaltet hat, gedacht für fremdsprachige Dialogpassagen.
Diese vier richtig zu setzen ist der größte Teil der Arbeit. Das Muxen selbst ist der einfache Teil.
Lässt sich einer MP4-Datei eine Untertitelspur hinzufügen?
Ja, aber MP4 trägt Untertitel nur als mov_text, ein schlichtes zeitgesteuertes Textformat. FFmpeg wandelt eine SRT beim Einfügen dorthin um, und Schriftarten, Farben und Positionierung überleben das nicht. Damit ist der Container eine echte Entscheidung und keine Geschmacksfrage:
| MKV | MP4 | |
|---|---|---|
| Speicherbare Untertitelformate | SRT, ASS, PGS und weitere | nur mov_text |
| Styling (Schriftarten, Farben, Position) | Bleibt in ASS-Spuren erhalten | Geht verloren |
| An das Video angehängte Schriftdateien | Ja | Nein |
| Mehrere Sprachen in einer Datei | Ja | Ja, als reiner Text |
| Läuft in Apples integrierten Playern | Nicht zuverlässig | Ja |
| Läuft in VLC und mpv | Ja | Ja |
| Neukodierung nötig, um eine Spur hinzuzufügen | Nein | Nein |
Die Zeile, die meist den Ausschlag gibt, ist Apple. QuickTime öffnet MKV überhaupt nicht, und die eigenen Apps des iPhone kommen damit unzuverlässig zurecht, während beide mov_text-Spuren gut anzeigen. Eine Datei für Apple-Geräte sollte deshalb eine MP4 sein, auch wenn ihre Untertitel dann schlichter Text bleiben. VLC, mpv, Plex und Kodi spielen MKV mit unversehrtem Styling und angehängten Schriftarten ab. Browser sind der dritte Fall: Ihre Videoplayer ignorieren eingebettete Untertitelspuren in der Regel und erwarten eine separate WebVTT-Datei — deshalb behandelt der Formatvergleich VTT als das Web-Format.
Die drei Wege, Untertitelspuren hinzuzufügen
- MKVToolNix — kostenlos, mit grafischer Oberfläche, für Windows, macOS und Linux. Das beste Werkzeug, wenn die Untertiteldateien schon existieren.
- FFmpeg — kostenlos, ein Befehl, und als einziges der drei Werkzeuge in der Lage, MP4 zu schreiben. Das beste Werkzeug für Skripte und Stapelverarbeitung.
- Sablate — für den Fall, dass die Untertitel noch nicht existieren: transkribieren, in Ebenen übersetzen und eine MKV mit einer Spur pro Sprache exportieren.
Subtitle Edit kann ebenfalls muxen, und zwar über das Menü „Video“ → „Add/remove embedded subtitles“; dafür nutzt es im Hintergrund FFmpeg.
Methode 1: Untertitel mit MKVToolNix zu MKV hinzufügen
MKVToolNix ist das Referenzwerkzeug für Matroska-Dateien, und seine grafische Oberfläche macht aus der ganzen Aufgabe vier Schritte:
- Installiere es von mkvtoolnix.download. Version 102.0 ist am 14. September 2026 erschienen; der macOS-Build braucht macOS 13 Ventura oder neuer.
- Öffne MKVToolNix GUI, bleib auf dem Reiter „Multiplexer“ und ziehe das Video und jede Untertiteldatei in den Bereich „Source files“. Jede Untertiteldatei erscheint als eigene Spur.
- Klicke nacheinander jede Untertitelspur an und fülle die Felder „Language“ und „Track name“ aus. Setze das Flag „Default track“ bei der einen Spur, die zuerst laufen soll, und entferne es bei den anderen. Lass „Forced display“ ausgeschaltet, es sei denn, die Spur deckt nur fremdsprachige Passagen ab.
- Lege unten den Namen der Zieldatei fest und klicke auf „Start multiplexing“.
Nichts wird kodiert, deshalb ist selbst ein zweistündiger Film in ungefähr der Zeit fertig, die das Kopieren der Datei dauert. Derselbe Vorgang auf der Kommandozeile, so würdest du ihn auch stapelweise ausführen:
mkvmerge -o film.subtitled.mkv film.mp4 \
--language 0:eng --track-name 0:English --default-track-flag 0:yes en.srt \
--language 0:spa --track-name 0:Spanish --default-track-flag 0:no es.srt
Optionen gelten für die Datei, die ihnen folgt, und 0 ist die Spur-ID innerhalb jeder SRT, die immer nur eine Spur enthält. Kommen Akzente und Umlaute verstümmelt an, ist die SRT nicht UTF-8: Setze --sub-charset 0:windows-1252 (oder die tatsächliche Kodierung der Datei) vor diese Datei oder speichere sie zuerst als UTF-8 neu.
Um die Flags später zu ändern, ohne neu zu muxen, bearbeitet mkvpropedit die vorhandene Datei direkt:
mkvpropedit film.subtitled.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
track:s1 ist die erste Untertitelspur. Weil der Befehl den Header der Datei ändert, statt eine neue Datei zu schreiben, ist er selbst bei einem großen Film fast sofort fertig.
Methode 2: Untertitelspuren mit FFmpeg hinzufügen (MKV und MP4)
FFmpeg erledigt dasselbe Muxen mit einem Befehl und ist das Werkzeug der Wahl, wenn die Ausgabe eine MP4 sein muss. Für eine MKV mit englischer und spanischer Spur:
ffmpeg -i film.mp4 -i en.srt -i es.srt \
-map 0:v -map 0:a -map 1 -map 2 -c copy \
-metadata:s:s:0 language=eng -metadata:s:s:0 title=English \
-metadata:s:s:1 language=spa -metadata:s:s:1 title=Spanish \
-disposition:s:0 default -disposition:s:1 0 \
film.subtitled.mkv
Lies es von links nach rechts: drei Eingaben; -map übernimmt Video und Audio aus dem Film, danach nacheinander jede Untertiteldatei; -c copy kopiert jeden Stream, statt ihn zu kodieren; -metadata:s:s:0 versieht den ersten Untertitel-Stream der Ausgabe mit Metadaten; und die beiden -disposition-Optionen markieren Englisch als Standard und entfernen das Flag bei Spanisch.
Die explizite -map-Liste ist wichtig. Ein pauschales -map 0 würde auch jede Untertitelspur übernehmen, die die Quelle schon hat, und die mov_text-Spur einer MP4 lässt sich nicht in eine MKV kopieren, sodass der Befehl mit einem Fehler abbricht, bevor er irgendetwas schreibt.
Für MP4 wandelst du die Untertitel in mov_text um und kopierst alles andere:
ffmpeg -i film.mp4 -i en.srt -i es.srt \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -c:a copy -c:s mov_text \
-metadata:s:s:0 language=eng -metadata:s:s:1 language=spa \
film.subtitled.mp4
Video und Audio bleiben unangetastet; nur der Untertiteltext wird ins Format von MP4 umgeschrieben. Ist deine Eingabe eine gestylte .ass-Datei, geht an dieser Stelle das Styling verloren.
Gestylte ASS-Untertitel gehören in eine MKV, mit angehängter Schriftart, damit der Player sie in der von dir gewählten Schrift zeichnet statt in irgendeiner Ersatzschrift:
ffmpeg -i film.mp4 -i en.ass \
-map 0:v -map 0:a -map 1 -c copy \
-attach Montserrat-ExtraBold.ttf -metadata:s:t:0 mimetype=application/x-truetype-font \
-metadata:s:s:0 language=eng \
film.subtitled.mkv
Die Dokumentation von FFmpeg ist eindeutig: Matroska-Anhänge brauchen dieses mimetype-Tag. mpv und VLC laden angehängte Schriftarten, wenn sie ASS rendern, sodass das Styling mit der Datei mitreist. Welche Schrift du anhängst, ist eine eigene Frage — der Leitfaden zu Untertitel-Schriftarten behandelt, was gut lesbar ist und welche beliebten Display-Schriften welche Schriftsysteme nicht darstellen können.
Methode 3: Untertitel und MKV in einem Durchgang erstellen
MKVToolNix und FFmpeg setzen voraus, dass die Untertiteldateien schon existieren. Oft tun sie das nicht: Du hast eine Aufnahme, brauchst Englisch plus drei Übersetzungen, und das Muxen sind die letzten Sekunden eines viel längeren Auftrags. Genau dafür ist Sablate gebaut, und der ganze Weg bleibt in einer App:
- Transkribiere das Video mit Whisper auf deinem eigenen Rechner.
- Korrigiere das Transkript im Editor.
- Füge jede Sprache als Übersetzungsebene auf denselben Timings hinzu.
- Exportiere Video with switchable subtitles (.mkv).
Was in der Datei landet, ist das, was Methode 2 von Hand baut. Video und Audio werden als Stream-Copy übernommen, der Export dauert also ungefähr so lange wie das Kopieren der Datei. Jede Sprachebene wird zu einer eigenen ASS-Spur in deinem Untertitelstil, wobei die Schriftart gegen eine getauscht wird, die das Schriftsystem dieser Sprache darstellen kann. Jede Spur bekommt ein Sprach-Tag und einen lesbaren Namen, die erste Spur wird als Standard markiert, und verwendet der Stil eine der mitgelieferten Display-Schriften von Sablate, wird diese Schriftdatei angehängt, damit das Styling auch auf einem anderen Rechner erhalten bleibt.
Drei Grenzen, klar benannt. Der MKV-Export gehört zu Pro, einer einmaligen Zahlung von $29, aufgeführt auf der Preisseite. Sablate schreibt keine MP4-Untertitelspuren, weil mov_text das Styling wegwerfen würde — exportiere die .srt-Dateien und führe den FFmpeg-MP4-Befehl von oben aus, wenn du eine MP4 brauchst. Und der Export ersetzt alle Untertitelspuren, die die Quelldatei schon hatte, statt sie zu behalten; sind sie dir wichtig, füge sie mit MKVToolNix wieder hinzu.
Den Teil mit Transkription und Übersetzung geht der Workflow für mehrere Sprachen Schritt für Schritt durch.
Welche Methode solltest du nutzen?
Wähle danach, was du schon hast — Untertiteldateien oder nur das Video — und wo die Datei laufen muss:
| MKVToolNix | FFmpeg | Sablate | |
|---|---|---|---|
| Preis | Kostenlos | Kostenlos | $29 einmalig (Pro) |
| Plattformen | Windows, Mac, Linux | Windows, Mac, Linux | Windows und Mac |
| Oberfläche | GUI und Kommandozeile | Kommandozeile | GUI |
| Muxt vorhandene Untertiteldateien | Ja | Ja | Teilweise, per Import in einen Auftrag |
| Erzeugt die Untertitel aus Sprache | Nein | Nein | Ja |
| Schreibt MP4 mit Untertitelspuren | Nein | Ja | Nein |
| Sprach-Tags und Standard-Flag | Ja | Ja | Ja, automatisch gesetzt |
| Forced-Flag | Ja | Ja | Nein |
| Hängt Schriftarten an | Ja | Ja | Ja, mitgelieferte Display-Schriften |
| Ändert Flags ohne erneutes Muxen | Ja, mit mkvpropedit | Nein | Nein |
„Ich habe die Untertiteldateien schon.“ MKVToolNix. Es ist kostenlos, zeigt jede Spur und jedes Flag an, bevor es etwas schreibt, und der Vorgang dauert zwei Minuten.
„Ich habe eine Staffel Episoden zu verarbeiten.“ mkvmerge oder FFmpeg in einer Schleife. Beide Befehle oben laufen unbeaufsichtigt, sobald die Dateinamen einem Muster folgen.
„Es muss auf einem iPhone oder in QuickTime laufen.“ MP4 über FFmpeg, und nimm Untertitel als reinen Text in Kauf.
„Meine Untertitel sind gestyltes ASS.“ MKV mit angehängter Schriftart. MP4 entfernt das Styling beim Einfügen.
„Ich habe nur das Video.“ Sablate, wenn du Transkription, Übersetzung und die MKV mit mehreren Spuren an einem Ort willst. Subtitle Edit ist der kostenlose Weg, wenn es dir nichts ausmacht, die Schritte selbst zusammenzusetzen.
„Es geht zu YouTube.“ Keiner der beiden Container. Plattformen wie YouTube nehmen die .srt oder .vtt als separaten Upload entgegen.
Warum werden meine MKV-Untertitel nicht angezeigt?
Die Spur ist fast immer da; irgendetwas entscheidet sich, sie nicht anzuzeigen. Lass dir zuerst auflisten, was die Datei tatsächlich enthält:
ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language,title:stream_disposition=default,forced -of compact=p=0 film.subtitled.mkv
Jede Untertitelspur gibt eine Zeile mit Codec, Sprache, Name sowie Standard- und Forced-Flag aus. Werden die Spuren aufgelistet, arbeite diese Liste von oben nach unten ab:
- Keine Spur trägt das Standard-Flag. Der Player hat nichts, was er von selbst einschalten könnte. Setze das Flag mit
mkvpropedit, wie in Methode 1. - Die Einstellung des Players hat Vorrang. VLC, Plex und viele Fernseher haben eine bevorzugte Untertitelsprache oder eine Aus-Einstellung, die die Flags in der Datei überschreibt. Prüfe zuerst den Player, dann die Datei.
- Eine vollständige Spur trägt das Forced-Flag. Zuschauer, die Untertitel ausgeschaltet haben, bekommen trotzdem jede Untertitelzeile zu sehen. Forced gehört nur auf Teilspuren.
- Die MP4-Spur wird ignoriert. Viele Player überspringen
mov_textstillschweigend. Muss die Datei keine MP4 sein, muxe sie neu in eine MKV. - Akzente und Umlaute kommen als Zeichensalat an. Die Quell-SRT wurde in einer veralteten Kodierung gespeichert. Speichere sie neu als UTF-8 und muxe erneut, oder gib die Kodierung mit
--sub-charsetbeimkvmergebeziehungsweise mit-sub_charencvor der Untertitel-Eingabe in FFmpeg an. - Gestylter Text erscheint in einer schlichten Schrift. Die ASS-Spur nennt eine Schriftart, die dem Wiedergabegerät fehlt. Hänge die Schriftdatei an, wie im letzten FFmpeg-Befehl.
Muxen ist der günstige Teil der Untertitel-Auslieferung: eine Minute in MKVToolNix, eine Zeile in FFmpeg, nichts wird neu kodiert. Der teure Teil ist, überhaupt gute Untertiteldateien in jeder Sprache zu haben. Hast du sie schon, reichen dir die kostenlosen Werkzeuge oben. Hast du nur die Aufnahme, lade Sablate für Windows oder Mac herunter, transkribiere und übersetze sie und lass den Export Spuren, Sprach-Tags und Flags für dich schreiben.