Skip to content

Ciclo de vida da sessão

Uma sessão é um espectador reproduzindo um canal. Assim que um espectador é autorizado e começa a puxar o stream, uma sessão abre no streamer; quando ele para, ela fecha e passa ao histórico. A tela Sessões mostra as duas metades dessa vida — quem reproduz agora e quem reproduziu há pouco. A mesma tabela vive na aba Sessões da página de um canal, filtrada para esse único canal.

Cada sessão está aqui seja qual for a forma como o seu espectador foi autorizado — um ticket do Catena, o seu próprio backend ou um token compartilhado. A autorização decide se um espectador entra; a sessão é o que existe enquanto ele assiste.

Sessões abertas

Uma sessão aberta é um espectador reproduzindo agora mesmo. A tabela se atualiza a cada par de segundos:

Coluna O que mostra
Stream Qual canal a sessão reproduz
IP O endereço do espectador
Protocolo Com o que puxa: hls, dash, mpegts…; o selo DVR — a sessão assiste ao arquivo, não ao ar ao vivo
Reprodutor O user agent do cliente
Usuário O id de usuário, se o reprodutor o passou; o chip shared — clientes diferentes reproduzem sob um usuário ao mesmo tempo
Bytes Servidos à sessão; o contador se atualiza no ritmo dos checkpoints do streamer — segundos em uma instalação pequena, dezenas de segundos sob carga
Aberta, Duração Quando começou e quanto dura
Streamer Qual streamer serve o espectador

Os filtros acima da tabela — IP, Usuário, Protocolo, Origem (Live e DVR / Live / DVR) — se aplicam à tabela de abertas e ao histórico; Redefinir limpa todos.

Sessões abertas: espectadores em dois canais

Fechar uma sessão à mão

O botão Fechar em uma linha derruba a sessão no streamer — com uma confirmação: o reprodutor terá de abrir uma nova. É uma ferramenta de diagnóstico e limpeza, não um bloqueio: um reprodutor ao vivo costuma reconectar em segundos. Manter um espectador fora é tarefa da autorização de reprodução, não desta tela.

Quando uma sessão fecha

Uma sessão deixa a tabela de abertas e aterrissa no Histórico de reprodução — sessões fechadas no último dia, com Fechada e Motivo do fechamento adicionados às colunas — por qualquer um destes motivos:

  • O espectador parou. O reprodutor fechou, ou simplesmente ficou em silêncio: após um breve tempo ocioso sem mais segmentos, o streamer fecha a sessão por conta própria.
  • Você a fechou pela tela acima.
  • O ticket foi revogado, ou atingiu o seu limite de telas — o streamer solta o espectador em segundos (ver Tickets do Catena).
  • O ticket expirou — um ticket carrega um fim fixo, e uma sessão não pode sobreviver a ele.

O histórico não se atualiza sozinho — releia-o com o botão Atualizar.

Um tropeço do cluster não interrompe um espectador

A admissão acontece no streamer, não no meio da reprodução. Com um ticket do Catena o streamer verifica o ticket ele mesmo — assinatura, validade, escopo e a sua lista de revogação local — sem uma chamada pela rede para admitir um espectador. Então, se um streamer perde brevemente o contato com o resto do cluster:

  • Os espectadores que já assistem continuam assistindo. As suas sessões vivem no streamer que os serve; nada do central está no caminho de reprodução.
  • Novos espectadores continuam entrando. Um ticket válido é admitido offline, sem ida e volta a ninguém.
  • As revogações se atualizam ao reconectar. O streamer reconstrói a sua lista de revogação a partir do cluster no momento em que o contato volta — antes de admitir o próximo espectador — então um ticket cancelado durante a interrupção é recusado assim que o enlace volta.

A única coisa que de fato se apaga é a informação, não a reprodução; ver abaixo.

Quando faltam sessões na tela

Se o central não consegue alcançar o management API de algum streamer, um aviso aparece acima das tabelas: as sessões desses streamers estão ausentes da saída — da lista de abertas e do histórico recente por igual. Os canais continuam funcionando e os espectadores continuam assistindo: apaga-se a informação, não a entrega.

O conserto vive na alcançabilidade do streamer: no registro uma máquina assim leva um chip de alcance, e ele leva à causa.