Grave uma captura de tela com lapso de tempo diretamente no ffmpeg

Grave uma captura de tela com lapso de tempo diretamente no ffmpeg

Posso usar o ffmpeg para gravar minha área de trabalho Xorg (sem áudio) em um quadro por segundo em um arquivo de vídeo que reproduzirá os quadros a 30 quadros por segundo sem exigir um processo de conversão?

O comando a seguir registra minha exibição esquerda em 1 quadro por segundo, mas o vídeo resultante avançará o quadro de vídeo uma vez por segundo.

ffmpeg -r 1 -f x11grab -s 1920,1080 -i :0.0+0,0 -vcodec libx264 -crf 0 -preset ultrafast -threads 0 out.mkv

Alternativas conhecidas:

  1. Faça capturas de tela em intervalose combine vídeosusando mencoder
  2. Como nº 1, mas usandoffmpeg
  3. Grave um vídeo da área de trabalho com ffmpega 1 fps ou menos, se o codificador suportar esses números eacelere o vídeo depois via ffmpeg.

Se não for possível ffmpegsozinho, uma combinação de importe ffmpeg/ou algumas outras ferramentas permitiriam que o vídeo de salto no tempo ficasse pronto o mais rápido possível após o término da gravação?

Responder1

Isso deve funcionar:

ffmpeg -framerate 1 -f x11grab -s 1920,1080 -i :0.0+0,0 -vf settb=\(1/30\),setpts=N/TB/30 -r 30 -vcodec libx264 -crf 0 -preset ultrafast -threads 0 out.mkv

EDIT: parênteses escapados do shell

informação relacionada