MSD (Multi Stream daemon) -projektin lähdekoodi on käännetty BSD-lisenssiksi ja lähdekoodi on julkaistu GitHubissa. Aiemmin vain lyhennetty versio msd_lite:stä jaettiin lähdekoodissa, ja päätuote oli patentoitu. Lisenssin muuttamisen lisäksi on tehty töitä sen siirtämiseksi macOS-alustalle (aiemmin tuettiin FreeBSD:tä ja Linuxia).
MSD-ohjelma on suunniteltu järjestämään IPTV-suoratoisto verkossa HTTP-protokollan avulla. Yksi palvelin pystyy palvelemaan useita tuhansia asiakkaita samanaikaisesti. Pääpaino on maksimaalisen suorituskyvyn saavuttamisessa sekä hienojen asetusten tekemisessä, jotka vaikuttavat asiakkaan käsityksen laatuun palvelusta: kanavanvaihdon nopeus, kestävyys lähetyshäiriöille. Välityspalvelin on toteutettu "yksi moneen" -tilassa: yhden HTTP-yhteyden kautta vastaanotettu data voidaan jakaa useille yhdistetyille asiakkaille.
Piirteet
- Tukee IPv4- ja IPv6-protokollia.
- MPEG2-TS stream-analysaattori.
- Automaattinen vaihto varmuuskopioon, jos nykyisessä lähteessä on poissaolo tai virheitä.
- Zero Copy on Send (ZCoS) - vähentää yhdistettyjen asiakkaiden huoltokustannuksia; käyttöjärjestelmän ydin ottaa vastuulleen kaiken tiedon lähettämisen asiakkaalle.
- Tuki "puolisuljetuille" http-asiakkaille.
- Udp-multicastin vastaanotto, mukaan lukien rtp, samanaikaisesti eri liitännöistä.
- Vastaanotto kautta tcp-http-get (yhdessä streamissa ja lähettää useille asiakkaille).
- Automaattinen yhteyden katkaisu lähteistä, jos ei ole yhdistettyjä asiakkaita.
- Erilaisten TCP-ruuhkanhallinta-algoritmien käyttäminen riippuen portista, johon asiakas tuli, ja asiakaspyynnön URL-osoitteesta
- "älykäs" MPEG2-TS-otsikoiden lähettäminen uusille asiakkaille.
- Lähetä tiedot välittömästi soittopuskurista uudelle asiakkaalle minimoidaksesi toiston alkamisajan.
- Mahdollisten ylimääräisten http-otsikoiden lähettäminen pyyntöihin ja vastauksiin.
- Stream Hubin ja suoratoistolähteiden asetusmallit.
- Yksityiskohtaiset tilastot jokaisesta TCP-yhteydestä yksinkertaistaaksesi ongelmien etsimistä verkkotasolla.
Lähde: opennet.ru