¿Qué configuraciones puedo usar para maximizar el rendimiento de FFMpeg?


9

Estoy tratando de hacer un screencasting, pero dado que mi computadora es demasiado vieja y lenta, el video que se produce es lento y la aplicación que estoy tratando de grabar deja de responder debido al consumo de CPU. Como no puedo actualizar en este momento, estoy buscando optimizar lo que tengo.
Cambié de GNOME a OpenBox, y eliminé procesos innecesarios, etc. Todavía no es bueno. También he optimizado la aplicación que estoy grabando, por lo que lo único que me quedaría sería la grabadora, que es FFMpeg.

¿Cuáles son algunas opciones y marcas que se pueden usar para obtener el mejor rendimiento de FFMpeg? ¿Hay códecs específicos que sean más fáciles de procesar que otros? Grabaré unos 10-15 minutos a la vez, por lo que también se agradecería algo que no produzca archivos ENORMES. ¿Algunas ideas?


55
Como pauta aproximada: tamaño pequeño, buena calidad, alta velocidad: elija dos. Grabaría en un formato con menos compresión / velocidad de bits más alta por segundo primero y luego volvería a comprimir ese archivo a algo más pequeño a una velocidad menor que en tiempo real.
Ulrich Schwarz

@UlrichSchwarz, Excelente respuesta. Estoy completamente de acuerdo con él.

Respuestas:


4

Si tiene una computadora vieja, cualquier códec creará problemas para la codificación en tiempo real (no solo para la CPU sino también para el disco). Sugiero encontrar una resolución lo suficientemente baja como para reducir el tamaño del archivo. Quiero tener resoluciones personalizadas y velocidad de fotogramas (no se puede usar mpeg1 / mpeg2). La resolución y la velocidad de fotogramas eligen sabiamente.

Aquí están mis sugerencias para interruptores en ffmpeg:

-vcodec libx264 
-r 15
-preset ultrafast
-s 800x600

Aquí pongo 800x600 (esto puede ser demasiado bajo) y la velocidad de fotogramas es de 15 fps. Para un mejor rendimiento, establezca una velocidad de fotogramas de 15 a 10 FPS. En mi experiencia, x264 es un códec rápido y permite resoluciones y cuadros por segundo personalizados.

Aquí está la configuración para MPEG2 (que es más rápido pero está limitado por las resoluciones y la velocidad de fotogramas)

-r 25 
-s 720x480 
-preset ultrafast 
-vcodec mpeg2video

Debo verificar que puede ser la primera persona en la historia en referirse a la codificación H.264 como "rápida" ... :-P Pero sí, la clave es el valor predeterminado para desactivar todas las opciones costosas.
derobert

¡Tienes razón! si 720x480 es lo suficientemente bueno aquí, esto es más rápido: -r 25 -s 720x480 -preset ultrafast -vcodec mpeg2video (vivo en el mundo Full HD y olvidé por completo que alguien usa una resolución de 800x600 :()
manuel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.