Manipulação de seqüência de imagens no ffmpeg

0

Eu preciso converter uma pasta de imagem com nomes não numerados, como:

11.49.18.204.jpg
11.49.28.205.jpg
11.49.38.220.jpg
11.49.48.220.jpg
11.49.58.235.jpg
11.50.08.250.jpg

FFMPEG aceita apenas entradas numeradas. Os nomes dos arquivos originais são importantes para mim. Tanto que eu pretendo cobri-los no feed de vídeo. Acho que preciso usar a entrada de legendas SRT com a opção de sobreposição de texto.

Eu gostaria de saber como posso fazer isso funcionar.

Por exemplo, isso não funcionará

ffmpeg -i *.jpg
    
por yoshco 17.03.2015 / 17:48

2 respostas

2

ok, aparentemente o FFMPEG suporta a globalização de nomes, a partir de ffmpeg.org/wik

ffmpeg also supports bash-style globbing (* represents any number of any characters). This is useful if your images are sequential but not necessarily in a numerically sequential order as in the previous examples.

ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4
    
por 17.03.2015 / 19:23
0

Se você estiver no Unix / Linux, esta linha de script irá renomear um diretório de arquivos de imagem para uma série de nomes seqüenciais que funcionarão com o ffmpeg. Basicamente, ele cria um buffer de memória de todos os nomes de arquivos existentes e, em seguida, faz um loop através de cada nome, movendo-os para um nome numerado incrementalmente (no mesmo diretório.

x=1; for i in *jpg; do counter=$(printf %03d $x); mv "$i" img"$counter".jpg; x=$(($x+1)); done
    
por 17.03.2015 / 18:21