Ir para o conteúdo

Clipes e VODs do Kick: o que o link diz ao baixador

O Kick responde a três perguntas diferentes conforme o link que você cola: um clipe, uma transmissão passada ou um canal que por acaso está ao vivo agora. O baixador lê a URL primeiro e escolhe a certa.

A própria estrutura de endereços do Kick é o mapa mais claro do que você tem em mãos. Um clipe é um momento curto e editado. Um VOD é uma transmissão passada completa. Uma página de canal não é nem uma coisa nem outra e, se o streamer estiver ao vivo naquele momento, não há nada para baixar — uma transmissão ao vivo não tem fim, então não existe arquivo.

Os três links, e no que cada um se torna

Formato do linkO que o resolvedor faz
kick.com/<channel>/clips/clip_…Lê a API de clipes e devolve a qualidade original do clipe.
kick.com/<channel>/videos/<id> e /video/<id>Lê a API de vídeos e lista todas as versões que a playlist master do VOD carrega.
kick.com/<channel>Lista os VODs recentes do canal; um canal ao vivo responde live em vez disso.
Um id de clipe soltoPede o canal primeiro (need_channel), porque a API de clipes do Kick precisa dos dois.

Um id de clipe tem um formato fixo — clip_ seguido de um código no estilo ULID —, então o resolvedor consegue reconhecê-lo sem nenhuma chamada de rede. Um id solto não basta por si só; a API do Kick quer o canal no caminho, e é por isso que um id colado sozinho volta pedindo mais.

De onde vêm as qualidades

Para um VOD, o Kick publica uma playlist master HLS: um arquivo pequeno que lista todas as versões, cada uma com sua própria resolução, largura de banda e taxa de quadros. O resolvedor lê essa master e nada mais — não baixa fragmentos e não pede ao Kick um arquivo unificado, porque o Kick não oferece um.

Os clipes são mais simples: normalmente carregam um único arquivo na qualidade em que o clipe foi cortado, e é por isso que o download de um clipe raramente pede que você escolha algo.

Por que transmissões ao vivo são recusadas

Uma transmissão ao vivo é uma janela móvel, não um arquivo. O Kick informa que um canal está ao vivo em três lugares diferentes — o objeto de VOD, a lista de vídeos do canal e a própria página do canal — e o resolvedor transforma os três na mesma resposta: live. Tente um clipe ou um VOD.

Dois outros estados parecem erros, mas não são: processing significa que a transmissão terminou há alguns minutos e o Kick ainda não acabou de cortar o VOD, e no_source significa que o VOD foi removido ou expirou. Ambos são um estado do Kick, não uma falha do download.

Nada é armazenado

As CDNs do Kick enviam access-control-allow-origin: *, então o navegador consegue ler o arquivo diretamente. O download roda na página, direto da borda do Kick para o seu disco; o resolvedor só lidou com metadados. Nada é recodificado, marcado com marca d'água ou guardado.

Uma observação prática: VODs longos são melhor salvos em um navegador de desktop, onde o arquivo é transmitido direto para o disco. No celular, uma transmissão de várias horas fica na memória enquanto baixa, e o navegador pode desistir antes de o arquivo terminar.

A versão curta

Perguntas

Posso baixar uma transmissão ao vivo do Kick enquanto ela está rodando?

Não. Uma transmissão ao vivo não tem fim nem arquivo; o Kick a informa como ao vivo e o resolvedor a recusa. Quando a transmissão termina e o Kick acaba de processá-la, o link do VOD funciona.

Por que os VODs listam várias qualidades, mas os clipes só uma?

Um VOD traz uma playlist master HLS com todas as versões que o Kick codificou, então o resolvedor consegue listar cada uma. Um clipe é cortado de um único arquivo, então normalmente só há essa qualidade para oferecer.

O que significa a qualidade `source`?

É a própria playlist master, oferecida quando as versões individuais não puderam ser analisadas. É o mesmo vídeo, apenas sem a divisão por resolução.

Ferramentas deste artigo

Todos os artigos