La codificación de vídeo es una operación muy intensiva de la 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, y puede utilizar codificadores de hardware como NVENC en GPUs de gama alta. 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 sus ajustes son demasiado altos para el hardware de su ordenador. En algunos casos, OBS dirá «¡Codificación sobrecargada!» en su barra de estado, lo que significa que su computadora no puede codificar su video lo suficientemente rápido como para mantener la configuración que ha establecido, lo que causará que el video se congele después de unos segundos, o tartamudeo periódico.
Aquí hay algunas maneras de reducir la utilización de recursos y, con suerte, hacer que tanto OBS como sus programas se ejecuten más rápido mientras se codifica:
Reduzca su 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. Por lo tanto, puede reducir su resolución a 720p (o menos) para mantener su imagen igual, pero utilizando una resolución más pequeña para reducir la carga de la CPU.
Puede cambiar cuánto desea 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éntete libre de experimentar con el filtro que mejor funcione para ti.
Baja tu velocidad de fotogramas
Si estás transmitiendo por encima de 30 FPS, otra opción a considerar es bajar tu velocidad de fotogramas a 30 FPS. Esto reducirá el número de fotogramas que su CPU tiene que procesar en un lapso de tiempo determinado, lo que reducirá el uso de la CPU. Puede que incluso sientas la necesidad de bajar la frecuencia de imagen a algo inferior a 30 FPS, en el caso de que tu CPU sea realmente débil y tenga problemas.
Usa codificadores de hardware (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, aunque las tarjetas NVIDIA más recientes realmente superan la codificación por software). Tenga en cuenta que QSV / AMF son particularmente malos en bajas tasas de bits por lo que no se recomienda para el streaming.
Si usted tiene uno de los codificadores de hardware mencionados, se puede ver si esas opciones están disponibles para usted en la configuración de codificación.
Quicksync es un poco más difícil de configurar, pero aquí es 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
Cambia tu preset de x264
Si estás usando el codificador de software (x264), tiene una serie de «presets» que cambiarán tu 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 vuelve a ponerlo en «veryfast» si no estás seguro de a qué nivel configurarlo.
Comprueba tus fuentes
Algunas fuentes, como las cámaras web y las tarjetas de captura, pueden consumir 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). Las fuentes del navegador también pueden consumir CPU si hay animaciones complejas o scripts activos.
Si tiene muchas escenas diferentes para distintos escenarios, considere dividirlas en colecciones de escenas separadas si es apropiado. Esto reducirá el número de fuentes activas que OBS tiene que controlar, lo que puede reducir el uso de la CPU.
Actualice su hardware
Algunas CPUs son tan débiles que son casi imposibles de conseguir que algo decente funcione. 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 enormemente.
Ejecuta todas las fuentes de audio a la misma frecuencia
Si tu audio de escritorio funciona a 44100 Hz pero tienes OBS configurado para codificar a 48000 Hz, tendrá que remuestrear el audio, lo que consume tiempo de la CPU. Cuantas más fuentes de audio añada (p. ej., micrófono, fuentes multimedia) que utilicen diferentes frecuencias de muestreo, más uso de la CPU consumirá el remuestreo. Ejecute todos sus dispositivos de audio y OBS a la misma frecuencia para evitar esto.
Otros programas/juegos también utilizan la CPU
Ciertos programas (particularmente los juegos) pueden utilizar 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 «Por encima de lo normal» para asegurar que OBS es priorizado por el sistema y se ejecuta sin problemas, aunque úselo con precaución.
Ejecute su registro a través del analizador de registros para obtener más consejos
Si hay otras cosas que podrían estar causando que OBS se ejecute lentamente, a menudo puede encontrarlas ejecutando su registro de OBS a través del analizador de registros de R1CH. Se le permitirá saber de cualquier otro problema de rendimiento que podría ser la desaceleración de las cosas, o cualquier otro problema que podría estar teniendo con su configuración. Usted puede hacer esto desde su menú de ayuda de OBS > Archivos de registro, o pegando su registro en la caja en el sitio del analizador.