6 abr. 2020

Actualizaciones de la beta de Twitch Studio

La beta de Twitch Studio, nuestro software de streaming diseñado para facilitar el comienzo de los streamers que se inician en Twitch, es una herramienta intuitiva para configurar y administrar tu stream. 

Hace poco actualizamos Twitch Studio con cuatro emocionantes funciones: configuración de pantalla verde con un clic, captura de ventana de Chrome, captura de juegos Vulkan y compatibilidad con múltiples fuentes de audio. ¿Por qué añadimos estas funciones a Twitch Studio? ¡Sigue leyendo para averiguarlo!

Pantalla verde con un clic (chroma key)

El chroma key, normalmente conocido como pantalla verde, es un filtro que se usa para eliminar el fondo de una cámara web. Es probable que ya lo hayas visto en acción en algunos de los canales de tus streamers favoritos. Las pantallas verdes son una forma divertida para que los streamers añadan su toque personal al stream, lo que les permite modificar dinámicamente el fondo del stream y hacer que su contenido parezca aún más pulido y atractivo. Sin embargo, el proceso de configurar una pantalla verde puede llegar a ser laborioso y requerir demasiados ajustes de distintas configuraciones para que todo quede perfecto. Por esta razón, desarrollamos la función de detección automática de pantalla verde que te permite ajustar automáticamente la configuración del chroma key y detectar tu pantalla verde con un solo clic.

Entonces, ¿cómo funciona una pantalla verde? Al usar un fondo de un color sólido, el filtro es capaz de encontrar todos los píxeles de este color específico y hacerlos transparentes. Con frecuencia, esto se hace con una sábana o pantalla verde diseñada para este propósito, pero puede funcionar con cualquier color sólido que no aparezca en primer plano. Aunque el fondo sólido parezca uniforme a simple vista, la computadora lo ve de forma diferente. Si las sombras y la iluminación son inconsistentes, la computadora registra el fondo como una variedad de colores. Para evitar esto, el filtro ignora la iluminación o el brillo de cada píxel y solo toma en cuenta la crominancia o el color.

Aunque no siempre es suficiente con ignorar la iluminación. Las diferencias en la iluminación también pueden alterar la crominancia subyacente de los píxeles. Para compensar esto, el filtro cuenta con un ajuste de “similitud” que controla cuánto debe aproximarse la crominancia de un píxel al color de fondo objetivo para ser eliminado.

Todo esto funciona bastante bien si tienes una iluminación de fondo lo suficientemente uniforme y logras configurar los ajustes, pero conseguirlo puede llegar a ser una tarea muy frustrante. Si el valor de la similitud es demasiado alto, los colores del primer plano se detectarán por error y, si el valor es demasiado bajo, se mostrarán pequeños parches del color de fondo. No es fácil conseguir la configuración correcta debido a que no solo hay que ajustar un parámetro, sino dos: el color objetivo y el valor de similitud, y ahí es donde entra en juego la función de pantalla verde con un clic de Twitch Studio.

El sistema de pantalla verde con un clic optimiza esta configuración con solo presionar un botón. Comienza con una muestra de la imagen actual en las zonas que suelen formar parte del fondo en una configuración de pantalla verde típica:

Luego, toma los valores de crominancia de estos píxeles y los marca en un espacio de color UV. Si detectamos un cúmulo de puntos, podemos localizar el centro del cúmulo y utilizarlo como el color objetivo y medir el radio del cúmulo para utilizarlo como el valor de similitud:

¡De esta forma podemos seleccionar la configuración óptima sin tener que modificar los ajustes!

Captura de Chrome

La captura de ventana en un software de streaming normalmente utiliza la función API de Windows llamada BitBlt para capturar una imagen de la ventana objetivo. Esto es eficaz y funciona bien en la mayoría de los casos, pero algunas aplicaciones usan métodos de renderizado más modernos que hacen que este método falle. Esto se nota al intentar hacer una captura de Chrome u otras aplicaciones basadas en chromium (como Discord, Slack, Spotify, VS Code y más), y las aplicaciones de streaming pueden ser poco fiables y fallar al capturar ventanas de Chrome. Se obtiene como resultado una pantalla negra sin ningún tipo de mensaje de error que informe a los streamers cuál es el problema. 

