Il software di streaming msd è aperto con licenza BSD

Il codice sorgente del progetto msd (Multi Stream daemon) è stato tradotto in una licenza BSD e il codice sorgente è stato pubblicato su GitHub. In precedenza, nel codice sorgente veniva distribuita solo una versione abbreviata di msd_lite e il prodotto principale era proprietario. Oltre a cambiare la licenza, è stato fatto il lavoro per portarlo sulla piattaforma macOS (in precedenza erano supportati FreeBSD e Linux).

Il programma msd è progettato per organizzare lo streaming IPTV sulla rete utilizzando il protocollo HTTP. Un server è in grado di servire diverse migliaia di client contemporaneamente. L'enfasi principale è sul raggiungimento delle massime prestazioni, nonché sulla fornitura di impostazioni precise che influiscono sulla qualità della percezione del servizio da parte del cliente: velocità di cambio canale, resistenza ai guasti di trasmissione. Il proxying è stato implementato in modalità “one-to-many”: i dati ricevuti tramite una connessione HTTP possono essere distribuiti a molti client connessi.

Lineamenti

  • Supporta i protocolli IPv4 e IPv6.
  • Analizzatore di flusso MPEG2-TS.
  • Passaggio automatico al backup in caso di assenza o errori sulla sorgente corrente.
  • Zero Copy on Send (ZCoS): riduce il sovraccarico della manutenzione dei client connessi; tutto il lavoro di invio dei dati al client viene svolto dal kernel del sistema operativo.
  • Supporto per client http "semichiusi".
  • Ricezione di udp-multicast, incluso rtp, simultaneamente da diverse interfacce.
  • Ricezione tramite tcp-http-get (in un flusso e trasmesso a più client).
  • Disconnessione automatica dalle origini se non ci sono client connessi.
  • Utilizzando diversi algoritmi di controllo della congestione TCP a seconda della porta a cui è arrivato il client e dell'URL della richiesta del client
  • Invio "intelligente" di intestazioni MPEG2-TS a nuovi client.
  • Invia istantaneamente i dati dal ring buffer al nuovo client per ridurre al minimo il tempo di attesa per l'inizio della riproduzione.
  • Invio di eventuali intestazioni http aggiuntive nelle richieste e nelle risposte.
  • Modelli di impostazioni per hub di flusso e origini di streaming.
  • Statistiche dettagliate per ogni connessione TCP per semplificare la ricerca di problemi a livello di rete.

Fonte: opennet.ru

Aggiungi un commento