Tengo un montón de entradas de audio que concateno para obtener el audio final. Me gustaría reproducir una imagen sobre este audio. Sin -loop funciona en mi máquina pero no se carga en vimeo o youtube. Usando -loop la codificación nunca se detiene. Usar -shortest no funciona. Creo que esto se debe a que el audio final no es un flujo de entrada. ¿Cómo puedo hacer esto?
Este es el comando que estoy usando, con algunas entradas suprimidas para intentar que sea menos spam:
ffmpeg -loop 1 -framerate 1 -i "D:/Programas/FFMPEG/background.jpg" -i "D:\Musical Chairs (feat. Stoneface, Prodigal Sunn & Hell Razah).flac" -i "Medina 718.flac" (...inputs...) -i "D:\Legacy.flac" -filter_complex "[1:v]scale=600:-1[ovrl]; [0:V]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=Royal Fam:x=W/2+W/10.5:y=H/11[f1], [f1]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=Yesterday Today Iz Tomorrow:x=W/2+W/10.5:y=2*(H/10)[f2],[f2]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=2000:x=W/2+W/10.5:y=3*(H/10)[bg]; [bg][ovrl]overlay=(W-w)/7:(H-h)/2; [1:a][2:a][3:a][4:a][5:a][6:a][7:a][8:a][9:a][10:a][11:a][12:a]concat=n=12:v=0:a=1[final]" -map 0:v -map [final]:a -shortest -r 1 -movflags +faststart "RoyalFamYesterday.mp4"
TL;DR del comando anterior: bucle de un solo cuadro; concatenar muchas pistas de audio; Un solo fotograma nunca deja de repetirse incluso con -shortest en la salida.
Desde entonces encontré una solución ingeniosa: calcular la duración de todas las canciones en mi script de Python y pasarla al bucle usando -t. Sin embargo, me gustaría saber si existe una forma nativa de hacer esto dentro de ffmpeg.