Wie man mit ffmpeg Audio von mp4 rippt und einem anderen hinzufügt

499

Ich habe ein Video mit Final Cut Pro X (10.1.4) erstellt und einen Kommentar mit der Voiceover-Funktion hinzugefügt. Ich war überrascht zu erfahren, dass FCPX die Ausgabe einer Datei mit mehreren Audiospuren nicht unterstützt.

Ich habe die Kommentarspur deaktiviert und das Projekt in 1080p mit nur dem normalen Audio (main.m4v) gespeichert.

Dann habe ich den Kommentar wieder aktiviert und das reguläre Audio angepasst und eine 720p-Version nur mit der Kommentarspur (commentary.m4v) exportiert.

Wie verwende ich ffmpeg zum Erstellen von final.m4v. Dies wäre main.m4v, aber die Audiospur aus commentary.m4v wäre eine sekundäre Audiospur.

1
Vielleicht können Sie sich auf https://superuser.com/questions/277642/how-to-merge-audio-and-video-file-in-ffmpeg beziehen Kokizzu vor 9 Jahren 0
Bei dieser Lösung geht es darum, das vorhandene Audio zu ersetzen oder die beiden Audiospuren zu einem zu mischen. Ich möchte das Audio aus einer M4V-Datei kopieren und es als zweite separate Spur zu einer vorhandenen M4V hinzufügen. vor 9 Jahren 0
Ah mein schlechtes, ich habe die Frage falsch verstanden, Sie können diese Antwort verwenden: http://askubuntu.com/questions/317739/how-to-add-an-additional-sound-track-to-an-existing-video wenn Sie Könnte mit `ffmpeg` nur Kompromisse eingehen Kokizzu vor 9 Jahren 0
Vielen Dank! Mit diesem Beispiel erhielt ich einige sehr interessante Ergebnisse. Ich habe ein m4v, das genau so funktioniert, wie ich es in VLC möchte, aber mit Quicktime kann ich keinen Audiotrack auswählen und spielt beides gleichzeitig. Ich muss ein wenig nachforschen, aber ich bin definitiv nahe an dem, was ich suche. vor 9 Jahren 1

2 Antworten auf die Frage

1
slhck

Verwenden Sie die Zuordnungsoptionen :

ffmpeg -i main.m4v -i commentary.m4v -c copy -map 0:v -map 0:a -map 1:a final.m4v 

Mit -mapbezieht sich die erste Zahl in der Option auf den Index der Eingabedatei (dh 0die erste). Die Optionen bedeuten daher:

  • Kopieren Sie alle Bitstreams, anstatt sie neu zu codieren
  • Nehmen Sie den (ersten) Videostrom des ersten Eingangs auf
  • Nehmen Sie den (ersten) Audiostrom des ersten Eingangs auf
  • Nehmen Sie den (ersten) Audiostrom des zweiten Eingangs auf

Alle Streams, die eine mapOption haben, werden dann kopiert.

Sie können auch explizit auf einen nummerierten Video- / Audiostrom 0:a:1verweisen, um beispielsweise auf den zweiten Audiostrom in der ersten Datei zu verweisen, falls vorhanden.

0
Kokizzu

Wenn es nicht spezifisch für ffmpegSie ist, können Sie dieses Beispiel verwenden

Das MKVmerge- oder MP4Box- Tool könnte eine Spur an ein vorhandenes Video anhängen.