Výchozí texty projektu msd (Multi Stream daemon) byly převedeny na licenci BSD a zdrojový kód je publikován na GitHubu. Dříve byly ve zdrojových textech šířeny pouze zkrácené verze msd_lite, zatímco hlavní produkt byl proprietární. Kromě změny licence byla provedena práce na portování na platformu macOS (dříve byly podporovány FreeBSD a Linux).
Program msd je určen k organizaci streamování IPTV v síti prostřednictvím protokolu HTTP. Jeden server je schopen obsluhovat několik tisíc klientů současně. Hlavní důraz je kladen na dosažení maximální výkonnosti, stejně jako na poskytování jemných nastavení, která ovlivňují kvalitu vnímání služby klienty: rychlost přepínání kanálů, odolnost vůči chybám přenosu. Je implementováno proxy v režimu „jedna k mnoha“: data získaná prostřednictvím jednoho HTTP spojení mohou být distribuována mnoha připojeným klientům.
Vlastnosti
- Podpora protokolů IPv4 a IPv6.
- Analyzátor toku MPEG2-TS.
- Automatické přepínání na záložní zdroj při výpadku nebo chybách na aktuálním zdroji.
- Zero Copy on Send (ZCoS) – snižuje režijní náklady na obsluhu připojených klientů, veškerou práci na odesílání dat klientovi přebírá jádro OS.
- Podpora „half closed“ http-klientů.
- Příjem udp-multicast, včetně rtp, současně z různých rozhraní.
- Příjem přes tcp-http-get (v jednom toku a vysílání mnoha klientům).
- Automatické odpojení od zdrojů, pokud nejsou připojeni žádní klienti.
- Použití různých algoritmů řízení TCP Congestion v závislosti na portu, na který přišel klient, a URL požadavku klienta.
- „inteligentní“ odesílání hlaviček MPEG2-TS novým klientům.
- Okamžité odeslání dat novému klientovi z kruhového bufferu, aby se minimalizovala doba čekání na zahájení přehrávání.
- Odesílání jakýchkoliv dodatečných http-hlaviček v požadavcích a odpovědích.
- Šablony nastavení pro Stream Hub a zdroje streamu.
- Podrobné statistiky pro každé TCP spojení pro usnadnění hledání problémů na úrovni sítě.
Zdroj: opennet.ru
