.MKV zu .MP4 mit 2 Soundtracks (Audio)

.MKV zu .MP4 mit 2 Soundtracks (Audio)

Ich habe diesen Thread gefunden: Handbrake-Einstellungen zum Konvertieren von MKV in MP4 unter Beibehaltung der Originalqualität

Und ich kann .MKV mit dem folgenden Code in .MP4 „konvertieren“:

for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na .mp4"
pause

Das einzige Problem ist, dass es 2 Audiospuren gibt. Die deutsche und die englische. Mit dem obigen Code wird nur die deutsche (1.) Sprache kopiert. Aber nicht die 2. Audiosprache. Wie kann ich das machen?

Im Moment konvertiere ich nur von .MKV nach .MP4 mit deutscher Sprache. Ich möchte aber die Sprache meines VLC-Players von Deutsch auf Englisch umstellen können.

Vielen Dank für Ihre Hilfe!

BEARBEITEN: Den Thread dazu habe ich hier gefunden: http://ffmpeg.gusari.org/viewtopic.php?f=25&t=611

Und ich habe mit diesen Informationen getestet. Ich habe meinen obigen Code in diesen Code geändert:

for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -map 0:0 -map 0:1 -map 0:2 -c:v copy -c:a:0 copy -c:a:1 copy "%%~na.mp4"
pause

Habe ich hier etwas falsch gemacht? Wie kann ich die deutschen/englischen Untertitel hinzufügen? Wäre das ein Problem, wenn ich dort eine Untertitelzuordnung hinzufügen würde und meine MKV-Datei überhaupt keine Untertitel hätte? Ich möchte nur eine BAT-Datei erstellen, die eine MKV-Datei mit 2 Soundtracks und 2 Untertiteln konvertiert. Damit kann ich alle meine MKV-Dateien in MP4 „remuxen“ (oder konvertieren, weiß nicht), ohne dass Informationen verloren gehen.

Im Moment hat meine MKV-Datei keine Untertitel, daher ist das nicht wichtig. Aber es ist besser, sich auf die Zukunft vorzubereiten, oder?

Sagen Sie mir also bitte, ob ich es richtig gemacht habe und vielleicht auch, wie ich die Untertitel hinzufügen kann. Ich habe FFmpeg zum ersten Mal verwendet. Habe es gerade heruntergeladen und noch nie davon gehört. Habe die CMD dafür nie wirklich verwendet.

Antwort1

ffmpeg bildet nicht automatisch alle Spuren ab; StandardStreamauswahlwird nur eine Audio-, eine Video- und eine Untertitelspur auf die Ausgabe abgebildet. Wenn SieKartealle Streams, verwenden Sie -map 0. Wenn Sie auswählen möchten,WasUm zu mappen, müssen Sie zuerst die Eingabedatei analysieren ( ffmpeg -i input.mkv) und einige Skripte verwenden, um den endgültigen Konvertierungsbefehl zu konstruieren. ffprobe kann dabei hilfreich sein. SieheFFmpeg Wiki: FFprobe Tippszum Beispiel.

Sie können angeben -c copy,Streamkopiealle Streams, egal welchen Typs. Sie können Video- und Audio-Streams auch separat indizieren, sodass Ihr Befehl folgendermaßen verkürzt werden kann:

ffmpeg -i input.mkv -c copy -map 0 output.mp4

Antwort2

Es gibt ein Open-Source-Programm namens VCT: https://sourceforge.net/projects/videoconvertertranscoder/?source=directory

Es ist eine GUI für ffmpeg. Sie können den ffmpeg-Befehl auch manuell bearbeiten. Es gibt eine Registerkarte namensTranskodierenwo Sie MKV in MP4 umpacken können, aber diese Registerkarte hat keine Optionen zum Hinzufügen von Untertiteln.

Wenn Sie MKV in MP4 umpacken und gleichzeitig Untertitel hinzufügen möchten, gehen Sie wie folgt vor:

  1. Gehe zuKonvertierenund wählen Sie Ihre Eingabedatei aus
  2. InVideocontainerwählenKopierenund inAudio-Codecauch auswählenKopieren
  3. KlickenUntertitel hinzufügenund wählen Sie Ihre externe SRT-Datei
  4. Ersetzen Sie im ffmpeg-Befehlstextfeld den Untertitelteil-c:s srt ""mit-c:s mov_text ""
  5. klickenZur Batchliste hinzufügenund dann aufStart Die Kodierung ist in ein bis zwei Minuten abgeschlossen.

Wenn Ihnen die zweimalige Kodierung nichts ausmacht und Sie nicht gern Befehle eintippen, können Sie es natürlich auch folgendermaßen machen:

  1. Registerkarte auswählenTranskodierenund ziehen Sie die Datei aufEingabedatei.., klickenStart, es ist innerhalb einer Minute erledigt.
  2. Wählen Sie dann neu codiertes MP4 und inVideocontainerwählenKopierenund inAudio-CodecklickenKopieren.
  3. KlickenZur Batchliste hinzufügenund dann aufStart. Die Kodierung erfolgt innerhalb einer Minute.

Screenshot der angeforderten Kodierung von MKV in MP4

Antwort3

Nun, ich verwende eine .bat-Datei wie diese:

for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na.mp4" 

Ich bekomme aber eine Fehlermeldung, aber die MP4 funktioniert trotzdem einwandfrei. Hier eine Logdatei: pastie.org/private/9lqyvhyotnh1o4gp6rg5g

Das Problem ist, dass mein alter Sony-Fernseher beim Ansehen von MP4 manchmal einfriert. Ich kann Ihnen nicht sagen, ob es nur am „Player“ des Fernsehers oder an der konvertierten Datei selbst liegt. Die GUI scheint gut zu sein. Aber wenn Sie 20 Dateien hintereinander konvertieren möchten, müssen Sie viel klicken. Die BAT-Datei macht das automatisch mit all diesen Dateien in einem Ordner.

Vielleicht weiß jemand, warum ich eine Fehlermeldung bekomme und ob dieses Skript falsch ist oder nicht :)

verwandte Informationen