ffmpeg: cómo configurar el parámetro "apad"


0

Mi propósito es asignar múltiples audios a un canal y recortarlos.
Ahí está mi comando ffmpeg.

ffmpeg -framerate 30 -i test_%03d.png 
       -ss 5 -t 20 -i s01.wav
       -ss 10 -t 30 -i s02.wav
       -filter_complex "[1]adelay=10000|10000,apad[a1];
                        [2]adelay=15000|15000[a2];
                        [a1][a2]amerge=2[a]" \
       -map 0:v -map "[a]" -c:v libopenh264 -c:a mp3 test.mp4  

Funciona perfectamente cuando solo hay dos flujos de sonido, si quiero mapear tres flujos de sonido, no los recorté correctamente.
Creo que la razón es que configuré apad incorrectamente.
Por favor, dime cómo mapear y recortar múltiples transmisiones al mismo tiempo.

Con más transmisiones (adelay podría no ser el número que usé en el comando):

ffmpeg -framerate 30 -i test_%03d.png 
       -i s01.wav
       -i s02.wav
       -i s03.wav
       -i s04.wav
       -filter_complex "[1]adelay=10000|10000,apad[a1];
                        [2]adelay=15000|15000,apad[a2];
                        [3]adelay=12000|15000,apad[a3];
                        [4]adelay=20000|10000[a4];
                        [a1][a2][a3][a4]amerge=4[a]" \
       -map 0:v -map "[a]" -c:v libopenh264 -c:a mp3 test.mp4  

Aquí está la pregunta original.


Muestra el comando que probaste con tres transmisiones de audio.
Gyan

@Mulvya Agregué un nuevo comando a mi pregunta.
Ives

Solo para estar seguro, su comando no está recortando por adelantado ninguna de las transmisiones, solo las retrasa y fusiona. La secuencia fusionada debería finalizar cuando lo haga s04. ¿Qué estas viendo?
Gyan

Me salteé el -ss -t pero creo que no cambia el resultado de apad, ¿debo agregar el parámetro apad a cada flujo excepto al último?
Ives

Su comando ya hace eso, pero sí. Agréguelo todas las transmisiones excepto una.
Gyan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.