Tenho várias entradas de áudio que concateno para obter o áudio final. Eu gostaria de repetir uma imagem neste áudio. Sem -loop ele funciona na minha máquina, mas não carrega no vimeo ou no youtube. Usando -loop a codificação nunca para. Usar -shortest não funciona. Acredito que isso ocorre porque o áudio final não é um fluxo de entrada. Como posso fazer isso?
Este é o comando que estou usando, com algumas entradas suprimidas para tentar torná-lo 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 do comando acima: Loop single frame; concatenar muitas faixas de áudio; o quadro único nunca para de repetir, mesmo com -shortest na saída.
Desde então, encontrei uma solução hacky: calcule a duração de todas as músicas em meu script python e passe-a para o loop usando -t. No entanto, gostaria de saber se existe uma maneira nativa de fazer isso no ffmpeg.