Kod źródłowy projektu msd (Multi Stream daemon) został przetłumaczony na licencję BSD, a kod źródłowy został opublikowany na GitHubie. Wcześniej w kodzie źródłowym rozpowszechniana była jedynie skrócona wersja msd_lite, a główny produkt był zastrzeżony. Oprócz zmiany licencji wykonano prace nad jej przeniesieniem na platformę macOS (wcześniej wspierane były FreeBSD i Linux).
Program msd przeznaczony jest do organizowania transmisji strumieniowej IPTV w sieci przy użyciu protokołu HTTP. Jeden serwer jest w stanie obsłużyć jednocześnie kilka tysięcy klientów. Główny nacisk położony jest na osiągnięcie maksymalnej wydajności, a także na zapewnienie precyzyjnych ustawień, które wpływają na jakość odbioru usługi przez klienta: szybkość przełączania kanałów, odporność na awarie transmisji. Proxying został zaimplementowany w trybie „jeden do wielu”: dane otrzymane jednym połączeniem HTTP mogą być dystrybuowane do wielu podłączonych klientów.
Udogodnienia
- Obsługuje protokoły IPv4 i IPv6.
- Analizator strumienia MPEG2-TS.
- Automatyczne przełączanie na kopię zapasową w przypadku nieobecności lub błędów na bieżącym źródle.
- Zero Copy on Send (ZCoS) - zmniejsza obciążenie związane z obsługą podłączonych klientów; całą pracę związaną z wysyłaniem danych do klienta przejmuje jądro systemu operacyjnego.
- Obsługa „półzamkniętych” klientów HTTP.
- Odbiór udp-multicast, w tym rtp, jednocześnie z różnych interfejsów.
- Odbiór przez tcp-http-get (w jednym strumieniu i transmitowany do wielu klientów).
- Automatyczne odłączenie od źródeł w przypadku braku podłączonych klientów.
- Używanie różnych algorytmów kontroli przeciążenia protokołu TCP w zależności od portu, do którego przyszedł klient i adresu URL żądania klienta
- „inteligentne” wysyłanie nagłówków MPEG2-TS do nowych klientów.
- Natychmiast wysyłaj dane z bufora pierścieniowego do nowego klienta, aby zminimalizować czas oczekiwania na rozpoczęcie odtwarzania.
- Wysyłanie dodatkowych nagłówków http w żądaniach i odpowiedziach.
- Szablony ustawień dla centrum strumieni i źródeł strumieni.
- Szczegółowe statystyki dla każdego połączenia TCP ułatwiające wyszukiwanie problemów na poziomie sieci.
Źródło: opennet.ru