Bastidores

Como a Gravação MultiCam Realmente Funciona no iPhone

Atualizado em 28 de julho de 2026 · 6 min de leitura

Gravar de duas câmeras do iPhone ao mesmo tempo parece que deveria ser simples — o celular já tem várias lentes na parte de trás. Na prática, rodar dois fluxos de câmera simultaneamente e transformá-los em dois arquivos de vídeo limpos e sincronizados envolve bastante coordenação. Veja o que realmente acontece.

Tudo começa com uma única sessão de câmera compartilhada

O framework de câmera da Apple, o AVFoundation, normalmente assume que um app usa uma câmera por vez. Desde o iOS 13, um tipo de sessão específico — AVCaptureMultiCamSession — permite que um app adicione mais de uma entrada de câmera a uma única sessão, para que as duas rodem simultaneamente em vez de uma bloquear a outra.

Cada câmera recebe seu próprio pipeline de saída

Depois que duas câmeras são conectadas à sessão, cada uma precisa da sua própria saída: seu próprio fluxo de dados de vídeo, decodificado quadro a quadro, na sua própria fila de processamento. Rodar as duas na mesma fila criaria um gargalo, então um app de multi-câmera bem construído processa os quadros da câmera grande angular e os quadros da câmera ultra grande angular em filas de despacho separadas, em paralelo.

Gravar significa escrever dois arquivos, quadro a quadro, em sincronia

Gravar vídeo não é apenas "salvar o que a câmera vê" — cada quadro precisa ser codificado e escrito em um arquivo assim que chega, em tempo real, rápido o suficiente para acompanhar o fluxo ao vivo. Com duas câmeras, isso significa rodar dois codificadores independentes e dois arquivos de saída independentes ao mesmo tempo, cada um alimentado pelos quadros da sua própria câmera.

A parte complicada é manter tudo sincronizado. Cada quadro carrega um timestamp preciso, e as sessões de gravação dos dois arquivos são iniciadas a partir de um horário de referência compartilhado, para que o quadro N no arquivo vertical e o quadro N no arquivo horizontal representem exatamente o mesmo instante. Se você pausa e retoma no meio da gravação, a duração da pausa precisa ser subtraída igualmente de todo timestamp subsequente nos dois arquivos — caso contrário, os dois vídeos perdem a sincronia assim que você retoma.

O modo de lente única faz o mesmo trabalho com uma câmera

Quando apenas uma câmera física é usada, o "segundo arquivo" é produzido cortando uma região de cada quadro da primeira câmera, em tempo real, antes de ser entregue ao seu próprio codificador separado. Isso precisa acontecer rápido o suficiente para acompanhar o vídeo ao vivo — normalmente de 24 a 60 vezes por segundo — então um corte eficiente (reaproveitando buffers de memória em vez de alocar novos a cada quadro) é importante para evitar que o celular superaqueça ou perca quadros durante uma gravação longa.

Fotos funcionam de forma diferente do vídeo

Capturar uma foto no modo de duas lentes geralmente significa disparar uma captura de foto de verdade em uma câmera (para resolução e qualidade completas), enquanto se pega o quadro de vídeo ao vivo mais recente da outra câmera para usar como sua imagem estática — já que disparar duas capturas de foto completas ao mesmo tempo não é como o hardware da câmera foi construído para funcionar. É por isso também que o "modo foto" de um app de duas câmeras toca um único som de obturador, mesmo com duas imagens saindo dele.

O DualFrame cuida dessa sincronização automaticamente — com duas lentes ou lente única, os dois arquivos permanecem sincronizados durante pausas, retomadas e paradas.

Conhecer o DualFrame

Por que isso só funciona em determinado hardware

Rodar dois codificadores ao mesmo tempo, em tempo real, em 4K, é genuinamente exigente — por isso a Apple limita a API MultiCam a aparelhos com capacidade de processamento de imagem dedicada suficiente. Veja nosso guia sobre quais iPhones suportam gravação multi-câmera para os detalhes, ou a página do DualFrame para iPhone para como isso é usado na prática.