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
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