Ciclo de vida da sessão¶
Uma sessão é um espectador reproduzindo um stream. 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 Distribuição da página de um stream, filtrada para esse único stream.
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 stream a sessão reproduz; em uma sessão VOD, a chave do asset com link para seu cartão |
| 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 SRT¶
Uma sessão que puxa o stream por SRT traz um chip de Qualidade na linha. O chip mostra o veredicto de saúde SRT atual: ok, degraded ou bad, além do RTT atual e da taxa de perda. A cor muda à medida que o caminho se recupera ou piora.

Clicar no chip de qualidade abre o painel de detalhes. Ele lista os valores acumulados de pacotes — enviados, perdidos, retransmitidos, NAKs recebidos, RTT e buffer de envio — e desenha gráficos por minuto de RTT, perdas, recuperação e bitrate.

Os gráficos levam a história contínua do cliente, e não só a da sessão aberta: num eixo de tempo comum estão todas as sessões do mesmo usuário dentro da janela do armazém. Cada sessão é a sua própria linha, nomeada pelo endereço do dispositivo; uma junção entre linhas é uma reconexão, um vão — uma pausa entre sessões. Os dispositivos de um mesmo cliente não se misturam: as linhas correm lado a lado e distinguem-se pelos nomes.
Sobre os gráficos está o seletor de horizonte: toda a história disponível, 1 hora, 15 minutos, 5 minutos. Ele estreita a janela para a sua cauda sem mudar o corte: a história continua por cliente. O zoom dentro da janela faz-se com a roda ou um beliscão, de forma síncrona em todos os gráficos.
Junto a eles está o gráfico de conexões por endereços: intervalos de «o endereço esteve conectado» no eixo do tempo, e um clique num intervalo abre a sessão. Quando a história da janela não cabe numa única descarga, o gráfico avisa isso e constrói-se com as últimas sessões da janela, não com toda a sua profundidade.
O veredicto de saúde fica no cabeçalho do painel do registo ativo. Um registo encerrado não guarda veredicto: como terminou a sua vida lê-se nos gráficos.
O mesmo detalhe está disponível para sessões SRT fechadas no histórico de reprodução, congelado na janela de vida de cada sessão.
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 streams 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.