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.
Como funciona
Seção intitulada “Como funciona”
- Um assinante abre um canal no set-top box.
- 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 - O box solicita a playlist ao Alta.
- O Alta envia o token à Ministra:
http://stalker.example.com/stalker_portal/server/api/chk_flussonic_tmp_link.php?token=... - A Ministra responde
200 OKse o token for válido, ou403 Forbiddencaso contrário. - 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:
| Recurso | Link criado pela Ministra |
|---|---|
| Ao vivo | http://<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.
Requisitos
Seção intitulada “Requisitos”- Os set-top boxes conseguem acessar a porta do servidor OTT do Alta (
8102neste exemplo). - O Alta consegue acessar a Ministra via HTTP (porta
80por 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 Alta | http://alta.example.com:8102 |
| Ministra | http://stalker.example.com/stalker_portal/ |
| Caminho do canal no Alta | demo |
Passo 1. Configurar o Alta
Seção intitulada “Passo 1. Configurar o Alta”Receptor
Seção intitulada “Receptor”Acesse Receivers → Create e adicione a fonte do canal. Saiba mais em Receptores.

Armazenamento
Seção intitulada “Armazenamento”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

Autorizador
Seção intitulada “Autorizador”Acesse Settings → Authorizers → Create:
- Name:
stalker - Default:
Deny - Backends → Add Backend:
http://stalker.example.com/stalker_portal/server/api/chk_flussonic_tmp_link.php

Acesse Channels → Create:
- Enable: ativado
- Path:
demo. O Canal fica disponível emhttp://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)

Verifique se o canal está protegido. Sem um token, o Alta responde 403 Forbidden:
curl -I http://alta.example.com:8102/demo/index.m3u8HTTP/1.1 403 ForbiddenPasso 2. Configurar a Ministra
Seção intitulada “Passo 2. Configurar a Ministra”Servidor de arquivo
Seção intitulada “Servidor de arquivo”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 errolimitao abrir o arquivo - Additional information → Allow TV recording:
Flussonic DVR

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

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

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

Clique em Save.
Assinante
Seção intitulada “Assinante”Adicione um assinante com o endereço MAC do set-top box em Users → Users list → Add user, ou use seus assinantes existentes.
Passo 3. Verificar a integração
Seção intitulada “Passo 3. Verificar a integração”- Abra o canal em um set-top box. O Canal é reproduzido.
- No Alta, abra Sessions: a sessão do box está na lista.
- 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:
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.
Solução de problemas
Seção intitulada “Solução de problemas”Todas as requisições recebem 403 Forbidden
Seção intitulada “Todas as requisições recebem 403 Forbidden”- Verifique o endereço do backend no autorizador do Alta com o comando
curlacima. - 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çãotv_tmp_link_ttlnocustom.inida Ministra.
O Alta grava as requisições negadas no log:
journalctl -u alta | grep "Authorization denied"A lista de canais no set-top box está vazia
Seção intitulada “A lista de canais no set-top box está vazia”Ative Basic channel para o canal ou adicione-o a um pacote de serviço do plano tarifário do assinante.
O arquivo não abre: erro limit
Seção intitulada “O arquivo não abre: erro limit”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.