online - Cómo superponer dos archivos de audio usando ffmpeg
superponer audios online (5)
¿Puedo superponer dos archivos de audio mp3 en un archivo de salida mp3 usando ffmpeg?
Con Bash
set ''amovie=a.mp3 [gg]; amovie=b.mp3 [hh]; [gg][hh] amerge''
ffmpeg -f lavfi -i "$1" -q 0 c.mp3
El filtro amix
ayuda a mezclar múltiples entradas de audio en una sola salida.
Si ejecuta el siguiente comando:
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
Este comando mezclará 3 flujos de entrada de audio (usé dos archivos mp3, en el siguiente ejemplo) en una sola salida con la misma duración que la primera entrada y un tiempo de transición de deserción de 3 segundos.
El filtro amix
acepta los siguientes parámetros:
entradas : El número de entradas. Si no se especifica, el valor predeterminado es 2.
duración : cómo determinar el final de la secuencia.
más largo : la duración de la entrada más larga. (defecto)
más corto : la duración de la entrada más corta.
primero : la duración de la primera entrada.
dropout_transition : el tiempo de transición, en segundos, para la renormalización del volumen cuando finaliza una secuencia de entrada. El valor predeterminado es 2 segundos.
Por ejemplo, ejecuté el siguiente comando en Ubuntu: Versión 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
se usó para establecer una tasa de bits variable. Recuerde que debe instalar la biblioteca libmp3lame, si es necesario. Pero funcionará incluso sin el -codec:a libmp3lame -q:a 0
parte -codec:a libmp3lame -q:a 0
.
Referencia: https://ffmpeg.org/ffmpeg-filters.html#amix
Mira esto:
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
Creo que eso ayudará.
Si son de diferente longitud, puedes usar apad para agregar un sonido silencioso al más corto
Puedes hacer esto con ffmpeg
usando el filtro amerge
:
ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 output.mp3
Consulte la documentación en línea del filtro de amerge y FFmpeg Wiki: Manipulación de canales de audio para obtener más ejemplos, información y opciones.
-ac 2
hará una salida estéreo. Esto es útil si está combinando dos entradas estéreo: amerge hará una salida de 4 canales y-ac 2
lo mezclará en estéreo.Consulte Hydrogenaudio Wiki: configuración de codificador LAME recomendada para tener una idea del valor
-q:v
(calidad de audio) que desea.