Glossário

Streaming e IPTV

A televisão ao vivo pela internet emprestou o vocabulário de três lugares diferentes — a radiodifusão, a web, e um software de painel específico que virou padrão por acidente. Estas são as palavras que aparecem.

HLS

HTTP Live Streaming

O protocolo de streaming da Apple, e o que quase tudo usa. O vídeo é cortado em segmentos curtos listados numa playlist de texto, e o player busca cada um em ordem por HTTP comum.

O HLS venceu porque não precisa de servidor especial: os segmentos são arquivos, a playlist é um arquivo, e qualquer servidor web entrega os dois. Ele tem suporte nativo em tudo nas plataformas da Apple e em quase todo lugar mais.

O desenho dele tem uma consequência que as pessoas encontram constantemente — não existe um arquivo de vídeo único para salvar. O que você está assistindo existe só como mil pedaços e um conjunto de instruções para buscá-los.

Veja também: ManifestoSegmentoTaxa de bits adaptativa

Manifesto

playlist, .m3u8

O arquivo de texto que lista de que um stream é feito. Um manifesto mestre lista os níveis de qualidade disponíveis; cada um deles aponta para um manifesto de mídia que lista os segmentos de verdade.

Abra um e são algumas dezenas de linhas: um cabeçalho, alguns parâmetros e endereços. Tudo o que você assiste está em outro lugar. Numa transmissão ao vivo, o player busca esse arquivo de novo a cada poucos segundos, porque ele cresce enquanto a transmissão continua.

Endereços de manifesto normalmente são assinados e têm prazo, e é por isso que um link que funcionava hoje de manhã frequentemente não aponta para nada à tarde.

Veja também: HLSSegmento

Segmento

chunk, pedaço

Um pedaço curto de um stream, tipicamente de dois a dez segundos, entregue como arquivo próprio. Uma hora de vídeo são centenas a milhares deles.

A segmentação é o que torna possível trocar de qualidade no meio da reprodução: o player simplesmente pede o próximo pedaço de outro nível de qualidade, e a mudança acontece numa fronteira em vez de ser uma interrupção.

É também o que faz baixar um stream ser uma reconstrução em vez de uma cópia. Cada segmento tem que ser buscado e depois escrito dentro de um único contêiner com um índice adequado — o passo que dá ao resultado uma barra de progresso que funciona.

Veja também: HLSRemux

Taxa de bits adaptativa

ABR

Oferecer o mesmo conteúdo em vários níveis de qualidade e deixar o player se mover entre eles conforme a conexão muda. É por isso que os streams perdem nitidez em vez de parar.

O player mede a que velocidade os segmentos estão chegando e escolhe a qualidade mais alta que acredita conseguir sustentar. Quando a conexão aperta, ele desce um degrau, normalmente antes de o buffer secar.

Essa é a maior diferença entre assistir a um stream e baixar um arquivo. Um download quer a melhor versão e vai esperar; um stream prefere ficar mais borrado do que pausar.

Veja também: HLSBufferTaxa de bits

Buffer

Um player segurando alguns segundos de vídeo à frente do que você está assistindo, para que um engasgo curto da rede não se torne uma pausa. Quando você vê a palavra, o buffer acabou.

Um buffer maior atravessa mais instabilidade ao custo de demorar mais para começar e reagir mais devagar a uma troca de canal. Transmissões ao vivo o mantêm pequeno de propósito, e é por isso que são mais frágeis do que vídeo sob demanda.

Quando um canal de IPTV engasga, a causa quase sempre está em algum ponto entre o provedor e você — o servidor deles, a rota, a sua conexão. O mesmo app no mesmo aparelho reproduz um arquivo local da mesma taxa de bits sem uma falha, e essa é a forma mais rápida de distinguir os dois casos.

Veja também: Taxa de bits adaptativaIPTV

IPTV

Televisão entregue pela internet em vez de pelo ar, por cabo ou por satélite. Como palavra, descreve um método de entrega e não diz nada sobre quem tem direito de entregar o quê.

