FFmpeg: Wie kann ich mehrere Audiodateien einstellen?

432
Ives

Ich möchte dem Ausgangsvideo mehrere Audiodateien hinzufügen (in einem Stream zusammenführen). Jedes Audio hat seine eigene Dauer und seinen Start- / Endpunkt. Ich habe ein Bild gezeichnet, um zu erklären, was ich erreichen möchte.
enter image description here

Ich habe versucht, apadund adeleyzu verwenden, aber das Ausgabeergebnis war nicht korrekt. Einige Audios fehlen oder werden nicht zum richtigen Zeitpunkt gestartet.
Hier sind meine filter_complexBefehle ( apad and adelayParameter sind nicht immer 0.0).

-filter_komplex [1]Volumen = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a1]; [a1] Adelay = 0,0 | 0,0, apad [b1]; [2] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a2]; [a2] Adelay = 0,0 | 0,0 [b2]; [3] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a3]; [a3] Adelay = 0,0 | 0,0, apad [b3]; [4] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a4]; [a4] Adelay = 0,0 | 0,0, apad [b4]; [5] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a5]; [a5] Adelay = 0,0 | 0,0, apad [b5]; [6] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a6]; [a6] Adelay = 0,0 | 0,0, apad [b6]; [7] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a7]; [a7] Adelay = 0,0 | 0,0, apad [b7]; [8] Volumen = 0,0 dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a8]; [a8] Adelay = 0,0 | 0,0, apad [b8]; [9] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a9]; [a9] Adelay = 0,0 | 0,0, apad [b9]; [10] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a10]; [a10] Adelay = 0,0 | 0,0, apad [b10]; [11] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a11]; [a11] Adelay = 0,0 | 0,0, apad [b11]; [12] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a12]; [a12] Adelay = 0,0 | 0,0, apad [b12]; [13] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a13]; [a13] Adelay = 0,0 | 0,0, apad [b13]; [14] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a14]; [a14] Adelay = 0,0 | 0,0, apad [b14]; [15] Volumen = 0,0 dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a15]; [a15] Adelay = 0,0 | 0,0, apad [b15]; [16] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a16]; [a16] Adelay = 0,0 | 0,0, apad [b16]; [17] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a17]; [a17] Adelay = 0,0 | 0,0, apad [b17]; [18] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a18]; [a18] Adelay = 0,0 | 0,0, apad [b18]; [19] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a19]; [a19] Adelay = 0,0 | 0,0, apad [b19]; [20] volume = 0.0dB, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = stereo [a20]; [a20] Adelay = 0,0 | 0,0, apad [b20]; [b1] [b2] [b3] [b4] [b5] [b6] [b7] [b8] [b9] [b10] [b11] [b12] [b13] [b14] [b15] [b16] [b16] ] [b18] [b19] [b20] amerge = 20 [a] -map 0: v -map [a] -b: v 3200k -c:

0
Mögliches Duplikat von [Viele Audiodateien mit bestimmten Positionen zusammenführen] (https://superuser.com/questions/1092291/merge-many-audio-files-mit-specific-positions) Gyan vor 5 Jahren 0
Adelay nimmt Werte in ganzen Millisekunden an, bei einer Verzögerung von 3,24 s würden Sie 3240 pro Kanal schreiben Gyan vor 5 Jahren 0
@Gyan Ich habe Adelay in Millisekunden eingestellt. Ives vor 5 Jahren 0

0 Antworten auf die Frage