Ich hatte einen Film von Arte heruntergeladen, der dort zweisprachig lief. In der Mediathek gab es aber nur die deutsche und die französische Version. Was tun, um beide Tonspuren in eine Mediendatei zu packen?
Die Befehlszeile lautet
ffmpeg -i video_fra.mp4 -i video_deu.mp4 -i video_deu.srt -map 0:0 -map 1:1 -map 0:1 -map 2 -metadata:s:a:0 language=ger -metadata:s:a:1 language=fra -metadata:s:s:0 language=ger -c:v copy -c:a copy -c:s mov_text out.mp4
Nimmt man die einzelnen Parameter auseinander, so hat man folgende Bedeutungen:
-i video_fra.mp4 | Gibt die Ausgangs-Videos an. Die dritte Eingabedatei ist eine passende Untertiteldatei |
-map 0:0 -map 1:1 -map 0:1 -map 2 | Welche Spuren des Ausgangsmaterials in welcher Reihenfolge im Ziel auftaucht. Bedeutung: 1. Spur im Ziel ist die 1. Spur der 1. Quelle (= Video von video_fra.mp4) 2. Spur im Ziel ist die 2. Spur der 2. Quelle (= Ton von video_deu.mp4) 3. Spur im Ziel ist die 2. Spur der 1. Quelle (=Ton von video_fra.mp4) 4. Spur im Ziel ist die gesamte 3. Quelle (=Untertitel) |
-metadata:s:a:0 language=ger -metadata:s:a:1 language=fra -metadata:s:s:0 language=ger | Sie 1. Tonspur soll „deutsch“ sein, die 2. Tonspur „französisch“ und die 1. Untertitelspur ebenfalls „deutsch“ |
-c:v copy -c:a copy -c:s mov_text | Video soll nicht neu kodiert werden, sondern kopiert, ebenso die Tonspur. Die Untertitel werden in das für mp4 passende Format konvertiert |