6 de abr. de 2020

Atualizações do beta do Twitch Studio

Vamos descontinuar o suporte ao Twitch Studio após 30 de maio de 2024. Explore nossas ferramentas recomendadas aqui para encontrar um software de transmissão diferente que seja compatível com você.


O beta do Twitch Studio, nosso software de transmissão gratuito projetado para facilitar a introdução de novos streamers à Twitch, elimina o improviso da configuração e gerenciamento da sua transmissão.

Atualizamos recentemente o Twitch Studio com quatro recursos novos e interessantes: tela verde com um clique, captura de janela para o navegador Chrome, captura de jogos na Vulkan e suporte para várias fontes de áudio. Como esses recursos foram introduzidos nos bastidores? Leia para descobrir!

Tela verde com um clique (chroma key)

O chroma key, mais conhecido como “tela verde”, é um filtro usado para remover o plano de fundo de uma filmagem de webcam. Você provavelmente já o viu em ação no canais de alguns dos seus streamers favoritos. A tela verde é uma forma divertida com a qual streamers podem levar sua personalidade à transmissão, permitindo que eles alterem dinamicamente o plano de fundo e façam com que o conteúdo pareça ainda mais envolvente e refinado. No entanto, o processo de preparo de uma tela verde geralmente pode ser manual e demorado, exigindo muitos ajustes de configurações diferentes para que tudo fique certo. É por isso que criamos nosso recurso de detecção automática de tela verde, que permite que você defina automaticamente as configurações de chroma key e detecte sua tela verde com um único clique.

Então, como funciona uma tela verde? Ao usar um plano de fundo com uma única cor, o filtro é capaz de encontrar todos os pixels dessa cor específica e torná-los transparentes. Isso costuma ser feito com um pano ou tela verde especificamente preparada para essa função, mas pode funcionar com qualquer cor isolada que não apareça em primeiro plano. Embora o plano de fundo sólido possa aparecer com a mesma cor para um humano, o computador o vê de uma maneira muito diferente. Sombras e iluminação irregular fazem com que o computador veja esse fundo como toda uma gama de cores. Para se adaptar a isso, o filtro ignora a luminosidade ou brilho de cada pixel, e foca apenas na crominância ou cor.

Mas só ignorar a luminosidade nem sempre é suficiente. As diferenças de iluminação também alteram a crominância subjacente dos pixels. Para se adaptar a isso, o filtro também possui uma configuração de “similaridade” que controla o quanto a crominância de um pixel precisa estar próxima da cor de fundo desejada para ser realmente removida.

Isso tudo funciona bem o suficiente se você tiver uma iluminação razoavelmente uniforme no fundo e conseguir acertar as configurações, mas ajustar isso tudo pode ser um exercício realmente frustrante. Se o valor de similaridade for muito grande, as cores do primeiro plano vão ser associadas por engano; se o valor for pequeno demais, manchas pequenas do fundo vão continuar aparecendo. Descobrir as configurações corretas é um processo dificultado pelo fato de que existem dois parâmetros a serem ajustados para conseguir as configurações corretas—a cor desejada e o valor de similaridade—e é aí que entra a tela verde com um clique do Twitch Studio.

Nosso sistema de tela verde com um clique otimiza essas configurações para você com o apertar de um botão. Ele começa fazendo uma amostragem da imagem atual em locais que são, em sua maior parte, um plano de fundo em uma configuração típica de tela verde:

Em seguida, pegamos os valores de crominância desses pixels e os demarcamos no espaço de cores UV. Se detectarmos um aglomerado de pontos nessa demarcação, podemos localizar o centro do aglomerado e usá-lo como cor de destino, e então medir o raio do aglomerado para usar como o valor de similaridade:

E assim, podemos selecionar as configurações ideais sem fazer nenhum ajuste desnecessário!

Captura no Chrome

Tradicionalmente, a captura de janela em softwares de transmissão usa uma função da API do Windows chamada BitBlt para capturar uma imagem da janela desejada. Isso é eficiente e funciona bem na maioria dos casos, mas alguns aplicativos usam métodos de renderização mais modernos que causam falhas nesse método. Isso é notado com mais frequência quando alguém tenta fazer uma captura no Chrome ou outros aplicativos que usam o Chromium como base (como Discord, Slack, Spotify, VS Code e outros), e os aplicativos de transmissão podem ser propensos a erros e pouco confiáveis ao capturar janelas do Chrome. O resultado geralmente é uma tela preta sem qualquer mensagem de erro ou comunicação para permitir que os streamers saibam o que está acontecendo.

