Källkoden för projektet msd (Multi Stream daemon) har översatts till en BSD-licens och källkoden har publicerats på GitHub. Tidigare distribuerades endast en förkortad version av msd_lite i källkoden, och huvudprodukten var proprietär. Förutom att ändra licensen har man arbetat med att porta den till macOS-plattformen (tidigare stöddes FreeBSD och Linux).
Msd-programmet är utformat för att organisera IPTV-strömning på nätverket med hjälp av HTTP-protokollet. En server kan betjäna flera tusen klienter samtidigt. Huvudvikten ligger på att uppnå maximal prestanda, såväl som på att tillhandahålla fina inställningar som påverkar kvaliteten på kundens uppfattning om tjänsten: hastighet på kanalväxling, motstånd mot överföringsfel. Proxying har implementerats i "en-till-många"-läget: data som tas emot via en HTTP-anslutning kan distribueras till många anslutna klienter.
Egenskaper
- Stöder IPv4- och IPv6-protokoll.
- MPEG2-TS strömanalysator.
- Automatisk byte till backup vid frånvaro eller fel på aktuell källa.
- Zero Copy on Send (ZCoS) - minskar omkostnaderna för att betjäna anslutna klienter; allt arbete med att skicka data till klienten tas över av OS-kärnan.
- Stöd för "halvstängda" http-klienter.
- Mottagning av udp-multicast, inklusive rtp, samtidigt från olika gränssnitt.
- Mottagning via tcp-http-get (i en stream och sändning till flera klienter).
- Automatisk frånkoppling från källor om det inte finns några anslutna klienter.
- Använda olika TCP Congestion Control-algoritmer beroende på porten som klienten kom till och webbadressen till klientförfrågan
- "smart" sändning av MPEG2-TS-headers till nya klienter.
- Skicka data direkt från ringbufferten till den nya klienten för att minimera väntetiden för att uppspelningen ska börja.
- Skickar eventuella ytterligare http-rubriker i förfrågningar och svar.
- Inställningsmallar för Stream Hub och streamkällor.
- Detaljerad statistik för varje TCP-anslutning för att förenkla sökningen efter problem på nätverksnivå.
Källa: opennet.ru