Singler Zeile FFMPEG cmd, um Video / Audio zu verbinden und beide Audios beizubehalten

8

Ich habe ein Projekt, das das Zusammenführen einer Videodatei mit einer anderen Audiodatei erfordert. Die erwartete Ausgabe ist eine Videodatei, die sowohl das Audio vom tatsächlichen Video als auch die zusammengeführte Audiodatei enthält. Die Länge der ausgegebenen Videodatei entspricht der Größe der tatsächlichen Videodatei.

Gibt es einen einzigen FFMPEG-Befehl, um dies mit den Parametern copy und -map zu erreichen?

Das Videoformat, das ich verwenden werde, ist entweder flv oder mp4 Und das Audiodateiformat wird mp3

sein     
Deepak Prakash 17.07.2014, 13:28
quelle

5 Antworten

33

Es kann auch ohne Map erreicht werden.

ffmpeg -i video.mp4 -i audio.mp3 output.mp4

Wenn Sie möchten, dass die Ausgabe.mp4 stoppt, sobald eine der Eingaben stoppt (Audio / Video) dann benutze

-shortest

Zum Beispiel: ffmpeg -i video.mp4 -i audio.mp3 -shortest output.mp4

Dadurch wird sichergestellt, dass der Ausgang stoppt, sobald einer der Eingänge abgeschlossen ist.

Da Sie gefragt haben, dass Sie es mit Karte machen wollen. so machen Sie es:

ffmpeg -i video.mp4 -i audio.mp3 -map 0:0 -map 1:0 -shortest output.mp4

Da Sie nun das Audio der Videodatei beibehalten möchten, sollten Sie in Betracht ziehen, audio.mp3 und video.mp4 zusammenzuführen. Dies sind die Schritte:

  1. Extrahiere Audio von der video.mp4

ffmpeg -i video.mp4 1.mp3

  1. Fügen Sie audio.mp3 und 1.mp3
  2. zusammen

ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

  1. Entfernen Sie das Audio von video.mp4 (dieser Schritt ist nicht erforderlich, aber nur um es richtig zu machen)

ffmpeg -i video.mp4 -an videofinal.mp4

  1. Jetzt audiofinal.mp3 und videofinal.mp4
  2. zusammenführen

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest final.mp4

Hinweis: In der neuesten Version von ffmpeg werden Sie nur dazu aufgefordert, '-strict-2' zu verwenden, für den Fall, dass dies dann verwendet wird:

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest -strict -2 final.mp4

hoffe das hilft.

    
Rajath 17.07.2014 14:07
quelle
7

**

Sie können das nicht mit einem cmd tun.

**

1.Holen Sie das Audio aus der Videodatei, der Name der Audiodatei ist a.mp3

%Vor%

2.Merge zwei Audiodateien (audio.mp3 + a.mp3 = audiofinal.mp3)

%Vor%

3.Merge Videodatei und Audiodatei (video.mp4 + audiofinal.mp3 = output.mp4)

%Vor%     
Aliceljm 31.12.2015 09:10
quelle
1

Anwendungsfall:

  • füge Musik deinem Hintergrund hinzu
  • Du hast ein Video gerendert, aber einen Teil davon stummgeschaltet, damit du es nicht mehr rendern willst (weil es zu lang ist), stattdessen renderst du nur Audiospur (schnell) und willst sie mit dem Originalvideo zusammenführen / li>

Angenommen,

  • Sie haben Ihr Video mit Ihrer Rede ( oder nur Audiospur, was auch immer )
  • Ihre Musikdatei ist nicht laut. Sonst wirst du dich nicht hören D:

Schritte:

1) Audio aus dem Video extrahieren

%Vor%

test.mp4 - Ihre Datei

2) Verbinden Sie audio.mp3 und 1.mp3

%Vor%

audiofinal.mp3 - Audio mit Musik

3) Audio vom Original löschen

%Vor%

example-nosound.mkv - Ihr Video ohne Audio

4) Mit dem richtigen Audio zusammenführen

%Vor%

final.wmv - dein perfektes Video.

    
Nikolay Gogol 30.01.2018 20:44
quelle
-1

Dies ist sehr einfach mit FFmpeg :

%Vor%     
Jon Stevens 06.11.2015 03:22
quelle
-1

Entfernen Sie zuerst den Ton aus dem Video, wenn Sie Video und Audio nicht mit diesem Befehl zusammenführen können: ffmpeg -i video.mp4 -eine Videofinal.mp4

    
Muzammil 31.05.2016 12:37
quelle

Tags und Links