Service Go (rtmpd) gerant le provisionnement de cameras IP, integration MediaMTX v3 pour ingestion RTMP/RTSP et playback WebRTC, client CGI pour cameras LEEKGOVISION, API REST, pgx/v5 avec migrations SQL embarquees.
Go a ete choisi pour le backend (service rtmpd) en raison de ses performances en traitement concurrent et reseau. Le service gere le cycle de vie complet des cameras : enregistrement, configuration a distance via le protocole CGI proprietaire LEEKGOVISION, et supervision des sessions de streaming actives.
L'integration MediaMTX v3 constitue le coeur du systeme de streaming. Les cameras poussent leur flux en RTMP, MediaMTX les rend disponibles en RTSP pour l'enregistrement et en WebRTC pour la lecture navigateur. La gestion des sources se fait entierement via l'API REST de MediaMTX, avec des callbacks (on_publish/on_unpublish) pour maintenir l'etat des sessions dans PostgreSQL.
La couche donnees utilise pgx/v5 en SQL direct, sans ORM, pour un controle total sur les requetes et les performances. Les migrations SQL sont embarquees dans le binaire Go. Le deploiement sur AWS utilise Docker Compose avec PostgreSQL 16, nginx en reverse proxy avec SSL, et un Makefile centralisant build, tests et linting.
Service Go 1.22 (rtmpd) : API REST pour provisionnement cameras (push RTMP + pull RTSP), client API portail externe avec token refresh automatique.
Integration MediaMTX v3 : gestion des sources RTSP via REST API, ingestion RTMP depuis cameras, playback WebRTC pour navigateurs.
Client CGI pour cameras LEEKGOVISION : configuration RTMP a distance, setup WiFi, parametres d'enregistrement.
PostgreSQL via pgx/v5 en SQL direct (pas d'ORM), migrations embarquees, suivi de sessions de streaming.
Deploiement AWS avec Docker Compose, PostgreSQL 16, nginx reverse proxy, SSL. Makefile avec build/test/vet/lint.
Callbacks ingest-server (on_publish/on_unpublish), poller de statut en arriere-plan, health checks, graceful shutdown.
pgx/v5 SQL direct, migrations embarquees
RTMP ingestion, RTSP sources, WebRTC playback
Automation LEEKGOVISION via protocole CGI
Brief, repo, ou appel rapide - on s'adapte.