Puis-je superposer/mixer deux fichiers audio mp3 en un seul fichier de sortie mp3 en utilisant ffmpeg ?
Réponses
Trop de publicités?Stéréo + stéréo → stéréo
Downmix normal
Utiliser le amix filtre :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
Ou la amerge filtre :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 -ac 2 output.mp3
Downmixer chaque entrée dans un canal de sortie spécifique
Utiliser le amerge y casserole des filtres :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex "amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3" output.mp3
mono + mono → stéréo
Utiliser le rejoindre filtre :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex join=inputs=2:channel_layout=stereo output.mp3
Ou amerge :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 output.mp3
mono + mono → mono
Utiliser le amix filtre :
ffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3
Plus d'informations et d'exemples
En amix
permet de mixer plusieurs entrées audio en une seule sortie.
Si vous exécutez la commande suivante :
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
Cette commande mélangera 3 flux audio d'entrée (j'ai utilisé deux fichiers mp3 dans l'exemple ci-dessous) en une seule sortie avec la même durée que la première entrée et un temps de transition d'abandon de 3 secondes.
En amix
accepte les paramètres suivants :
-
entrées : Le nombre d'entrées. S'il n'est pas spécifié, la valeur par défaut est 2.
-
durée : Comment déterminer la fin du flux.
-
le plus long : La durée de l'entrée la plus longue. (par défaut)
-
le plus court : La durée de l'entrée la plus courte.
-
premier : La durée de la première entrée.
-
-
transition_abandon : Le temps de transition, en secondes, pour la renormalisation du volume lorsqu'un flux d'entrée se termine. La valeur par défaut est de 2 secondes.
Par exemple, j'ai exécuté la commande suivante dans Ubuntu : FFMPEG version : 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
a été utilisé pour définir un débit binaire variable. N'oubliez pas que vous devez installer la bibliothèque libmp3lame, si nécessaire. Mais cela fonctionnera même sans la bibliothèque -codec:a libmp3lame -q:a 0
partie.
Référence : https://ffmpeg.org/ffmpeg-filters.html#amix
Pour fusionner deux fichiers audio avec différents volumes et différentes durées la commande suivante fonctionnera :
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
Ici, la durée peut être modifiée en le plus long ou le plus court vous pouvez également modifier le les niveaux de volume selon vos besoins.
Si vous cherchez à ajouter une musique de fond à certaines voix utiliser la commande suivante comme dans le écarts la musique devient automatiquement forte :
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
Le seuil est un élément dont la valeur détermine le niveau sonore de l'audio, plus le seuil est bas, plus l'audio est riche. . Le ratio indique de combien l'autre audio doit être compressé, plus le rapport est élevé, plus la compression est importante .
- Réponses précédentes
- Plus de réponses