msd (Multi Stream daemon) նախագծի սկզբնական կոդը թարգմանվել է BSD լիցենզիայի, իսկ սկզբնական կոդը հրապարակվել է GitHub-ում: Նախկինում msd_lite-ի միայն կրճատված տարբերակը տարածվում էր սկզբնաղբյուրում, իսկ հիմնական արտադրանքը սեփականություն էր։ Լիցենզիան փոխելուց բացի, աշխատանք է տարվել այն macOS հարթակ տեղափոխելու ուղղությամբ (նախկինում աջակցվում էին FreeBSD-ն և Linux-ը)։
msd ծրագիրը նախատեսված է ցանցում IPTV հոսքի կազմակերպման համար՝ օգտագործելով HTTP արձանագրությունը: Մեկ սերվերն ի վիճակի է սպասարկել մի քանի հազար հաճախորդի միաժամանակ: Հիմնական շեշտը դրված է առավելագույն կատարողականության հասնելու, ինչպես նաև լավ պարամետրերի տրամադրման վրա, որոնք ազդում են ծառայության հաճախորդների ընկալման որակի վրա. կապուղու միացման արագություն, փոխանցման խափանումների դիմադրություն: Proxying-ն իրականացվել է «մեկը շատերին» ռեժիմով. մեկ HTTP կապի միջոցով ստացված տվյալները կարող են բաշխվել բազմաթիվ միացված հաճախորդներին:
Նկարագրություն
- Աջակցում է IPv4 և IPv6 արձանագրություններին:
- MPEG2-TS հոսքի անալիզատոր:
- Ավտոմատ անցում պահուստայինի` ընթացիկ աղբյուրի բացակայության կամ սխալների դեպքում:
- Zero Copy on Send (ZCoS) - նվազեցնում է միացված հաճախորդների սպասարկման ծախսերը, հաճախորդին տվյալներ ուղարկելու ամբողջ աշխատանքը ստանձնում է OS միջուկը:
- Աջակցություն «կիսափակ» http հաճախորդներին:
- udp-multicast-ի ընդունումը, ներառյալ rtp-ը, միաժամանակ տարբեր ինտերֆեյսներից:
- Ընդունում tcp-http-get-ի միջոցով (մեկ հոսքով և հեռարձակում բազմաթիվ հաճախորդների համար):
- Ավտոմատ անջատում աղբյուրներից, եթե միացված հաճախորդներ չկան:
- TCP գերբեռնվածության վերահսկման տարբեր ալգորիթմների օգտագործում՝ կախված այն նավահանգստից, որտեղ հաճախորդը եկել է, և հաճախորդի հարցման URL-ը
- MPEG2-TS վերնագրերի «խելացի» ուղարկում նոր հաճախորդներին:
- Անմիջապես զանգի բուֆերից տվյալներ ուղարկեք նոր հաճախորդին, որպեսզի նվազագույնի հասցվի նվագարկումը սկսելու սպասման ժամանակը:
- Ուղարկելով ցանկացած լրացուցիչ http վերնագիր հարցումներում և պատասխաններում:
- Stream Hub-ի և հոսքի աղբյուրների կարգավորումների ձևանմուշներ:
- Յուրաքանչյուր TCP կապի մանրամասն վիճակագրություն՝ ցանցի մակարդակում խնդիրների որոնումը պարզեցնելու համար:
Source: opennet.ru