Преглед садржаја[Сакрити][Прикажи]
Постоји прилично пристојна могућност да сте емитовали нешто ако сте неко време провели на мрежи.
Стреаминг је једна од најчешћих употреба најпознатијих интернетских апликација, било да се ради о ИоуТубе-у, Спотифи-у, Нетфлик-у или стотинама других.
Међутим, с обзиром на то колико је стриминг уобичајен, лако га је узети здраво за готово. На пример: Шта је тачно стриминг?
Сваки медијски материјал, уживо или снимљен, који се шаље преко интернета на рачунаре и мобилне уређаје и репродукује у реалном времену, назива се стриминг.
Уобичајени типови материјала за стриминг укључују подцасте, вебцастове, филмове, телевизијске емисије и музичке спотове.
Медијске ставке као што су музика, видео и друге врсте планирају се и преносе у узастопним пакетима података тако да се могу тренутно стримовати.
Одговарајући уређај, приступ сервису за стриминг или апликацији и брза, поуздана брза интернет веза су све што вам је потребно за стримовање.
Напомена: Користићемо услугу видео стримовања као пример.
Овај пост ће детаљно размотрити дизајн система сервиса за стриминг и кључне факторе које треба узети у обзир приликом развоја апликација за стриминг видео записа.
Системски захтев
Међу најпопуларнијим сервисима за видео стримовање на свету су ИоуТубе и Нетфлик. Да би побољшали корисничко искуство, њихова архитектура укључује низ елемената.
Таква услуга укључује популарне филмове, фактурисање, системе препорука засноване на вештачкој интелигенцији и функционалност за касније гледање, али ми ћемо се концентрисати на битне елементе.
Основни квалитети
Укључили смо следеће могућности у наш концепт за а видео стреаминг услуга:
- Креатори садржаја могу да постављају видео записе.
- Гледаоци могу да користе многе уређаје за гледање видео записа (мобилни, ТВ, итд.).
- На видео снимцима, корисници могу да примете, да им се свиђају или не свиђају.
- Наслови видео снимака се могу користити за њихово тражење.
- Да би ове статистике приказао корисницима, систем може да складишти прегледе, свиђања и несвиђања.
Циљеви система
- Не би требало да постоји баферовање тако да гледаоци могу да гледају видео снимке у реалном времену.
- Складиштење за видео треба да буде поуздано. Не би требало да изгубите видео снимке које сте отпремили.
- Са повећањем броја корисника, систем би требало да буде скалабилан.
- Ниско кашњење и висока доступност би требало да буду карактеристике система. У овој ситуацији, доследност није толико важна јер је у реду да корисник сачека неко време пре него што погледа свеже послат филм.
Један сервер не може да поднесе обим података јер систем мора редовно да управља јаким саобраћајем. Група сервера ће се користити за сервисирање система.
Не би требало да буде видљивих утицаја на брзину за клијенте чак и ако се један сервер сруши.
Архитектура високог нивоа
Програм за стриминг видео записа може прихватити једну од три различите врсте захтева:
- Отпреми (пиши)
- Претражи (прочитај)
- Погледај (прочитај)
Пошто ће упити за читање (претрага и преглед) често бити неколико пута чешћи од захтева за писање (уплоад), сваким од њих управља посебан кластер сервера.
Пошто је програм интензиван за читање, мораћете да подесите више сервера за обраду захтева за читање него за отпремање.
Сваки захтев клијента се усмерава на одговарајућу микросервис од стране лоад баланцер када се прими.
Уплоад Сервице
Услуга отпремања, која обрађује видео запис, поставља га на Опен Цоннецт сервере и чини га доступним свим корисницима, испуњава захтев за отпремање.
Сеарцх Сервице
Балансатор оптерећења шаље захтев за претрагу микросервису за претрагу, који га затим шаље Нетфлик-овој Еластиц претрази. Клијент добија одговор на Еластиц сеарцх.
Еластична претрага, невероватно скалабилан претраживач отвореног кода пуног текста, користи Нетфлик за претраживање милиона видео записа.
Нетфликс користи еластичну претрагу за анализу операција корисничке службе.
Виев Сервице
Већина захтева за преглед неће бити послата балансеру оптерећења или Нетфлик-овим серверима. Уместо тога, корисници ће се повезати са локалним ИСП-овима и добијати храну директно са најближег Опен Цоннецт сервера.
Међутим, ако тражени видео није доступан, биће послат балансеру оптерећења и микросервису за преглед.
Видео се затим претражује у бази метаподатака, преузима са путање наведене у метаподацима и преноси до клијента.
Наравно, ова техника укључује кашњење, због чега се практично сви захтеви за преглед пружају преко Опен Цоннецт-а.
Отпремите видео записе
Главна сврха ИоуТубе-а је да отпреми филм или видео. Услуга видео стримовања мора да превазиђе бројне препреке пре него што видео учини доступним својим потрошачима.
Чување у комадима
Сваки поднети видео ће бити подељен на бројне мање датотеке уместо да се чува као једна велика датотека.
Ово је неопходно јер произвођачи садржаја могу да пошаљу огромне видео снимке. Обрада или стримовање једне велике датотеке може потрајати неко време.
Гледалац неће морати да преузима цео видео да би га пустио ако је сачуван и доступан му у деловима.
Да би се осигурало да постоји мало кашњења између делова и да корисник има неометано искуство гледања, клијент ће прво затражити први део од сервера, а затим затражити следећи део док се тај део репродукује.
Ред за обраду
Сваки видео има бројне делове, а Нетфлик ће користити неколико истовремених радника да их анализира, тако да је потребан ред за обраду. Додавањем у ред, ово је поједностављено.
Послове ће сакупљати радници (или енкодери, о чему ћемо даље говорити), кодирани у различите формате, а затим ускладиштени у дистрибуираном складишту датотека.
видео кодирање
Кључно је да конвертујете и сачувате видео делове у неколико формата тако да гледаоци могу да им приступе користећи технологију и интернет везу која им најбоље одговара.
Гледаоци могу да виде видео на лаптопу, телефону, ТВ-у или другим уређајима. Оптимални формати за различите уређаје се разликују један од другог.
На сличан начин, различити гледаоци могу да користе различите пропусне опсеге за приступ интернету.
Неки гледаоци би могли са лакоћом да стримују филмове високе резолуције у зависности од брзине њихове интернет везе или пропусног опсега, док ће они са мањим пропусним опсегом моћи много лакше да стримују видео записе ниског квалитета.
Отворите Цоннецт
Када користите свој претраживач да тражите Нетфлик.цом, од вашег ИСП-а (Интернет Сервице Провидер) се заиста тражи да успостави везу између вашег рачунара и Нетфлик сервера.
Ваш ИСП контактира Нетфлик ИП адресу у ваше име и враћа вам резултат. Публика у удаљеној земљи као што је Токио доживеће значајна кашњења у преносу и пријему сигнала због концентрације ових сервера у САД.
Код видео снимака, кашњења су много већа брига, јер много података мора да се пренесе гледаоцу, а ако јесте, стриминг ће бити одложен и корисничко искуство ће патити.
Нетфлик користи паметну технику да реши проблем. Познато је као Опен Цоннецт (ОЦ). Опен Цоннецт је ЦДН који Нетфлик користи (Мрежа за испоруку садржаја).
У циљу кеширања онлајн информација и брзог достављања потрошачима смањењем физичке удаљености између корисника и материјала, ЦДН је мрежа сервера за ширење и повезаних центара података.
Балансирање оптерећења
A појединачна апликација сервер није у стању да поднесе обим захтева (укључујући захтеве за отпремање, претрагу и гледање) који стижу сваке секунде.
Мора постојати балансер оптерећења да би се радно оптерећење ефикасно распоредило на бројне сервере јер је укључено неколико сервера.
Нетфлик користи константно хеширање за дистрибуцију оптерећења међу серверима јер може да се носи са кваровима сервера и са лакоћом прилагоди инсталацију додатних сервера.
Пошто популарност сваког видеа варира, стварни сервери који угошћују ове филмове могу доживети неједнако оптерећење. Користећи динамичка ХТТП преусмеравања, која омогућавају заузетом серверу да преусмери нови захтев на отворени сервер, можемо да решимо овај проблем.
Разматрање приликом развоја апликације за стриминг видео записа
Пронађите и развијте своју нишу
Са толико различитих врста материјала који су доступни, од забаве преко образовања до фитнеса, од кључне је важности да се направи диференцијатор са специјализованом специјалношћу. Можете креирати платформу за документарне или независне филмове.
Монетизација апликације
Ометање традиционалних образаца монетизације може довести до иновација и раста. Планови увек треба да буду прилагођени циљној публици.
Пошто су водећи људи већ монополизовали тржиште, можете покушати да уновчите бесплатно чланство помоћу огласа или пласмана производа.
Уз ово, ако желите да изградите глобалну платформу за стреаминг услуге, морате узети у обзир потребе за више валута.
Боље искуство
Перформансе програма треба да буду побољшане за крајње ситуације као што су спор интернет или корисници са ограниченим приступом.
Стримовање видео записа
Нетфликс не само да емитује садржај, већ користи технике инжињеринга корисника и персонализоване предлоге како би кориснике задржао на услузи.
Планирајте успостављање сервиса за стриминг сличан Нетфлик-у са нагласком на аналитици података и прилагођавању корисника.
Управљање многим улогама апликације
У апликацији Нетфлик, кориснички приказ је једноставно једна од неколико корисничких улога. Планирање је потребно за различите кориснике и њихов приступ, укључујући администратора, власника видеа, партнере, модераторе итд.
Zakljucak
У закључку, ово је начин на који сервиси за стриминг видео записа као што су Нетфлик, ИоуТубе и други уграђени видео снимци, прате их и показују их милионима потрошача.
Иако свака од ових апликација може имати неколико додатних функција које их издвајају, основна функционалност је заснована на истим алгоритмима.
Дао сам све од себе да вам дам општи преглед архитектуре система сервиса за стриминг, али у позадини се дешава још много тога.
Искрено се надам да ће вам ово знање бити драгоцено и да ћете га искористити.
Ostavite komentar