Como funciona
O Vistacast não imita o protocolo de ninguém. As duas metades são nossas, o aplicativo que envia e o aplicativo que recebe, e é por isso que ele continua funcionando a cada versão do iOS em vez de quebrar com elas. Esta é a cadeia completa, de ponta a ponta.
Descoberta
O receptor se anuncia na sua rede local usando mDNS, o mesmo protocolo de configuração zero que a sua impressora usa para aparecer sem você digitar um endereço. Seu iPhone escuta esses anúncios e lista o que encontra. Nada é registrado em lugar nenhum, e nenhuma consulta sai da sua rede.
Captura
O iOS entrega sua tela ao aplicativo através do ReplayKit, a interface de gravação de tela do próprio sistema. É por isso que a confirmação que você vê ao começar vem do próprio iOS e não de nós: o sistema operacional controla a captura, não o aplicativo.
Codificação
Os quadros são comprimidos para H.264 pelo hardware de vídeo dedicado do iPhone, e não por software, que é o que evita que o telefone esquente e que a bateria descarregue mais rápido do que já descarrega com a tela ligada. O áudio é codificado separadamente como AAC.
Transporte
O fluxo comprimido viaja por uma conexão TCP direta do telefone para a TV, pela sua própria rede Wi-Fi. Não há servidor nenhum no caminho porque não existe servidor. A conexão é criptografada quando a sua TV consegue negociá-la, e recorre a uma conexão local sem criptografia nos chipsets que não conseguem.
Decodificação e sincronização
A TV decodifica os dois fluxos por hardware e os alinha contra um relógio compartilhado, então o áudio se mantém sincronizado com a imagem em vez de ir se separando ao longo de uma sessão longa.
Adaptação
Durante todo o processo, o receptor informa o quão bem está acompanhando. A qualidade e o bitrate diminuem quando a sua rede está com dificuldade e se recuperam quando ela melhora, com esperas deliberadas para que a imagem se estabilize em vez de oscilar.
Perguntas que isso costuma gerar
- Por que o Vistacast precisa de um aplicativo na TV?
- Porque a alternativa é pior. Os aplicativos que evitam instalar algo na TV fazem isso imitando um protocolo fechado que não controlam, o que significa que eles quebram sempre que o outro lado muda. Ter as duas metades significa que o protocolo é nosso, e uma atualização do iOS não encerra o produto silenciosamente.
- Alguma coisa passa pela internet?
- Não. Não há backend, nem conta, nem telemetria nos aplicativos publicados. Sua tela vai do telefone para a TV pela sua própria rede. Se a sua conexão com a internet caísse por completo, o espelhamento continuaria funcionando.
- A conexão é criptografada?
- É criptografada quando a sua TV consegue completar o handshake, e alguns chipsets não conseguem. Nesses, o aplicativo recorre a uma conexão sem criptografia dentro da sua rede local para que o espelhamento continue funcionando. O receptor também ainda não é autenticado, então em uma rede que você não controla outro dispositivo poderia, em princípio, se apresentar como receptor. Em uma rede doméstica isso não é uma preocupação prática, mas preferimos dizer isso a dar a entender mais do que é verdade.
- Com que resolução ele envia?
- O Vistacast ajusta a imagem à TV em vez de enviar sua tela com todas as dimensões de pixels dela. O resultado é dimensionado para uma visualização confortável em um Wi-Fi doméstico comum, não para uma ficha técnica.
- Por que ele não consegue espelhar a Netflix?
- O vídeo protegido contra cópia é bloqueado pelo iOS no nível do sistema operacional, abaixo de onde qualquer aplicativo de terceiros opera. Todos os aplicativos de espelhamento de tela no iOS têm esse limite, e qualquer um que afirme o contrário não está descrevendo conteúdo protegido.
Veja na sua própria TV
Dez minutos por dia, grátis, sem conta e sem nada para cancelar.