Pular para o conteúdo
Produtos

Integração com o Middleware Ministra (Stalker)

A Ministra TV Platform (anteriormente Stalker Middleware) gerencia assinantes, set-top boxes e a lista de canais. O Alta entrega os canais e o arquivo de TV. A Ministra se comunica com o Alta da mesma forma que com o Flussonic: ela adiciona um token temporário a cada link de canal, e o Alta verifica o token com a Ministra antes de iniciar a reprodução.

Este artigo mostra, passo a passo, como conectar o Alta à Ministra: Canais ao vivo com links temporários, arquivo de TV (catch-up) e timeshift.

Interação entre o Alta e a Ministra

  1. Um assinante abre um canal no set-top box.
  2. A Ministra cria um token temporário e retorna o link do canal com esse token: http://alta.example.com:8102/demo/index.m3u8?token=41771f02a48d1fef09eebe9f0efdaeb8
  3. O box solicita a playlist ao Alta.
  4. O Alta envia o token à Ministra: http://stalker.example.com/stalker_portal/server/api/chk_flussonic_tmp_link.php?token=...
  5. A Ministra responde 200 OK se o token for válido, ou 403 Forbidden caso contrário.
  6. O Alta retorna a playlist e o stream ao box, ou 403 Forbidden.

O token é verificado uma vez, quando a playlist é solicitada. Depois disso, o box reproduz o stream dentro da sua sessão no Alta. Por padrão, um token ao vivo dura 5 segundos: o box recebe um novo token toda vez que abre um canal. Os tokens do arquivo de TV duram 8 horas.

Para o arquivo de TV, a Ministra usa o formato de link do Flussonic DVR. O Alta oferece suporte a ele nativamente:

RecursoLink criado pela Ministra
Ao vivohttp://<alta>:<port>/<path>/index.m3u8?token=...
Timeshift (desde o início da hora atual)http://<alta>:<port>/<path>/index-<start>-now.m3u8?token=...
Catch-up (programa do EPG)http://<alta>:<port>/<path>/archive-<start>-<duration>.m3u8?token=...

Saiba mais sobre esses links em Formato de URL para acesso HLS.

  • Os set-top boxes conseguem acessar a porta do servidor OTT do Alta (8102 neste exemplo).
  • O Alta consegue acessar a Ministra via HTTP (porta 80 por padrão).
  • Para o arquivo de TV: um armazenamento no Alta e um EPG para os canais na Ministra.

Neste artigo:

Endereço
Servidor OTT do Altahttp://alta.example.com:8102
Ministrahttp://stalker.example.com/stalker_portal/
Caminho do canal no Altademo

Acesse Receivers → Create e adicione a fonte do canal. Saiba mais em Receptores.

Alta: criar receptor

O armazenamento é necessário para o arquivo de TV e o timeshift. Pule este passo se você precisa apenas de canais ao vivo.

Acesse Settings → Storages → Create:

  • Name: archive
  • Duration: profundidade do arquivo em horas, por exemplo 24
  • Location: diretório do arquivo, por exemplo /var/lib/alta/archive

Alta: criar armazenamento

Acesse Settings → Authorizers → Create:

  • Name: stalker
  • Default: Deny
  • Backends → Add Backend: http://stalker.example.com/stalker_portal/server/api/chk_flussonic_tmp_link.php

Alta: criar autorizador

Acesse Channels → Create:

  • Enable: ativado
  • Path: demo. O Canal fica disponível em http://alta.example.com:8102/demo/index.m3u8
  • Name: Demo Channel
  • Variants → main: ative e selecione o receptor
  • Authorizer: stalker
  • Storage & Duration → Storage: archive (para o arquivo de TV)

Alta: criar canal

Verifique se o canal está protegido. Sem um token, o Alta responde 403 Forbidden:

Terminal window
curl -I http://alta.example.com:8102/demo/index.m3u8
HTTP/1.1 403 Forbidden

Pule este passo se você precisa apenas de canais ao vivo.

Acesse Storage → Storage list → Add storage:

  • Title: alta
  • IP: endereço e porta OTT do Alta, sem http://: alta.example.com:8102
  • Apache port: 8102. O campo é obrigatório, mas não é usado pelo Flussonic DVR
  • Maximum of users: por exemplo 1000. Se o campo estiver vazio, os set-top boxes recebem o erro limit ao abrir o arquivo
  • Additional information → Allow TV recording: Flussonic DVR

Ministra: adicionar armazenamento

Acesse IPTV channels → Channels → Add a channel.

Basic:

  • Channel number, Channel name, Genre
  • Basic channel: ative se você não usa planos tarifários. Caso contrário, adicione o canal a um pacote de serviço, ou os assinantes não o verão

Streaming links → Add link:

  • Channel URL: ffmpeg http://alta.example.com:8102/demo/index.m3u8
  • Temporary URL: Flussonic

Ministra: link de streaming

Clique em Save na janela do link. O link aparece na tabela Streaming links com Temporary HTTP-link On:

Ministra: configurações básicas do canal

TV archive:

  • TV archive type: Flussonic DVR
  • Archive servers: alta
  • TV archive address: o endereço do canal no Alta, sem ffmpeg: http://alta.example.com:8102/demo/index.m3u8. A Ministra monta os links do arquivo a partir dele
  • TV archive length: profundidade do arquivo em horas, a mesma da duração do armazenamento no Alta, por exemplo 24

EPG:

  • XMLTV ID: ID do canal na sua fonte XMLTV. O catch-up funciona apenas para programas do EPG

Ministra: arquivo de TV

Clique em Save.

Adicione um assinante com o endereço MAC do set-top box em Users → Users list → Add user, ou use seus assinantes existentes.

  1. Abra o canal em um set-top box. O Canal é reproduzido.
  2. No Alta, abra Sessions: a sessão do box está na lista.
  3. Abra o arquivo de TV no box e reproduza um programa do passado.

Para verificar a conexão entre o Alta e a Ministra, execute este comando no servidor do Alta:

Terminal window
curl -I "http://stalker.example.com/stalker_portal/server/api/chk_flussonic_tmp_link.php?token=test"

403 Forbidden significa que a Ministra está acessível e rejeita o token desconhecido, como esperado.

  • Verifique o endereço do backend no autorizador do Alta com o comando curl acima.
  • Verifique se Temporary URL do link do canal na Ministra é Flussonic. Sem isso, a Ministra não adiciona o token.
  • O token dura 5 segundos. Um player que abre o mesmo link mais tarde recebe 403. O tempo é definido pela opção tv_tmp_link_ttl no custom.ini da Ministra.

O Alta grava as requisições negadas no log:

Terminal window
journalctl -u alta | grep "Authorization denied"

Ative Basic channel para o canal ou adicione-o a um pacote de serviço do plano tarifário do assinante.

Defina Maximum of users do servidor de arquivo na Ministra.

Os programas do arquivo estão deslocados no tempo

Seção intitulada “Os programas do arquivo estão deslocados no tempo”

A Ministra usa o fuso horário do PHP (default_timezone no custom.ini) e o fuso horário do MySQL para calcular os horários dos programas. Se eles forem diferentes, os links do arquivo apontam para um intervalo de tempo errado. Defina o mesmo fuso horário para o PHP e o MySQL.