Executando verificação de segurança...
1

Como simplifiquei o streaming de câmeras RTSP para Web usando NestJS e MediaMTX

Recentemente, enfrentei um desafio técnico comum, mas surpreendentemente mal documentado: integrar feeds de câmeras de segurança (RTSP) diretamente em sites e blogs de forma performática e acessível.

A maioria das soluções de mercado que encontrei pecava em três pontos:

  1. Opacidade: Limites de uso e custos não eram claros.
  2. Barreira Linguística: Suporte exclusivamente em inglês.
  3. Complexidade: Implementações que exigiam configurações manuais exaustivas para cada novo stream.

Dessa dor nasceu o rtsp-saas, uma plataforma para converter streams RTSP em protocolos amigáveis para a web (HLS/WebRTC) de forma automatizada.

A Stack Técnica
Para construir o MVP e escalar o processamento de vídeo, utilizei:

  • Backend: NestJS (Node.js) pela robustez na construção de APIs e facilidade com microserviços.
  • Banco de Dados: PostgreSQL para gerenciar usuários, permissões e metadados dos streams.
  • Engine de Vídeo: MediaMTX (antigo rtsp-simple-server). Ele atua como o servidor de mídia central, recebendo os pacotes RTSP e fazendo o remuxing para HLS em tempo real.

O maior desafio: Transcoding vs. Remuxing
Um dos grandes aprendizados foi entender o equilíbrio de CPU. Enquanto o remuxing (apenas mudar o "envelope" do vídeo de RTSP para HLS) é leve, o transcoding (mudar o codec para garantir compatibilidade) consome muito recurso. No SaaS, foquei em otimizar essa conversão para que o usuário final tenha latência mínima sem precisar de um servidor de 64GB de RAM para três câmeras.

Por que um SaaS brasileiro?
Percebi que igrejas, pequenos comércios e sites de monitoramento local muitas vezes não possuem uma equipe técnica para lidar com documentações complexas em inglês ou configurar instâncias Docker do zero. O objetivo foi democratizar esse acesso com um dashboard em português e configuração em 2 cliques.

Gostaria de saber da comunidade: alguém aqui já teve que lidar com a dor de cabeça que é o protocolo RTSP no browser? Como resolveram o problema da latência?

Estou aberto a feedbacks sobre o projeto!
Link: https://rtsp-saas.com/

Carregando publicação patrocinada...