La codificación de vídeo es una operación que consume mucha CPU, y OBS no es una excepción. OBS utiliza la mejor biblioteca de codificación de vídeo de código abierto disponible, x264, para codificar vídeo. Sin embargo, algunas personas pueden experimentar una alta utilización de la CPU, y otros programas que se ejecutan en su ordenador pueden experimentar un rendimiento degradado mientras OBS está activo si su configuración es demasiado alta para el hardware de su ordenador. En algunos casos, OBS dirá «¡Codificación sobrecargada!» en su barra de estado, lo que significa que su ordenador no puede codificar su vídeo lo suficientemente rápido como para mantener la configuración que tiene establecida, lo que hará que el vídeo se congele después de unos segundos, o que haya tartamudeos periódicos.
Aquí tiene algunas formas de reducir la utilización de recursos y, con suerte, hacer que tanto OBS como sus programas funcionen más rápido mientras codifican:
Reduzca la resolución de salida
La resolución a la que está codificando tiene el mayor impacto en el uso de la CPU. Por ejemplo, 1080p tiene más del doble de píxeles en cada cuadro que 720p, y el uso de la CPU aumenta en consecuencia. La forma más común de reducir el uso de la CPU es reducir la escala de la resolución. Cuando reduces la escala, OBS toma tu escena y la reduce tanto como le digas antes de dársela al codificador. Es posible que quieras que tu resolución base sea de 1080p, ya que esa es la resolución de tu contenido, pero tu CPU puede no ser capaz de codificar un vídeo de 1080p sin reducir la escala. Así que puede reducir su resolución a 720p (o menos) para mantener su imagen igual, pero usando una resolución más pequeña para reducir la carga de la CPU.
Puede cambiar cuánto quiere reducir la escala en Configuración > Vídeo > Resolución de salida (escalada). Puede mantener su resolución base (lienzo) igual, para que su diseño no cambie, y luego reducir la resolución a lo que le dé un buen rendimiento.
Los diferentes filtros de reducción de escala (bilineal, bicúbico y Lanczos) simplemente cambian el algoritmo utilizado para reducir la imagen: el bilineal es el más rápido y toma menos recursos, pero no se ve tan bien, mientras que Lanczos toma más recursos pero se ve mejor. En cuanto al rendimiento, no son muy diferentes. Siéntase libre de experimentar con el filtro que funciona mejor para usted.
Reduzca su velocidad de fotogramas
Si está transmitiendo por encima de 30 FPS, otra opción es considerar la reducción de su velocidad de fotogramas a 30 FPS. Esto reducirá el número de fotogramas que tu CPU tiene que procesar en un periodo de tiempo determinado, lo que reducirá el uso de la CPU. Usted puede incluso sentir la necesidad de reducir su velocidad de fotogramas a algo por debajo de 30 FPS, en el caso de que su CPU es realmente débil y luchando.
Cambiar su preset x264
El codificador de vídeo, x264, tiene un número de «presets» que va a cambiar su calidad de vídeo y el uso de la CPU en consecuencia. El valor predeterminado de OBS es muy rápido, que para la mayoría de los casos es el mejor equilibrio entre el uso de la CPU y la calidad de vídeo. Esta configuración puede ser cambiada en Settings > Output (marque la opción Enable Advanced Encoder Settings si está en el modo Simple) > Encoder Preset.
El nombre del preset pretende indicar cuán «rápido» debe correr el codificador. Los preajustes más rápidos utilizarán menos CPU a costa de cálculos de calidad. Los preajustes más lentos utilizarán más cálculos para la calidad, pero utilizarán mucha más CPU.
Por ejemplo, si quiere intentar reducir el uso de la CPU sin modificar la resolución o los FPS, puede reducir el uso de la CPU cambiando su preajuste x264 a superrápido o ultrarrápido, y x264 pasará menos tiempo intentando que la imagen se vea bien, y le ahorrará algunos ciclos de CPU. La imagen puede parecer un poco más bloqueada o pixelada, pero podrá mantener su resolución/fps.
Tenga mucho cuidado con esta configuración, porque incluso un paso más rápido o más lento puede tener un gran impacto en el uso de la CPU. Por ejemplo, el preajuste llamado «faster» puede utilizar el doble de CPU que «veryfast», el que está justo encima. Siempre vuelva a ponerlo en «veryfast» si no está seguro de a qué valor ajustarlo.
Pruebe Quicksync, AMF o NVENC
Quicksync, AMF y NVENC son codificadores de hardware que vienen en las recientes GPUs integradas de Intel, en las nuevas GPUs de AMD y en las recientes GPUs de nVidia, respectivamente. Puedes descargar la carga de codificación a esos codificadores de hardware a costa de una disminución algo notable de la calidad a la misma tasa de bits. En general, los codificadores basados en la GPU no tienen una calidad tan alta como x264 para una tasa de bits determinada, pero el beneficio es una gran reducción de la carga en su CPU.
Si usted tiene uno de los codificadores de hardware mencionados, puede ver si esas opciones están disponibles para usted en la configuración de codificación.
- Quicksync es un poco más complicado de configurar, pero aquí tienes una guía: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Así mismo, aquí está la guía de solución de problemas para el codificador AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Comprueba tus fuentes
Algunas fuentes como las cámaras web y las tarjetas de captura pueden usar mucha CPU sólo por estar en tu escena ya que tienen que decodificar los datos de vídeo. Si utilizas una cámara web, comprueba que no esté funcionando a una resolución demasiado alta (rara vez se necesitan más de 480p si no es a pantalla completa). La Logitech C920, en particular, tiene problemas en muchos sistemas cuando se ejecuta a la resolución máxima de 1080p. Las fuentes del navegador también pueden consumir CPU si hay animaciones complejas o scripts activos.
Comprueba este vídeo para una explicación más detallada (aunque el vídeo es un poco antiguo y utiliza OBS Classic, esta información sigue siendo muy precisa): https://www.youtube.com/watch?v=a274YynXRwI
Actualiza tu hardware
Algunas CPUs son tan débiles que son casi imposibles de conseguir que funcione algo decente. Las CPUs de doble núcleo y las APUs de AMD son particularmente notorias por esto. Es posible que puedan conseguir un flujo de 360p a 25 FPS utilizando el preajuste ultrarrápido, pero ciertamente no se verá bien. Eso lo tienes que decidir tú. Si tienes un Sandy Bridge i5 o i7 o posterior, o un AMD de 6 u 8 núcleos o posterior, entonces deberías ser capaz de conseguir un stream de aspecto decente a resoluciones y frecuencias de cuadro razonables.
OBS se diferencia de muchos otros programas de streaming/grabación en que hace uso de tu GPU para un mejor rendimiento. Desgraciadamente, en algunas GPUs antiguas o de bajo coste esto puede suponer un cuello de botella en el rendimiento de tu stream. Esto se debe generalmente al bajo ancho de banda de la memoria y/o al bajo número de núcleos del procesador. Las GPUs como la serie nVidia GTX 200 (250, 260, 280) y la 9800GT y anteriores fueron muy potentes en su día, pero ahora son tarjetas muy antiguas que harán que el rendimiento de OBS se resienta mucho.
Otros programas/juegos también usan CPU
Ciertos programas (particularmente los juegos) pueden usar mucha CPU. Esto incluye algunos obvios, como Battlefield 4, y algunos no obvios, como los juegos jugados a través de emuladores. Si un juego utiliza mucha CPU, puede interferir con la OBS, al igual que la OBS puede interferir con el juego, por lo que tendrás que considerar la posibilidad de bajar estos ajustes para compensar el juego que estás jugando. También puedes utilizar el ajuste «Prioridad del proceso» en Configuración > Avanzada para aumentar o reducir la prioridad del procesador del programa. Es común dar a OBS una prioridad de proceso «Superior a la normal» para asegurar que OBS sea priorizado por el sistema y se ejecute sin problemas, aunque úselo con precaución.