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.

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.