Sem mais opções, o image2
demuxer do ffmpeg irá procurar por uma sequência começando com 0. Ele também irá verificar em torno deste índice, com um intervalo padrão de 5 (é por isso que ele não reclama nenhum índice no intervalo 0-4). Por a documentação , você deve definir o número inicial se quiser começar com um índice arbitrário, como 837.
ffmpeg -start_number 837 -i '%3d_1.png' -c:v libx264 out.mp4
Espaço de cores na conversão de PNG para H.264
Como os arquivos PNG usam o espaço de cores RGB para representar pixels, a conversão para H.264 acabaria sendo YUV 4: 4: 4 ( sem subamostragem ). O vídeo resultante pode não ser jogável em todos os jogadores, principalmente em qualquer coisa que não seja baseada no FFmpeg. Seu player mostraria apenas quadros negros ou possivelmente travaria. Para corrigir isso, mude o formato do pixel para YUV 4: 2: 0:
ffmpeg -start_number 837 -i '%3d_1.png' -c:v libx264 -pix_fmt yuv420p out.mp4
Para controlar a qualidade, use a opção -crf
. Consulte o guia de codificação x264 para obter mais informações.
Por que o *
glob não funciona
Não use o *
como uma opção de entrada. O shell irá expandi-lo para todos os arquivos no diretório atual antes de ffmpeg
vê-lo, portanto, o comando se expandirá para ffmpeg -i file1 file2 … filen
. Como todos os arquivos de entrada em ffmpeg
precisam da opção -i
, serão necessários file2 … filen
como arquivos de saída e sobrescritos. Não é bom.