Ir para o conteúdo

Trailers da Steam são HLS: o MP4 é montado no seu navegador

Um trailer da Steam não é um arquivo que você possa pegar — é uma playlist de fragmentos. O baixador lê as qualidades da playlist, e seu navegador as monta num único MP4.

A Steam costumava publicar trailers como arquivos MP4 e WebM simples, e esses campos ainda existem na API da loja. Agora eles estão sempre vazios. O que a Steam publica em vez disso é uma playlist master HLS: um arquivo de texto pequeno que descreve as versões do trailer e aponta para fragmentos de poucos segundos cada.

Primeiro a playlist, depois os fragmentos

O trabalho do resolvedor termina cedo aqui. Ele lê os metadados da página da loja, pega a URL da playlist master do trailer, analisa-a e devolve uma linha por versão com sua resolução, taxa de bits e taxa de quadros. Ele nunca busca fragmentos de vídeo e nunca monta nada — isso significaria fazer o vídeo inteiro passar por um servidor sem motivo.

O que o resolvedor lêO que o navegador faz depois
Playlist master: versões, resoluções, taxas de bits, grupo de áudioEscolhe a versão que você selecionou
O template de segmentos dentro da playlistBusca os fragmentos dessa versão na CDN da Steam e os junta
O grupo de áudio que a master nomeiaUne o vídeo e a faixa de áudio AAC num único MP4

A montagem acontece na aba que já está aberta, a partir da própria CDN da Steam (video.akamai.steamstatic.com). Um trailer de dois minutos tem cerca de noventa fragmentos, então a barra de progresso enche em poucos segundos numa conexão normal.

Ler a lista de qualidades

Os fragmentos são copiados byte a byte para o MP4 finalizado. A imagem e o som são exatamente o que o próprio cliente da Steam reproduz naquela resolução — a junção é uma troca de contêiner, não uma recodificação, então nada é suavizado no caminho.

O que pode dar errado

Duas coisas, ambas sobre a rede e não sobre o vídeo. Se os metadados da loja da Steam não responderem, o resolvedor tenta mais uma vez antes de relatar uma falha. Se a própria playlist não puder ser analisada, vale a mesma nova tentativa — e, se ainda assim falhar, a página avisa, em vez de oferecer um download que não terminaria.

Uma página de jogo sem vídeos retorna no_video. Isso inclui páginas em que a única mídia é uma galeria de capturas de tela, algo comum em títulos ainda não lançados.

A versão curta

Perguntas

O trailer baixado tem qualidade menor que o que a Steam reproduz?

Não. Os fragmentos são copiados para o MP4 byte a byte, então a imagem e o áudio correspondem à versão que você escolheu — o mesmo fluxo que o próprio cliente da Steam reproduz naquela resolução.

Por que um download da Steam mostra barra de progresso e o do Pinterest não?

Porque a CDN da Steam permite que o navegador leia os fragmentos, então a página está de fato baixando o arquivo e consegue informar o progresso. A CDN do Pinterest não permite, então aquele download precisa ser uma navegação simples.

Uma página de jogo não mostra vídeos — por quê?

Essa página não tem trailers nem clipes de gameplay anexados. Galerias de capturas de tela não são vídeo, e jogos não lançados muitas vezes não têm nenhum dos dois até perto do lançamento.

Ferramentas deste artigo

Todos os artigos