Pular para o conteúdo
Kamo

Bastidores

Como funciona o zoom automático do Kamo

Dos cliques crus do mouse a uma câmera que desliza. As regras de agrupamento, o tempo e a física de mola por trás de cada zoom.

· 5 min de leitura · Por Doug Siqueira

Cada clique numa gravação do Kamo vira um zoom que parece feito por alguém operando uma câmera. Não tem IA nenhuma envolvida, só algumas regras simples e um pouco de física. Aqui está a receita inteira.

1. O que conta como clique

Enquanto você grava, o Kamo escreve num arquivo o movimento do mouse, os cliques e a rolagem, no mesmo relógio do vídeo. Quando o projeto é aberto pela primeira vez, o Kamo lê esses eventos e olha só para os cliques com o botão esquerdo dentro da área gravada.

  • Cliques com o botão direito e o do meio nunca dão zoom.
  • Rolagem e movimento simples nunca criam zoom.
  • Cliques fora da janela ou da área gravada são ignorados.

2. Agrupando cliques em cenas

Se cada clique ganhasse o seu próprio zoom, preencher um formulário chacoalharia a câmera como um celular na mão. Então o Kamo agrupa os cliques em cenas. Um clique entra na cena atual quando as duas condições são verdadeiras:

  • ele vem menos de 1,5 segundo depois de o clique anterior ser solto, e
  • ele cai a até um quarto da diagonal da tela do primeiro clique da cena (cerca de 550 px numa tela 1080p).

Medir a partir do primeiro clique, e não do último, faz diferença: senão, uma sequência de passinhos poderia arrastar a cena de um lado ao outro da tela.

3. O tempo

Cada cena começa 0,3 segundo antes do primeiro clique, para quem assiste já estar olhando para o lugar certo quando o clique acontece, e segura 1 segundo depois do último clique ser solto. Uma cena dura pelo menos 0,6 segundo. Quando duas cenas se sobrepõem, elas viram uma só.

Por padrão, a câmera dá zoom de 2×, mirando na posição média dos cliques da cena, e é empurrada para dentro nas bordas para nunca mostrar nada fora do vídeo. Dentro de um zoom, a câmera segue o cursor de leve, com um pouco de atraso.

4. A mola

Os zooms nunca usam easing linear. A câmera é uma mola amortecida (rigidez 170, amortecimento 26), o mesmo tipo de movimento que você sente numa boa animação de celular: começa rápido, desacelera suave e assenta sem balançar.

Dois detalhes fazem a diferença:

  • A mola é resolvida de forma exata, com uma fórmula fechada, em vez de ser simulada passo a passo. Qualquer taxa de quadros dá a mesma curva, então a prévia e a exportação a 60 fps batem.
  • A mola leva cerca de 0,6 segundo para chegar, então a câmera começa a se mover antes do clique e chega nele dentro de um quadro. Zooms seguidos vão direto de um alvo para o outro, sem afastar no meio.

5. O cursor anda na mesma mola

O Kamo grava a tela sem o cursor do Windows e desenha o seu próprio a partir do caminho do mouse. Ele usa a mesma mola em cada eixo. Como o caminho inteiro já é conhecido, o cursor pode olhar cerca de 150 ms à frente, e assim desliza sem ficar atrás da sua mão. Em cada clique, o erro que sobra é dissolvido para o cursor ficar exatamente no ponto do clique, no quadro do clique.

6. A última palavra é sempre sua

Cada zoom aparece como um bloco na linha do tempo. Arraste, estique, mude a escala, apague, ou dê dois cliques para adicionar o seu. Qualquer bloco que você mexer vira manual, e Regenerar zooms só substitui os automáticos.

Tudo é determinístico (mesma gravação, mesmos zooms) e rápido: os zooms de uma gravação de 10 minutos são gerados em menos de um segundo.

O código é aberto, se você quiser ler, e dá para testar o zoom no navegador agora mesmo.

Mais posts

Teste na sua próxima gravação.

Grátis, de código aberto e sem conta. Seu primeiro vídeo editado está a um download de distância.