Jak nakładać / ściągać dwa pliki audio za pomocą ffmpeg
Czy mogę nakładać / ściągać dwa pliki audio mp3 w jeden plik wyjściowy mp3 używając ffmpeg?
7 answers
Stereo + stereo → stereo
Normal downmix
Użyj filtra amix :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
Lub amerge filtr:
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 -ac 2 output.mp3
Downmix każdego wejścia do określonego kanału wyjściowego
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex "amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3" output.mp3
Mono + Mono → stereo
Użyj Dołącz filtr:
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex join=inputs=2:channel_layout=stereo output.mp3
Lub amerge :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 output.mp3
Mono + mono → mono
Użyj filtra amix :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
Więcej informacji i przykładów
Zobacz FFmpeg Wiki: Kanały Audio
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-12 20:13:37
Zobacz to:
ffmpeg -y -i ad_sound/whistle.mp3 -i ad_sound/4s.wav -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ad_sound/outputnow.mp3
Myślę, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-12 19:45:54
Filtr amix
pomaga mieszać wiele wejść audio w jedno wyjście.
Jeśli uruchomisz następujące polecenie:
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
To polecenie połączy 3 wejściowe strumienie audio (użyłem dwóch plików mp3, w poniższym przykładzie) w jedno wyjście o takim samym czasie trwania jak pierwsze wejście i czasie przejścia wynoszącym 3 sekundy.
Filtr amix
przyjmuje następujące parametry:
Wejścia : Liczba wejść. Jeśli nieokreślony, domyślnie jest to 2.
-
Czas trwania : Jak określić koniec strumienia.
-
najdłuższe : Czas trwania najdłuższego wejścia. (domyślnie)
Najkrótsza : Czas trwania najkrótszego wejścia.
pierwszy : Czas trwania pierwszego wejścia.
-
Dropout_transition : Czas przejścia, w sekundach, dla renormalizacji głośności po zakończeniu strumienia wejściowego. Default wartość to 2 sekundy.
Na przykład, uruchomiłem następujące polecenie w Ubuntu: Wersja FFMPEG: 3.2.1-1 UBUNTU 16.04.1
ffmpeg -i background.mp3 -i bSound.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=0 -codec:a libmp3lame -q:a 0 OUTPUT.mp3
-codec:a libmp3lame -q:a 0
został użyty do ustawienia zmiennej przepływności. Pamiętaj, że w razie potrzeby musisz zainstalować bibliotekę libmp3lame. Ale będzie działać nawet bez -codec:a libmp3lame -q:a 0
części.
Numer referencyjny: https://ffmpeg.org/ffmpeg-filters.html#amix
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-15 02:12:13
Do scalania dwóch plików audio o różnych woluminach i różnym czasie trwania będzie działać następujące polecenie:
ffmpeg -y -i audio1.mp3 -i audio2.mp3 -filter_complex "[0:0]volume=0.09[a];[1:0]volume=1.8[b];[a][b]amix=inputs=2:duration=longest" -c:a libmp3lame output.mp3
Tutaj czas trwania można zmienić na najdłuższy lub najkrótszy , można również zmienić poziom głośności w zależności od potrzeb.
Jeśli chcesz dodać muzykę w tle do jakiegoś głosu Użyj następującego polecenia, jak w przerwach Muzyka stanie się głośna automatycznie :
ffmpeg -i bgmusic.mp3 -i audio.mp3 -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg]; [bg][mix]amerge[final]" -map [final] final.mp3
W tym progu jest coś której wartość zadecyduje o tym, jak głośny powinien być dźwięk, Im mniejszy próg, tym dźwięk będzie większy. Ratio określa, w jakim stopniu drugi dźwięk powinien być skompresowany, im większy współczynnik, tym większa jest kompresja.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-16 09:51:37
Jeśli są różnej długości, możesz użyć apad, aby dodać cichy dźwięk do najkrótszego
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-08 10:59:33
Z Bash
set 'amovie=a.mp3 [gg]; amovie=b.mp3 [hh]; [gg][hh] amerge'
ffmpeg -f lavfi -i "$1" -q 0 c.mp3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-19 06:01:59
Możesz użyć następujących argumentów poleceń:
// Command is here
let commandValue = "-y -i \(recordedAudioPath) -i \(backgroundAudio) -filter_complex [\(0):a][\(1):a]amerge=inputs=\(2)[a] -map [a] -ac \(2) -shortest -preset ultrafast \(outputPath)"
MobileFFmpeg.execute(commandValue)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-07 15:00:43