Բառը[Թաքցնել][Ցուցադրում]
Բավականին պատշաճ հավանականություն կա, որ դուք ինչ-որ բան հեռարձակել եք, եթե ցանկացած ժամանակ անցկացնեք առցանց:
Streaming-ը ինտերնետի ամենահայտնի հավելվածների ամենատարածված կիրառություններից մեկն է, լինի դա YouTube-ի, Spotify-ի, Netflix-ի կամ հարյուրավոր այլ հավելվածների միջոցով:
Այնուամենայնիվ, հաշվի առնելով, թե որքան սովորական է հոսքային հոսքը, հեշտ է դա ընդունել: Օրինակ՝ կոնկրետ ի՞նչ է հոսքը:
Ցանկացած մեդիա նյութ, լինի դա ուղիղ կամ ձայնագրված, որը ինտերնետով ուղարկվում է համակարգիչներ և շարժական սարքեր և նվագարկվում իրական ժամանակում, կոչվում է հոսք:
Հոսքային նյութերի տարածված տեսակները ներառում են փոդքաստներ, վեբ հեռարձակումներ, շարժանկարներ, հեռուստատեսային շոուներ և երաժշտական տեսահոլովակներ:
Մեդիա տարրերը, ինչպիսիք են երաժշտությունը, տեսանյութը և այլ տեսակներ, պլանավորվում և փոխանցվում են հաջորդական տվյալների փաթեթներով, որպեսզի դրանք կարողանան ակնթարթորեն հեռարձակվել:
Համապատասխան սարքը, հոսքային ծառայության կամ հավելվածի հասանելիությունը և արագ, հուսալի գերարագ ինտերնետ կապը այն ամենն են, ինչ ձեզ հարկավոր է հեռարձակման համար:
Նշում. որպես օրինակ մենք կօգտագործենք վիդեո հոսքային ծառայություն:
Այս գրառումը խորը կանդրադառնա հոսքային ծառայության համակարգի ձևավորմանը և հիմնական գործոններին, որոնք պետք է հաշվի առնել վիդեո հոսքային հավելվածներ մշակելիս:
Համակարգի պահանջը
Աշխարհում ամենատարածված վիդեո հոսքային ծառայություններից են YouTube-ը և Netflix-ը: Օգտագործողի փորձը բարելավելու համար նրանց ճարտարապետությունը ներառում է մի շարք տարրեր:
Նման ծառայությունը ներառում է հանրաճանաչ ֆիլմեր, հաշիվ-ապրանքագրեր, AI-ի վրա հիմնված առաջարկությունների համակարգեր և ավելի ուշ դիտումների գործառույթներ, սակայն մենք կկենտրոնանանք հիմնական տարրերի վրա:
Հիմնական որակներ
Մենք ներառել ենք հետևյալ հնարավորությունները մեր հայեցակարգում a վիդեո հոսք ծառայություն.
- Բովանդակություն ստեղծողները կարող են տեսանյութեր հրապարակել:
- Դիտողները կարող են օգտագործել բազմաթիվ սարքեր՝ տեսանյութեր դիտելու համար (բջջային, հեռուստացույց և այլն):
- Տեսանյութերում օգտատերերը կարող են նշել, հավանել կամ չհավանել:
- Տեսանյութերի վերնագրերը կարող են օգտագործվել դրանք որոնելու համար:
- Այս վիճակագրությունը օգտատերերին ցուցադրելու համար համակարգը կարող է պահել դիտումները, հավանումները և չհավանումները:
Համակարգի նպատակները
- Չպետք է լինի բուֆերավորում, որպեսզի դիտողները կարողանան իրական ժամանակում տեսանյութեր դիտել:
- Տեսանյութի պահեստը պետք է հուսալի լինի: Դուք չպետք է կորցնեք ձեր վերբեռնած տեսանյութերը:
- Օգտատերերի ավելացման դեպքում համակարգը պետք է մասշտաբային լինի:
- Ցածր հետաձգումը և բարձր հասանելիությունը պետք է լինեն համակարգի առանձնահատկությունները: Այս իրավիճակում հետևողականությունն այնքան էլ կարևոր չէ, քանի որ նորմալ է, որ օգտագործողը որոշ ժամանակ սպասի մինչև նոր ներկայացված ֆիլմը տեսնելը:
Մեկ սերվերը չի կարող կարգավորել տվյալների ծավալը, քանի որ համակարգը պետք է կանոնավոր կերպով կառավարի ուժեղ տրաֆիկ: Համակարգը սպասարկելու համար կօգտագործվի սերվերների խումբ:
Հաճախորդների համար արագության նկատելի ազդեցություն չպետք է լինի, նույնիսկ եթե մեկ սերվերը խափանվի:
Բարձր մակարդակի ճարտարապետություն
Տեսանյութերի հոսքային ծրագիրը կարող է ընդունել երեք տարբեր տեսակի հարցումներից մեկը.
- Վերբեռնել (գրել)
- Որոնել (կարդալ)
- Դիտել (կարդալ)
Քանի որ կարդալու հարցումները (որոնում և դիտում) հաճախ մի քանի անգամ ավելի հաճախ են լինում, քան գրելու հարցումները (վերբեռնում), դրանցից յուրաքանչյուրը մշակվում է սերվերների առանձին կլաստերի կողմից:
Քանի որ ծրագիրը ընթերցանության ինտենսիվ է, դուք պետք է կարգավորեք ավելի շատ սերվերներ՝ կարդալու հարցումները կարգավորելու համար, քան վերբեռնումները:
Հաճախորդի կողմից արված յուրաքանչյուր հարցում ուղղորդվում է համապատասխան միկրոծառայության կողմից բեռի հավասարակշռություն երբ այն ստացվում է.
Վերբեռնման ծառայություն
Վերբեռնման ծառայությունը, որը մշակում է տեսանյութը, այն վերբեռնում Open Connect սերվերներում և հասանելի է դարձնում բոլոր օգտատերերին, կատարում է վերբեռնման հարցումը։
Որոնման ծառայություն
Բեռի հավասարակշռողն ուղարկում է որոնման հարցումը որոնման միկրոսերվիսին, որն այնուհետև այն ուղարկում է Netflix-ի Elastic որոնմանը: Հաճախորդը ստանում է Elastic որոնման պատասխանը:
Էլաստիկ որոնումը՝ աներևակայելի մասշտաբային ամբողջական տեքստային բաց կոդով որոնիչ, որն օգտագործվում է Netflix-ի կողմից՝ միլիոնավոր տեսանյութեր որոնելու համար:
Էլաստիկ որոնումն օգտագործվում է Netflix-ի կողմից՝ հաճախորդների սպասարկման գործառնությունները վերլուծելու համար:
Դիտել ծառայությունը
Դիտումների հարցումների մեծ մասը չի ուղարկվի բեռի հավասարակշռողին կամ Netflix-ի սերվերներին: Փոխարենը, օգտվողները կմիանան տեղական ISP-ներին և կսնվեն անմիջապես մոտակա Open Connect սերվերից:
Այնուամենայնիվ, եթե պահանջվող տեսանյութը հասանելի չէ, այն կուղարկվի բեռի հավասարակշռողին և դիտման միկրոսերվիսին:
Այնուհետև տեսանյութը որոնվում է մետատվյալների տվյալների բազայում, վերցվում է մետատվյալներում նշված ճանապարհից և փոխանցվում հաճախորդին:
Իհարկե, այս տեխնիկան ներառում է ուշացում, այդ իսկ պատճառով գրեթե բոլոր դիտումների հարցումները տրամադրվում են Open Connect-ի միջոցով:
Վերբեռնեք տեսանյութեր
YouTube-ի հիմնական նպատակը ֆիլմ կամ տեսանյութ վերբեռնելն է: Տեսահոլովակի հոսքային ծառայությունը պետք է հաղթահարի մի շարք խոչընդոտներ՝ նախքան իր սպառողների համար տեսահոլովակը հասանելի դարձնելը:
Պահպանումը կտորների մեջ
Յուրաքանչյուր ներկայացված տեսանյութ կբաժանվի բազմաթիվ փոքր ֆայլերի, այլ ոչ թե կպահվի որպես մեկ հսկայական ֆայլ:
Սա կարևոր է, քանի որ բովանդակության արտադրողները կարող են հսկայական տեսանյութեր ներկայացնել: Մեկ մեծ ֆայլի մշակումը կամ հեռարձակումը կարող է որոշ ժամանակ տևել:
Հեռուստադիտողը ստիպված չի լինի ներբեռնել ամբողջական տեսանյութը՝ այն նվագարկելու համար, եթե այն պահպանվի և հասանելի լինի նրանց համար առանձին-առանձին:
Որպեսզի համոզվենք, որ կտորների միջև քիչ ուշացում կա, և որ օգտատերը սահուն դիտման փորձ ունի, հաճախորդը նախ կպահանջի սերվերից առաջին հատվածը, այնուհետև կպահանջի հետևյալ հատվածը, մինչ այդ հատվածը խաղում է:
Մշակման հերթ
Յուրաքանչյուր տեսանյութ ունի բազմաթիվ հատվածներ, և Netflix-ը կօգտագործի մի քանի միաժամանակյա աշխատողներ՝ դրանք վերլուծելու համար, հետևաբար, պահանջվում է մշակման հերթ: Դրանք հերթում ավելացնելով՝ սա ավելի պարզ է դառնում:
Աշխատանքները կհավաքվեն աշխատողների կողմից (կամ կոդավորիչներ, որոնց մենք կանդրադառնանք հաջորդիվ), կոդավորվեն տարբեր ձևաչափերով, այնուհետև կպահվեն բաշխված ֆայլերի պահեստում:
Video Encoding
Շատ կարևոր է փոխակերպել և պահպանել տեսանյութի կտորները մի քանի ձևաչափերով, որպեսզի դիտողները կարողանան մուտք գործել դրանք՝ օգտագործելով իրենց համար լավագույնս աշխատող տեխնոլոգիան և ինտերնետ կապը:
Տեսանյութը դիտողները կարող են տեսնել նոութբուքի, հեռախոսի, հեռուստացույցի կամ այլ հարմարանքների վրա: Տարբեր սարքերի օպտիմալ ձևաչափերը տարբերվում են միմյանցից:
Նմանապես, տարբեր հեռուստադիտողներ կարող էին օգտագործել տարբեր թողունակություններ ինտերնետ մուտք գործելու համար:
Որոշ դիտողներ կարող են հեշտությամբ հեռարձակել բարձր լուծաչափով ֆիլմեր՝ կախված իրենց ինտերնետ կապի արագությունից կամ թողունակությունից, մինչդեռ ավելի փոքր թողունակություն ունեցողները կկարողանան շատ ավելի հեշտությամբ հեռարձակել ցածրորակ տեսանյութեր:
Բացեք Connect
Երբ դուք օգտագործում եք ձեր զննարկիչը Netflix.com-ից պահանջելու համար, ձեր ISP-ին (Ինտերնետ Ծառայությունների Մատակարարին) իսկապես խնդրում են կապ հաստատել ձեր համակարգչի և Netflix սերվերի միջև:
Ձեր ISP-ն կապվում է Netflix IP հասցեի հետ ձեր անունից և արդյունքը վերադարձնում ձեզ: Տոկիոյի նման հեռավոր երկրում հանդիսատեսը զգալի ուշացումներ կունենա ազդանշանների փոխանցման և ստացման հարցում՝ ԱՄՆ-ում այդ սերվերների կենտրոնացման պատճառով:
Տեսանյութերի դեպքում ուշացումները շատ ավելի մտահոգիչ են, քանի որ շատ տվյալներ պետք է փոխանցվեն հեռուստադիտողին, և եթե այդպես լինի, հոսքը կհետաձգվի, և օգտվողի փորձը կտուժի:
Netflix-ն օգտագործում է խելացի տեխնիկա խնդիրը շտկելու համար: Այն հայտնի է որպես Open Connect (OC): Open Connect-ը CDN-ն է, որն օգտագործում է Netflix-ը (Content Delivery Network):
Առցանց տեղեկատվությունը քեշավորելու և սպառողներին արագ մատուցելու համար՝ նվազեցնելով օգտագործողի և նյութի միջև ֆիզիկական հեռավորությունը, CDN-ը տարածված սերվերների և հարակից տվյալների կենտրոնների ցանց է:
Բեռի հավասարակշռումը
A մեկ դիմում սերվերը չի կարողանում կարգավորել հարցումների ծավալը (ներառյալ վերբեռնումը, որոնումը և դիտման հարցումները), որոնք ժամանում են ամեն վայրկյան:
Պետք է լինի բեռի հավասարակշռիչ, որպեսզի արդյունավետորեն բաշխվի ծանրաբեռնվածությունը բազմաթիվ սերվերների վրա, քանի որ կան մի քանի սերվերներ:
Netflix-ն օգտագործում է մշտական հեշինգ՝ բեռները սերվերների միջև բաշխելու համար, քանի որ այն կարող է կարգավորել սերվերի խափանումները և հեշտությամբ տեղավորել լրացուցիչ սերվերների տեղադրումը:
Քանի որ յուրաքանչյուր տեսանյութի հանրաճանաչությունը տարբեր է, այս ֆիլմերը հյուրընկալող իրական սերվերները կարող են անհավասար ծանրաբեռնվածություն ունենալ: Օգտագործելով դինամիկ HTTP վերահղումներ, որոնք զբաղված սերվերին թույլ են տալիս նոր հարցումը ուղղել բաց սերվեր, մենք կարող ենք լուծել այս խնդիրը:
Նկատառումներ վիդեո հոսքային հավելված մշակելիս
Գտեք և զարգացրեք ձեր տեղը
Այսքան տարբեր տեսակի նյութերի առկայության դեպքում՝ զվարճանքից մինչև կրթություն մինչև ֆիթնես, կարևոր է մասնագիտացված մասնագիտությամբ տարբերակիչ ստեղծելու համար: Դուք կարող եք հարթակ ստեղծել վավերագրական կամ անկախ ֆիլմերի համար։
Հավելվածի դրամայնացում
Ավանդական դրամայնացման օրինաչափությունների խախտումը կարող է հանգեցնել նորարարության և աճի: Պլանները միշտ պետք է հարմարեցվեն թիրախային լսարանին:
Քանի որ գործող երկրներն արդեն մենաշնորհել են շուկան, դուք կարող եք փորձել դրամայնացնել անվճար անդամակցությունը գովազդի կամ ապրանքի տեղադրման միջոցով:
Դրա հետ մեկտեղ, եթե ցանկանում եք կառուցել հոսքային ծառայության գլոբալ հարթակ, դուք պետք է հաշվի առնեք բազմարժութային կարիքները:
Ավելի լավ փորձ
Ծրագրի կատարումը պետք է բարելավվի ծայրամասային հանգամանքների դեպքում, ինչպիսիք են դանդաղ ինտերնետը կամ սահմանափակ մուտք ունեցող օգտվողները:
Տեսանյութերի հոսք
Netflix-ը ոչ միայն հեռարձակում է բովանդակություն, այլև օգտագործում է օգտատերերի ինժեներական տեխնիկա և անհատականացված առաջարկներ՝ օգտատերերին կապված ծառայության մեջ պահելու համար:
Նախատեսեք ստեղծել հոսքային ծառայություն, որը նման է Netflix-ին՝ շեշտը դնելով տվյալների վերլուծության և օգտագործողների հարմարեցման վրա:
Հավելվածի բազմաթիվ դերերի կառավարում
Netflix հավելվածում օգտվողի դիտումը պարզապես օգտվողի մի քանի դերերից մեկն է: Պլանավորումը պահանջվում է մի շարք օգտատերերի և նրանց հասանելիության համար, ներառյալ ադմինիստրատորը, տեսանյութի սեփականատերը, գործընկերները, մոդերատորները և այլն:
Եզրափակում
Եզրափակելով, սա է, թե ինչպես են վիդեո հոսքային ծառայությունները, ինչպիսիք են Netflix-ը, YouTube-ը և այլ տեսանյութեր, որոնք հետևում են դրանց և ցուցադրում միլիոնավոր սպառողների:
Թեև այս հավելվածներից յուրաքանչյուրը կարող է ունենալ մի քանի լրացուցիչ առանձնահատկություններ, որոնք առանձնացնում են դրանք, հիմնական ֆունկցիոնալությունը հիմնված է նույն ալգորիթմների վրա:
Ես արեցի ամեն ինչ, որպեսզի ձեզ ընդհանուր ակնարկ տամ հոսքային ծառայությունների համակարգի ճարտարապետության մասին, բայց հետին պլանում շատ ավելին է կատարվում:
Ես անկեղծորեն հուսով եմ, որ դուք արժեքավոր կգտնեք այս գիտելիքները և կօգտագործեք դրանք:
Թողնել գրառում