Uma escada de bitrate adaptativo é o conjunto de versões de um vídeo entre as quais o player de streaming pode escolher. Cada degrau tem uma resolução e um bitrate; o player começa em um deles, observa a velocidade com que os segmentos são baixados e sobe ou desce conforme a conexão muda. Com a escada certa, quem assiste no trem e quem assiste numa TV 4K têm reprodução fluida a partir do mesmo envio. Com a escada errada, você desperdiça disco e banda com degraus que ninguém usa ou deixa quem tem conexão lenta olhando para um ícone de carregamento.
Este artigo explica como uma escada funciona e depois mostra a escada real que o conversor da UFOLOAD monta, com bitrates tirados do próprio conversor, e quanto espaço em disco cada degrau ocupa por hora de vídeo.
Como o player escolhe um degrau
A playlist master de um stream HLS lista todos os degraus com três atributos que importam: BANDWIDTH, RESOLUTION e CODECS. O player mede a velocidade de download nos últimos segmentos e escolhe o degrau mais alto cujo BANDWIDTH caiba com folga abaixo dessa velocidade. Vale conhecer dois detalhes.
Primeiro, BANDWIDTH é um valor de pico, não uma média. Se a playlist o subestima, o player escolhe um degrau que a conexão não aguenta e a reprodução trava; por isso nosso conversor grava o pico e nunca zero. Segundo, a troca acontece nas fronteiras dos segmentos. Nossos segmentos têm quatro segundos e o encoder coloca um keyframe no início de cada um, então o player pode pular entre as versões sem falhas. Um segmento mais curto reage mais rápido, mas gera mais requisições; quatro segundos é um meio-termo comum.
Se você quer colocar um stream desses na sua própria página, como incorporar um vídeo HLS mostra as opções com iframe e com hls.js.
A escada da UFOLOAD
O conversor tem quatro degraus: 2160p (4K), 1080p, 720p e 360p. Um degrau só é criado se o seu original tiver pelo menos essa altura, porque aumentar a escala não acrescenta detalhes e multiplica o tamanho e o tempo de codificação. Um original em 720p gera 720p e 360p; um original menor que 360p gera uma única versão no próprio tamanho, para que todo arquivo tenha pelo menos uma versão reproduzível. As larguras seguem a proporção do original e são arredondadas para um número par, porque o H.264 com croma 4:2:0 não codifica dimensões ímpares. As larguras abaixo consideram 16:9.
| Degrau | Quadro em 16:9 | Teto de vídeo | Meta de qualidade (CRF) | Áudio | Tamanho de pico por hora |
|---|---|---|---|---|---|
| 2160p | 3840x2160 | 16 Mbit/s | 20 | 192 kbit/s | 6,79 GiB |
| 1080p | 1920x1080 | 5 Mbit/s | 22 | 160 kbit/s | 2,16 GiB |
| 720p | 1280x720 | 2,8 Mbit/s | 23 | 128 kbit/s | 1,23 GiB |
| 360p | 640x360 | 0,8 Mbit/s | 26 | 64 kbit/s | 0,36 GiB |
O preset padrão é medium, e os bitrates dos degraus foram escolhidos para conteúdo H.264 comum. O degrau 1080p tem teto de 5 Mbit/s: é suficiente para uma imagem limpa, e acima disso o arquivo cresce sem ganho visível. O 4K tem quatro vezes os pixels do 1080p, então seu teto é de 16 Mbit/s, mais de três vezes maior, para evitar que blocos apareçam em cenas complexas.
O conversor não gera 480p nem 240p. Menos degraus significam menos disco e codificação mais curta, e entre 360p e 720p o player ainda tem um passo sensato para conexões móveis lentas. Quais degraus você realmente recebe também depende do plano: 360p e 720p são a base, e o degrau mais alto é limitado pelo teto do plano, informado na página de preços. No plano Free, o vídeo recebe uma única qualidade.
CRF e teto de bitrate: por que os tamanhos são limites máximos
O encoder não mira um bitrate fixo. Ele mira uma qualidade constante, expressa como CRF (constant rate factor): um número menor significa imagem melhor e arquivo maior. Um vídeo estático de alguém falando precisa de pouquíssimos dados para atingir a meta; uma cena de ação precisa de muitos. Para que nenhuma cena isolada sobrecarregue uma conexão lenta, cada degrau também tem um maxrate igual ao bitrate da tabela e um buffer com o dobro disso. O resultado é um stream que normalmente fica abaixo do teto e nunca passa dele por muito tempo.
É por isso que os tamanhos deste artigo são tamanhos de pico. Uma aula ou uma gravação de tela costuma ficar bem abaixo deles. Conteúdo com muita fala pode ocupar uma fração do teto; esporte com muito movimento ou imagens com ruído chegam perto dele. Ao dimensionar uma biblioteca, use o pico para um orçamento seguro e a sua própria média medida para um orçamento realista.
O perfil de qualidade no estúdio de codificação muda esse equilíbrio. O perfil rápido usa um preset do x264 mais veloz e deixa o vídeo pronto antes, com arquivos um pouco maiores; o perfil de qualidade usa um preset mais lento e um CRF menor para uma imagem mais limpa, e está disponível nos planos pagos. O padrão equilibrado fica entre os dois.
Quanto uma escada custa em espaço em disco
Uma hora de vídeo no pico de cada degrau ocupa 6,79 GiB em 2160p, 2,16 GiB em 1080p, 1,23 GiB em 720p e 0,36 GiB em 360p. Uma escada completa é a soma dos degraus que o seu original permite, e cada degrau é um arquivo separado no disco:
| Resolução do original | Degraus gerados | Tamanho de pico por hora de vídeo |
|---|---|---|
| 4K (2160p) | 2160p, 1080p, 720p, 360p | 10,54 GiB |
| Full HD (1080p) | 1080p, 720p, 360p | 3,75 GiB |
| HD (720p) | 720p, 360p | 1,59 GiB |
| Abaixo de 360p | Uma versão no tamanho do original | Depende do original |
Um exemplo concreto: 100 horas de material em Full HD geram no máximo cerca de 375 GiB de versões. Se você limitar o degrau mais alto a 720p, as mesmas cem horas precisam de no máximo cerca de 159 GiB, uma redução de mais da metade. O degrau mais alto domina a conta: remover o 4K de uma biblioteca de originais em 4K elimina aproximadamente dois terços do seu peso. Se uma hospedagem conta essas versões na sua cota de armazenamento é outra questão, discutida em quanto custa a hospedagem de vídeo; na UFOLOAD, a cota é calculada pelo tamanho dos arquivos que você envia.
Ajustando a escada no estúdio de codificação
Você não precisa aceitar o padrão. O estúdio de codificação no painel tem três configurações que mudam quantos degraus você armazena:
- Resolução máxima. Os vídeos nunca são codificados acima desse valor. Resoluções acima do teto do seu plano ficam bloqueadas.
- Qualidade mínima. Escolha 360p, 720p ou 1080p como degrau mais baixo. Subir esse valor remove os degraus pequenos, o que economiza disco e tempo de codificação, mas quem tem conexão fraca perde a alternativa; por isso mantenha 360p se o seu público inclui usuários de celular.
- Presets rápidos. Qualidade máxima, equilibrado, economizar armazenamento (até 720p e só as qualidades necessárias) e publicação instantânea para contas elegíveis.
As mudanças valem para novos envios. Para aplicá-las aos vídeos que já estão na sua biblioteca, use a ação de recodificar, que processa os vídeos mais recentes em lotes e tem um intervalo de espera entre execuções; os vídeos continuam reproduzíveis enquanto são recodificados.
Se você montar a sua própria escada
- Mantenha entre degraus vizinhos uma diferença de bitrate de cerca de 1,5 a 2 vezes. Passos menores aumentam o armazenamento sem benefício visível; passos maiores tornam o salto de qualidade evidente.
- Comece baixo o suficiente para os seus espectadores mais lentos realistas. Um degrau que ninguém consegue sustentar é desperdício; a falta de um degrau inferior é um ícone de carregamento.
- Alinhe os keyframes com a duração dos segmentos e informe o bitrate de pico na playlist.
- Não aumente a escala. Limite cada degrau à altura do original.
- Depois de um mês, meça quais degraus seus espectadores realmente usam e remova os que nunca são reproduzidos.
Para o pipeline completo, dos formatos de envio à entrega, veja a página de recursos; para limites e preços dos planos, veja preços. Se você ainda está comparando opções, o checklist de hospedagem de vídeo traz as perguntas sobre codificação e qualidade a fazer a qualquer provedor.
Envie um vídeo e receba um player HLS e uma chave de API em minutos. Os limites dos planos estão na página de preços.