![entrada de imagem ffmpeg usa ímpar ou par no nível de entrada no Windows](https://rvso.com/image/1592559/entrada%20de%20imagem%20ffmpeg%20usa%20%C3%ADmpar%20ou%20par%20no%20n%C3%ADvel%20de%20entrada%20no%20Windows.png)
Existem várias soluções para selecionar todas as imagens pares ou ímpares no nível do filtro e todas funcionam. Mas no meu caso eu tenho uma entrada de arquivos .jpg de 15360x8640 onde faz muita diferença se eu insiro todas as imagens e jogo fora cada segundo no filtro ou se eu pulo cada segunda imagem de entrada. Isso aceleraria muito a codificação. Minha entrada normal é (para arquivos numéricos de cinco dígitos, rodando em win10 x64):
ffmpeg.exe -framerate 60 -i %05d.jpg -vcodec libx264 out.mkv
O que eu tentei (retirado deeste tópico, pode funcionar apenas no Linux, mas não consegui verificar):
ffmpeg.exe -framerate 60 -i %04d%[13579%].jpg -vcodec libx264 out.mkv
e várias variantes com e sem opções glob e assim por diante. Todos falham. Sempre resultando em "%04d%[13579%].jpg: Esse arquivo ou diretório não existe" ou algo parecido.
Um exemplo prático para cada décimo quadro (ou seja, 00001 00011 00021 etc.).
ffmpeg.exe -framerate 60 -i %04d1.jpg -vcodec libx264 out.mkv
Alguém já resolveu o problema ou teve uma ideia nova?
Responder1
Atualmente uma solução em duas etapas.
Criar lista:
dir *1.jpg *3.jpg *5.jpg *7.jpg *9.jpg /b /on | c:\prog\unix\sed "s/^/file /" > "!list.txt"
Lista de uso:
ffmpeg.exe -r 60 -f concat -safe 0 -i "!list.txt" -vcodec libx264 out.mkv
Pró: Economizo cerca de um terabyte apenas para ter uma cópia desses arquivos com nomes diferentes como entrada ou tempo de decodificação no nível de entrada. Velocidade quase 1,5x em comparação com a conversão no nível do filtro com meus enormes .jpgs como entrada.
Con: Parece exigir mais memória RAM do que usá-la no nível do filtro, mas por quê?
Alguém tem uma solução melhor?