O que uma assinatura realmente é, na prática, é uma lista — uma playlist M3U, ou uma conta num painel — que dá nome aos canais e um endereço para cada um. O player transforma isso num guia de canais; ele não hospeda nem fornece nada.

O que é a parte importante tanto juridicamente quanto tecnicamente. Um app que reproduz IPTV não entrega canal nenhum, e se um determinado provedor tem o direito de carregar o que carrega é uma pergunta sobre esse provedor.

Veja também: Playlist M3UXtream CodesEPG

Playlist M3U

Uma lista em texto puro de nomes de canais e endereços de stream, e a forma mais comum de uma assinatura de IPTV ser entregue. Ela não contém vídeo nenhum.

Cada entrada é uma linha nomeando o canal — com logo, grupo e um identificador anexados por convenção — e uma linha dando o endereço dele. Nenhuma dessas convenções foi padronizada, então cada provedor escreve de um jeito um pouco diferente.

As listas de provedor cresceram muito além do que o formato previa: centenas de milhares de canais e centenas de megabytes de texto são coisa comum hoje, e um app que lê uma dessas para a memória antes de interpretá-la vai ser encerrado pelo iOS muito antes de terminar.

Veja também: IPTVXtream Codes

Xtream Codes

Um software de painel cuja API se tornou um padrão de fato. Em vez de um arquivo de playlist, você recebe um endereço de servidor, um usuário e uma senha, e o app pede ao painel os canais, filmes, séries e o guia.

A empresa por trás dele foi fechada em 2019; a API sobreviveu, porque milhares de provedores já tinham construído sobre ela e os clientes deles esperavam por ela. Software descrito como “compatível com Xtream” está implementando essa interface, não usando o produto daquela empresa.

Ele difere de uma playlist simples de dois jeitos úteis: o catálogo chega como dado estruturado em vez de uma lista plana, e o painel impõe um limite de conexões — e é por isso que um download e um canal ao vivo ao mesmo tempo podem derrubar um ao outro.

Veja também: IPTVPlaylist M3UEPG

EPG

guia eletrônico de programação

A programação: o que está passando em cada canal agora, o que vem depois e o que passou antes. Entregue separadamente dos canais em si, normalmente como um arquivo XMLTV.

O guia é casado com os canais por um identificador que o provedor coloca em cada um. Quando esses identificadores estão faltando ou inconsistentes — o que é comum — os canais não mostram informação de programação, mesmo que os dados do guia estejam presentes e corretos.

Um guia completo de um provedor grande é, por si só, um download considerável, cobrindo dias de programação para milhares de canais.

Veja também: IPTVCatch-upXtream Codes

Catch-up

timeshift, arquivo

Assistir a algo que já foi transmitido, pedindo ao servidor do provedor um horário passado de um canal. Só existe onde o provedor grava; nada fica guardado no seu aparelho.

Onde é oferecido, um app pode transformar um programa passado do guia num pedido por aquela janela daquele canal. Acervos típicos cobrem alguns dias.

É inteiramente uma capacidade do provedor. Um app não consegue acrescentar catch-up a um canal que não tem, e uma entrada no guia da semana passada não é prova de que a gravação existe.

Veja também: EPGIPTV

DRM

gestão de direitos digitais

Criptografia que só um software de reprodução licenciado consegue desfazer, usando chaves buscadas num servidor de licenças. FairPlay nas plataformas da Apple, Widevine no Android e na maioria dos navegadores da web.

Um stream protegido por DRM é criptografado de ponta a ponta, e a chave só é liberada para software que provou que vai obedecer às regras anexadas a ela — sem salvar, sem capturar, às vezes sem tela externa.

Isso não é uma dificuldade para ser contornada; é o mecanismo funcionando. Qualquer ferramenta que diga baixar um stream protegido por DRM está mentindo ou sobre o que ela faz, ou sobre o que o stream é.

Veja também: HLSIPTV

Os outros assuntos