De msd-streamingsoftware is geopend onder de BSD-licentie

De broncode van het msd-project (Multi Stream daemon) is vertaald naar een BSD-licentie en de broncode is gepubliceerd op GitHub. Voorheen werd alleen een verkorte versie van msd_lite in de broncode gedistribueerd en was het hoofdproduct eigen. Naast het wijzigen van de licentie is er gewerkt aan de portering ervan naar het macOS-platform (voorheen werden FreeBSD en Linux ondersteund).

Het msd-programma is ontworpen om IPTV-streaming op het netwerk te organiseren met behulp van het HTTP-protocol. Eén server kan meerdere duizenden clients tegelijk bedienen. De nadruk ligt vooral op het bereiken van maximale prestaties, maar ook op het bieden van fijne instellingen die de kwaliteit van de klantperceptie van de dienst beïnvloeden: snelheid van kanaalwisseling, weerstand tegen transmissiefouten. Proxying is geïmplementeerd in de ‘one-to-many’-modus: gegevens die via één HTTP-verbinding worden ontvangen, kunnen naar veel aangesloten clients worden gedistribueerd.

Functies

  • Ondersteunt IPv4- en IPv6-protocollen.
  • MPEG2-TS-streamanalysator.
  • Automatisch overschakelen naar back-up bij afwezigheid of fouten op de huidige bron.
  • Zero Copy on Send (ZCoS) - vermindert de overhead van het onderhouden van verbonden clients; al het werk van het verzenden van gegevens naar de client wordt overgenomen door de OS-kernel.
  • Ondersteuning voor “half gesloten” http-clients.
  • Ontvangst van udp-multicast, inclusief rtp, gelijktijdig vanaf verschillende interfaces.
  • Ontvangst via tcp-http-get (in één stream en uitgezonden naar meerdere clients).
  • Automatische ontkoppeling van bronnen als er geen aangesloten clients zijn.
  • Gebruik van verschillende TCP Congestion Control-algoritmen, afhankelijk van de poort waar de client vandaan kwam en de URL van het clientverzoek
  • "slim" verzenden van MPEG2-TS-headers naar nieuwe clients.
  • Stuur direct gegevens van de ringbuffer naar de nieuwe client om de wachttijd voordat het afspelen begint te minimaliseren.
  • Het verzenden van eventuele extra http-headers in verzoeken en antwoorden.
  • Instellingensjablonen voor Stream Hub en streambronnen.
  • Gedetailleerde statistieken voor elke TCP-verbinding om het zoeken naar problemen op netwerkniveau te vereenvoudigen.

Bron: opennet.ru

Voeg een reactie