Nota · webgpu
Dei à minha webcam uma equipe de iluminação
Uma chamada de vídeo num quarto escuro, um rosto cinza e uma pergunta: e se as lâmpadas fossem software? A história do Virtual Lighting, um app que ilumina o seu quarto de verdade, e das surpresas no caminho.
Você conhece a cena. Está num quarto escuro, o rosto vira um cinza chapado, e do outro lado todo mundo parece ter trazido uma equipe de iluminação.
Eu ficava pensando: e se as lâmpadas fossem software? E se eu pudesse arrastá-las em volta do meu rosto e do meu quarto, no meio da chamada?
Dessa ideia saiu o Virtual Lighting, um app para Windows mais uma extensão do Chrome que funciona no Google Meet e no Zoom web. Aqui vai como foi, inclusive as partes que não deram certo.

O estúdio falso não sobreviveu
A primeira versão me jogava num estúdio inventado. Parecia previsão do tempo. Então agora as luzes caem sobre o quarto de verdade: uma luz quente de um lado, uma fria do outro e uma sombra suave minha na parede de trás.

São até quatro luzes. Cada uma é um círculo num mapa pequeno, e a imagem muda enquanto você arrasta. Leve uma para trás de você e veja ela contornar seus ombros.

Ensinando a imagem a ficar quieta
Para iluminar o quarto de um jeito e a pessoa de outro, o app precisa saber exatamente onde você termina. O recorte em volta da minha cabeça tremia como um chroma key ruim. Aí troquei para um modelo que lembra dos quadros anteriores, e a borda se acalmou.
Esse modelo é open source e pede uma coisa em troca: o projeto também precisa ser open source. Ele roda na placa de vídeo, com uma tecnologia do navegador chamada WebGPU, e segura 30 quadros por segundo mesmo com a página ocupada.
O Meet não deixa estranho entrar
O Google Meet é uma fortaleza para qualquer código que rode dentro dele. Tem regras rígidas sobre o que pode começar, o que pode carregar e de onde. Boa parte da extensão é eu procurando a única porta estreita que está liberada. Numa das tentativas escolhi a porta errada, e o app desistiu em silêncio do caminho rápido durante a chamada inteira.
A luz chega atrasada, de propósito
O modelo de IA leva até 39 segundos para acordar na primeira vez. Esperar por ele significava começar a chamada sem câmera nenhuma. Agora a câmera abre na hora e a luz chega alguns segundos depois, como se alguém ligasse as lâmpadas. O preço é uns segundos de mim sem luz nenhuma.
Soltando a webcam
O Windows deixa só um app segurar a webcam. O meu não soltava, e o Meet recebia uma imagem preta. Agora o app solta com educação quando você troca para a chamada, e pega a câmera de volta quando você volta.
Follow me

Um botão chamado Follow me mantém você centralizado como um operador de câmera faria. Incline para trás, levante, saia para buscar uma caneca: o enquadramento desliza atrás de você e ignora movimentos mínimos, para não ficar tremendo.
Experimente, quebre
É open source no GitHub. Por enquanto funciona no Windows, mais Meet e Zoom no navegador. O próximo passo que eu quero é uma câmera virtual, para funcionar em qualquer app.
Se você pudesse arrastar uma luz para qualquer lugar do seu quarto no meio de uma chamada, onde colocaria a primeira?
Algo a acrescentar, ou uma parte de que você discorda? Me responda.
Responder por e-mail