Convertendo imagens para vídeo usando o FFMPEG no Windows

7

Estou tentando converter uma série de imagens JPEG em um vídeo de lapso de tempo. Eles estão no formato IMGP0001.JPG, IMGP0002.JPG, etc. Pelo que parece, isso deve corresponder ao padrão IMGP% 04.JPG.

Já experimentei os seguintes comandos (modificado a partir da segunda entrada desta página) :

ffmpeg -f image2 -i IMGP%04d.jpg video.mpg

Eu recebo o erro "IMGP% 04d.JPG: Nenhum arquivo ou diretório".

O que estou fazendo de errado? Talvez a sintaxe "IMGP% 04d.JPG" seja * nix específica? Se sim, qual seria o equivalente do Windows?

    
por CadentOrange 07.10.2011 / 12:07

2 respostas

5

Tente colocar o modelo de nome de arquivo entre aspas duplas. Além disso, se você estiver executando o comando em um script, talvez seja necessário usar %% em vez de%.

    
por 07.10.2011 / 23:02
9

Com base na resposta de Mike acima, há alguns outros switches úteis que também funcionam na solução do Windows.

Eu uso o seguinte liner para obter uma taxa de quadros mais lenta e compactar as imagens e ter um vídeo resultante menor:

ffmpeg.exe -f image2 -framerate 25 -pattern_type sequence -start_number 1234 
        -framerate 3 -i "Imgp%%04d.jpg" -s 720x480 test.avi

A opção -framerate 3 define a taxa de quadros do vídeo resultante como 3 quadros por segundo, para que eu possa ver cada foto por um curto período de tempo. Adicionar -r como uma opção de saída alterará a taxa de quadros da saída se você precisar que ela seja diferente do valor -framerate . A opção -s redimensiona as imagens para a resolução desejada para gerenciar o tamanho do vídeo resultante. Alternativamente, o mais flexível filtro de escala pode ser usado em seu lugar.

Note que, ao contrário do comentário de Jason acima, não é necessário renomear arquivos se estiver usando a opção -start_number da seguinte forma:

ffmpeg -f image2 -start_number n -i "IMGP%%04d.jpg" video.mpg 
    -vcodec mpeg4 test.avi

onde n é o início da sequência de fotos.

Isto funcionará enquanto a sequência estiver ininterrupta quando for iniciada. Se houver lacunas e você quiser que todos os alvos sejam incluídos, renumeração pode ser necessária para preencher as lacunas.

    
por 28.08.2012 / 22:16