Grabe una captura de pantalla en lapso de tiempo directamente en ffmpeg

Grabe una captura de pantalla en lapso de tiempo directamente en ffmpeg

¿Puedo usar ffmpeg para grabar mi escritorio Xorg (sin audio) a un cuadro por segundo en un archivo de video que reproducirá los cuadros a 30 cuadros por segundo sin requerir un proceso de conversión?

El siguiente comando graba mi pantalla izquierda a 1 fotograma por segundo, pero el vídeo resultante avanzará el fotograma del vídeo una 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 conocidas:

  1. Hacer capturas de pantalla en un intervalo, luego combina videosusando mencodificador
  2. Como #1 pero usandoffmpeg
  3. Graba un vídeo del escritorio con ffmpega 1 fps o menos, si el codificador admite dichos números yacelerar el vídeo después a través de ffmpeg.

Si no es posible ffmpegsolo, ¿una combinación de importu ffmpegotras herramientas permitiría que el video de salto en el tiempo esté listo lo más rápido posible después de finalizar la grabación?

Respuesta1

Esto debería 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

EDITAR: paréntesis escapados del shell

información relacionada