User Tools

Site Tools


streamauth

Stream Auth

O Stream Auth é um script desenvolvido em Python para autenticação e gerenciamento de transmissões ao vivo no servidor. Ele também faz o gerenciamento das chaves de transmissão dos usuários, garantindo que apenas pessoas autorizadas possam iniciar e manter transmissões.

Como Transmitir

  1. Entre no link, faça login com sua conta e obtenha a chave de transmissão
  2. No OBS, entre nas configurações, e vá na aba Transmissão
  3. No campo serviços, selecione Personalizado…
  4. No campo servidor, preencha com rtmp://alice.dcomp.ufsj.edu.br:33000/live
  5. No campo Chave de Transmissão, preencha com a chave de transmissão obtida anteriormente

Arquitetura

Servidor RTMP

O módulo RTMP do NGINX é responsável por receber as transmissões ao vivo de clientes RTMP, como o OBS. O NGINX recebe a transmissão e faz uma requisição HTTP para o script, que realiza a autenticação através da chave de transmissão fornecida.

Chaves de transmissão

As chaves de transmissão são criadas com JWTs através de parâmetros variáveis configurados no script. O JWT é gerado usando uma chave EC256, que pode ser alterada conforme necessário. O script para a geração de chaves está disponível no código fonte do projeto, em src/stream_auth/keys/generate_keys.sh.

Gerenciamento de usuários

O gerenciamento de usuários é feito através do LDAP. O script apenas valida se o usuário está no LDAP e, caso seja o primeiro login dele no script, uma chave de transmissão é criada e retornada ao cliente. Se o usuário já tiver logado antes, o script apenas envia a chave de transmissão existente. As chaves dos respectivos usuários são salvas em um arquivo JSON gerenciado pela biblioteca TinyDB do Python.

streamauth.txt · Last modified: 2024/07/12 11:31 by Carneiro

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki