Izvorni tekstovi projekta msd (Multi Stream daemon) prevedeni su pod BSD licencom, a izvorni kod je objavljen na GitHubu. Prije su se u izvorim tekstovima distribuirale samo skraćene verzije msd_lite, a osnovni proizvod bio je vlasnički. Osim promjene licence, radilo se i na portiranju na platformu macOS (ranije su podržavani FreeBSD i Linux).
Program msd namijenjen je organizaciji IPTV streaminga putem HTTP protokola u mreži. Jedan server može istovremeno opsluživati nekoliko tisuća klijenata. Glavni fokus je na postizanju maksimalne učinkovitosti, kao i na pružanju finih postavki koje utječu na kvalitetu usluge za klijente: brzina prebacivanja kanala, otpornost na smetnje u prijenosu. Implementirano je proksiranje u režimu 'jedan prema mnogima': podaci primljeni kroz jednu HTTP vezu mogu se dijeliti s mnogim spojenim klijentima.
Karakteristike
- Podrška za IPv4 i IPv6 protokole.
- Analizator MPEG2-TS toka.
- Automatsko prebacivanje na rezervni izvor u slučaju nedostatka ili grešaka na trenutnom izvoru.
- Zero Copy on Send (ZCoS) - smanjuje režijske troškove pri povezivanju klijenata, sav posao slanja podataka klijentu preuzima kernel OS-a.
- Podrška za 'half closed' HTTP klijente.
- Prijem UDP-multicast, uključujući RTP, istovremeno s različitih sučelja.
- Prijem putem TCP-HTTP-get (u jednom toku i emitiranje mnogim klijentima).
- Automatsko isključivanje sa izvora ako nema povezanih klijenata.
- Korištenje različitih TCP Congestion Control algoritama ovisno o portu na koji je klijent došao i URL zahtjeva klijenta.
- 'Pametno' slanje MPEG2-TS zaglavlja novim klijentima.
- Trenutno slanje podataka iz prstenastog međuspremnika novom klijentu, kako bi se minimiziralo vrijeme čekanja na početak reprodukcije.
- Slanje bilo kojih dodatnih HTTP zaglavlja u zahtjevima i odgovorima.
- Predloška postavki za Stream Hub i izvore toka.
- Detaljna statistika za svaku TCP vezu, za olakšanje pronalaženja problema na razini mreže.
Izvor: opennet.ru