Algumas soluções improvisadas para esse problema incluem o uso de capturas de exibição cortadas ou alternar o aplicativo para o modo de renderização de software (quando possível). Infelizmente, nenhuma dessas soluções alternativas é muito conveniente. A captura de exibição cortada apresenta o risco de compartilhar algo na transmissão acidentalmente se a janela for movida, e alternar para o modo de renderização de software pode ter efeitos indesejados de desempenho no aplicativo, mesmo quando não estiver transmitindo.

Queríamos melhorar o padrão atual. A PrintWindow é outra API que pode ser usada para capturar o conteúdo de outras janelas, mas por padrão, geralmente também fornece uma saída em branco ou não confiável para essas janelas. No entanto, foi notado que a função aceita um sinalizador PW_RENDERFULLCONTENT não documentado que força uma repintura completa da janela desejada e resolve esse problema.

Esse novo método de captura não é uma solução definitiva, já que força a janela de destino a fazer um trabalho adicional para renderizar essa saída, mas com certeza é melhor do que a alternativa de não ter saída alguma. Para garantir que esse efeito indesejado no desempenho só ocorra quando necessário, habilitamos esse modo de captura por padrão apenas para aplicativos com problemas de captura já identificados com o método BitBlt tradicional, e permitimos que os usuários tenham a opção de usar o modo “Captura de compatibilidade” para qualquer outra coisa que possamos não ter notado. Isso faz com que a captura de janelas funcione em quase todos os casos, sem deixar de otimizar o desempenho.

Captura de jogos na Vulkan

Sabemos que o panorama dos jogos eletrônicos está em constante evolução, e uma das prioridades da equipe do Twitch Studio é acompanhar a tecnologia mais moderna e ajudar a garantir que criadores possam transmitir todos os jogos mais recentes. Para esse fim, o Twitch Studio agora oferece suporte para a captura de jogos que operam na API de gráficos Vulkan. Esse foi um projeto interessante, pois ao contrário de outras APIs de renderização, a Vulkan já oferece uma maneira de capturar jogos e renderizar sobreposições imediatamente. A captura de jogos normalmente é realizada injetando um código no jogo em execução, que se conecta às APIs de renderização para interceptar cada quadro da jogabilidade e fazer uma cópia. A Vulkan fornece um sistema de camada que permite que softwares de terceiros (como aplicativos de transmissão) registrem uma DLL especial que será carregada em todos os jogos Vulkan automaticamente. Isso agiliza o processo de captura de jogos, permitindo que possamos contornar grande parte da complexidade de técnicas atuais de injeção de código.

Múltiplas fontes de áudio

O Twitch Studio foi lançado na versão beta com um conjunto inicial de recursos destinados a otimizar a experiência de streamers iniciantes, e para isso, usou um modelo de áudio simplificado com um único microfone e uma captura de áudio para desktop. À medida que expandimos esse conjunto com base no feedback dos streamers, um dos recursos mais pedidos foi o suporte para canais/dispositivos de áudio adicionais, e lançamos recentemente uma grande refatoração para o sistema de áudio subjacente que faz exatamente isso.

Com essa revisão de áudio, queríamos garantir que a experiência de áudio padrão continuasse a mais direta possível enquanto adicionamos opções de configuração mais avançadas, de maneira que pudessem ser usadas da forma mais simples possível. Por trás das cenas, isso significou mudar completamente a maneira como gerenciamos os dispositivos de áudio. Em vez de simplesmente selecionar a saída padrão e adicionar microfones quando solicitado, agora temos a capacidade de monitorar todos os dispositivos de entrada e saída ao selecionar um novo dispositivo a ser adicionado. Além de simplificar o sistema de áudio, isso também cria a base para recursos de áudio mais interessantes que planejamos para o futuro, então fique de olho!

Aqui na Twitch, estamos comprometidos a facilitar as coisas cada vez mais para novos streamers que estão começando suas jornadas de transmissões. Este ano, estamos preparando ainda mais ferramentas para ajudar streamers a continuar aumentando o nível das suas transmissões, e mantendo a experiência simples e otimizada até onde for possível. Se você ainda não conhece o Twitch Studio, confira aqui.

Outras notícias
7 de abr. de 2020

Atualização da Política de nudez e vestuário

21 de abril de 2020 - atualização - Duas semanas atrás, implementamos...
Atualização da Política de nudez e vestuário Publicar
9 de jan. de 2020

Todos a bordo no Hype Train

Todos a bordo no Hype Train Publicar