Die MSD-Streaming-Software steht unter der BSD-Lizenz

Der Quellcode des msd-Projekts (Multi Stream Daemon) wurde in eine BSD-Lizenz übersetzt und der Quellcode wurde auf GitHub veröffentlicht. Bisher wurde nur eine gekürzte Version von msd_lite im Quellcode verteilt und das Hauptprodukt war proprietär. Zusätzlich zur Änderung der Lizenz wurde an der Portierung auf die macOS-Plattform gearbeitet (zuvor wurden FreeBSD und Linux unterstützt).

Das MSD-Programm dient dazu, IPTV-Streaming im Netzwerk mithilfe des HTTP-Protokolls zu organisieren. Ein Server kann mehrere tausend Clients gleichzeitig bedienen. Das Hauptaugenmerk liegt auf der Erzielung maximaler Leistung sowie auf der Bereitstellung feiner Einstellungen, die sich auf die Qualität der Kundenwahrnehmung des Dienstes auswirken: Geschwindigkeit des Kanalwechsels, Widerstandsfähigkeit gegen Übertragungsfehler. Proxying wurde im „One-to-Many“-Modus implementiert: Über eine HTTP-Verbindung empfangene Daten können an viele verbundene Clients verteilt werden.

Eigenschaften

  • Unterstützt IPv4- und IPv6-Protokolle.
  • MPEG2-TS-Stream-Analysator.
  • Automatische Umschaltung auf Backup bei Abwesenheit oder Fehlern der aktuellen Quelle.
  • Zero Copy on Send (ZCoS) – reduziert den Aufwand für die Wartung verbundener Clients; die gesamte Arbeit des Sendens von Daten an den Client wird vom Betriebssystemkernel übernommen.
  • Unterstützung für „halbgeschlossene“ HTTP-Clients.
  • Empfang von UDP-Multicast, einschließlich RTP, gleichzeitig von verschiedenen Schnittstellen.
  • Empfang über tcp-http-get (in einem Stream und Übertragung an mehrere Clients).
  • Automatische Trennung von Quellen, wenn keine verbundenen Clients vorhanden sind.
  • Verwendung unterschiedlicher TCP-Überlastungskontrollalgorithmen abhängig vom Port, an den der Client kam, und der URL der Client-Anfrage
  • „Intelligentes“ Senden von MPEG2-TS-Headern an neue Clients.
  • Senden Sie Daten sofort vom Ringpuffer an den neuen Client, um die Wartezeit bis zum Beginn der Wiedergabe zu minimieren.
  • Senden zusätzlicher HTTP-Header in Anfragen und Antworten.
  • Einstellungsvorlagen für Stream Hub und Stream-Quellen.
  • Detaillierte Statistiken für jede TCP-Verbindung, um die Suche nach Problemen auf Netzwerkebene zu vereinfachen.

Source: opennet.ru

Kommentar hinzufügen