Algunas soluciones incluyen utilizar un recorte de captura de pantalla o cambiar la aplicación a modo de renderizado de software (si está disponible). Desafortunadamente, ninguna de esas soluciones es particularmente conveniente. El recorte de captura de pantalla presenta el riesgo de compartir algo por accidente en el stream si la ventana se mueve, y cambiar al modo de renderizado de software puede perjudicar el rendimiento de la aplicación incluso cuando no se está emitiendo.

Quisimos mejorar la situación actual. PrintWindow es otra API que se puede usar para capturar contenido de otras ventanas, pero, por defecto, también suele devolver resultados en blanco o poco fiables para estas ventanas. Sin embargo, la función acepta un aviso de PW_RENDERFULLCONTENT sin documentar que fuerza un repintado completo de la ventana objetivo y soluciona este problema.

Este nuevo método de captura no es una solución infalible, ya que fuerza a la ventana objetivo a realizar un trabajo adicional al renderizar este resultado, aunque es mejor que la alternativa de no obtener ningún resultado. Para no abusar de esta solución, solo activamos este modo de captura por defecto en las aplicaciones que sabemos que tienen este problema de captura con el método BitBlt tradicional, y permitimos que los usuarios puedan activar el modo “Compatibilidad de captura” donde sea necesario. Esto hace que la captura de ventana funcione en la mayoría de los casos sin sacrificar el rendimiento.

Captura de juegos Vulkan

Sabemos que el panorama de los videojuegos siempre está evolucionando, por lo que mantenerse al día con la tecnología y ayudar a garantizar que los creadores puedan emitir los juegos más recientes es una prioridad para el equipo de Twitch Studio. Por eso, la captura de juegos de Twitch Studio ahora es compatible con los juegos basados en la API de gráficos Vulkan. Este fue un proyecto interesante, ya que, a diferencia de otras API de renderizado, Vulkan proporciona una forma inmediata de capturar juegos y renderizar overlays. Generalmente, la captura de juegos se logra al inyectar un código en el juego que se está ejecutando, que luego se conecta con las API de renderizado para interceptar cada fotograma del juego y así realizar una copia. Vulkan proporciona un sistema de capas que permite que los softwares de terceros (como las aplicaciones de streaming) registren un DLL especial que se cargará en todos los juegos Vulkan de forma automática. Esto mejora el proceso de captura de juegos y nos permite evitar gran parte de la complejidad de las técnicas de inyección de código actuales.

Fuentes de audio múltiples

Lanzamos la beta de Twitch Studio con un conjunto de funciones inicial con el fin de mejorar la experiencia para los nuevos streamers y, por esa razón, usamos un modelo de audio simplificado con un micrófono y una captura de audio únicos. A medida que ampliamos el conjunto de funciones según los comentarios de los streamers, una de las funciones más solicitadas ha sido la compatibilidad con dispositivos o canales de audio adicionales y, recientemente, lanzamos una gran refactorización al sistema de audio subyacente para proporcionarla.

Con este ajuste de audio, quisimos asegurarnos de que la experiencia de sonido predeterminada se mantuviera tan clara como fuera posible al añadir opciones de configuración más avanzadas de modo que fueran igual de fáciles de usar. Esto significa cambiar por completo la manera en la que administramos los dispositivos de audio. En lugar de simplemente seleccionar la salida predeterminada y añadir micrófonos, ahora tenemos la capacidad de monitorear todos los dispositivos de entrada y salida a la hora de seleccionar un dispositivo nuevo que añadir. Además de simplificar el sistema de audio, esto también proporciona una base para incorporar más funciones de audio emocionantes que tenemos planeadas para el futuro, ¡así que mantente alerta!

En Twitch, estamos comprometidos a hacer que sea más fácil que nunca para los nuevos streamers comenzar a emitir. A lo largo del año, continuaremos desarrollando herramientas para ayudar a los streamers a seguir subiendo de nivel sus streams sin perder de vista la simplicidad del proceso. Si todavía no le has echado un vistazo a Twitch Studio, pruébalo aquí.

En otras noticias
7 abr. 2020

Política de desnudez y atuendo

Actualización del 21 de abril de 2020 - Hace dos semanas, implementamos...
Política de desnudez y atuendo Publicar
9 ene. 2020

Todos a bordo del Tren del Hype

Todos a bordo del Tren del Hype Publicar