Чӣ тавр мо рамзгузории видеоро ҳашт маротиба суръат додем

Чӣ тавр мо рамзгузории видеоро ҳашт маротиба суръат додем

Ҳар рӯз миллионҳо тамошобинон дар Интернет видео тамошо мекунанд. Аммо барои дастрас шудани видео он бояд на танҳо ба сервер бор карда шавад, балки коркард карда шавад. Чӣ қадаре ки ин кор зудтар сурат гирад, ҳамон қадар барои хадамот ва корбарони он беҳтар аст.

Номи ман Аскар Камолов, як сол пеш ман ба дастаи технологияи видеои Яндекс ҳамроҳ шудам. Имрӯз ман ба хонандагони Ҳабр мухтасар мегӯям, ки чӣ гуна мо тавассути параллелизатсияи раванди рамзгузорӣ тавонистем интиқоли видеоро ба корбар ба таври назаррас суръат бахшем.

Ин паём пеш аз ҳама барои онҳое, ки қаблан дар бораи он чизе, ки дар зери сарпӯши хидматҳои видеоӣ рӯй медиҳад, фикр накардаанд, ҷолиб хоҳад буд. Дар шарҳҳо шумо метавонед саволҳо диҳед ва мавзӯъҳоро барои паёмҳои оянда пешниҳод кунед.

Якчанд сухан дар бораи худи вазифа. Яндекс на танҳо ба шумо дар ҷустуҷӯи видеоҳо дар сайтҳои дигар кӯмак мекунад, балки инчунин видеоҳоро барои хидматҳои худ нигоҳ медорад. Новобаста аз он ки ин як барномаи аслӣ ё бозии варзишӣ дар эфир, филм дар KinoPoisk ё видео дар Zen ва News - ҳамаи ин ба серверҳои мо бор карда мешаванд. Барои он ки корбарон видеоро тамошо кунанд, он бояд омода карда шавад: ба формати зарурӣ табдил дода, пешнамоиш эҷод кунед ё ҳатто тавассути технология кор кунед DeepHD. Файли омоданашуда танҳо ҷойро ишғол мекунад. Гузашта аз ин, сухан на танҳо дар бораи истифодаи оптималии сахтафзор, балки дар бораи суръати интиқоли мундариҷа ба корбарон меравад. Мисол: сабти лаҳзаи ҳалкунандаи бозии хоккейро дар давоми як дақиқа пас аз худи ҳодиса ҷустуҷӯ кардан мумкин аст.

Рамзгузории пайдарпай

Ҳамин тавр, хушбахтии корбар бештар аз он вобаста аст, ки видео то чӣ андоза зуд дастрас мешавад. Ва ин асосан бо суръати транскодкунӣ муайян карда мешавад. Вақте ки талаботҳои қатъӣ барои суръати боркунии видео вуҷуд надоранд, пас ҳеҷ мушкиле вуҷуд надорад. Шумо як файли ҷудонашавандаро мегиред, онро табдил медиҳед ва бор мекунед. Дар оғози сафар мо чунин кор кардем:

Чӣ тавр мо рамзгузории видеоро ҳашт маротиба суръат додем

Мизоҷ видеоро ба анбор бор мекунад, ҷузъи Analyzer иттилооти мета ҷамъоварӣ мекунад ва видеоро ба ҷузъи Worker барои табдил медиҳад. Ҳама марҳилаҳо пайдарпай иҷро карда мешаванд. Дар ин ҳолат, серверҳои рамзгузорӣ метавонанд зиёд бошанд, аммо танҳо як нафар бо коркарди видеои мушаххас банд аст. Диаграммаи оддӣ, шаффоф. Дар ин ҷо афзалиятҳои он ба охир мерасад. Ин нақшаро танҳо амудӣ васеъ кардан мумкин аст (аз ҳисоби харидани серверҳои пурқувваттар).

Рамзгузории пайдарпай бо натиҷаи мобайнӣ

Барои як навъ сабук кардани интизории дардовар, саноат як варианти рамзгузории зудро пешниҳод кард. Ном гумроҳкунанда аст, зеро дар асл рамзгузории пурра пайдарпай сурат мегирад ва ҳамон қадар вақт мегирад. Аммо бо натиҷаи миёна. Идея ин аст: ҳарчи зудтар як версияи пастсифати видеоро омода ва нашр кунед ва танҳо пас аз он версияҳои баландтар.

Аз як тараф, видео зудтар дастрас мешавад. Ва он барои рӯйдодҳои муҳим муфид аст. Аммо аз тарафи дигар, тасвир норавшан мешавад ва ин бинандагонро ба хашм меорад.

Маълум мешавад, ки шумо бояд на танҳо видеоро зуд коркард кунед, балки сифати онро низ нигоҳ доред. Ин аст он чизе ки корбарон ҳоло аз хидмати видео интизоранд. Чунин ба назар мерасад, ки барои харидани серверҳои сермаҳсул (ва мунтазам навсозӣ кардани ҳамаашон якбора) кифоя аст. Аммо ин сарбаста аст, зеро ҳамеша як видео вуҷуд дорад, ки ҳатто сахтафзори пурқувватро суст мекунад.

Рамзгузории параллелӣ

Мушкилоти мураккабро ба бисёр масъалаҳои камтар мураккаб тақсим кардан ва дар серверҳои гуногун дар баробари онҳо ҳал кардан хеле самараноктар аст. Ин MapReduce барои видео аст. Дар ин ҳолат, мо бо иҷрои як сервер маҳдуд нестем ва метавонем ба таври уфуқӣ миқёс кунем (бо илова кардани мошинҳои нав).

Дар омади гап, идеяи тақсим кардани видео ба қисмҳои хурд, коркарди онҳо дар мувозӣ ва часпак кардани онҳо ягон сирр нест. Шумо метавонед истинодҳои зиёдеро дар бораи ин равиш пайдо кунед (масалан, дар Habré ман мақоларо дар бораи лоиҳа тавсия медиҳам DistVIDc). Аммо ин умуман онро осонтар намекунад, зеро шумо наметавонед танҳо як ҳалли тайёрро гирифта, онро дар хонаи худ созед. Мо бояд ба инфрасохтори худ, видеои мо ва ҳатто сарбории худ мутобиқ шавем. Умуман, навиштани худ осонтар аст.

Ҳамин тавр, дар меъмории нав, мо блоки монолитии Worker-ро бо рамзгузории пайдарпай ба микросервисҳои Segmenter, Tcoder, Combiner тақсим кардем.

Чӣ тавр мо рамзгузории видеоро ҳашт маротиба суръат додем

  1. Segmenter видеоро ба қисмҳои тақрибан 10 сония тақсим мекунад. Фрагментҳо аз як ё якчанд GOP иборатанд (гурӯҳи суратҳо). Ҳар як GOP мустақил аст ва алоҳида рамзгузорӣ шудааст, то он метавонад бидуни истинод ба чаҳорчӯбаҳои дигар GOP рамзкушо карда шавад. Яъне, порчаҳоро новобаста аз ҳамдигар иҷро кардан мумкин аст. Ин тақсимкунӣ таъхирро коҳиш медиҳад ва имкон медиҳад коркард барвақттар оғоз шавад.
  2. Tcoder ҳар як фрагментро коркард мекунад. Он аз навбат супориш мегирад, фрагментро аз анбор зеркашӣ мекунад, онро ба қарорҳои гуногун рамзгузорӣ мекунад (дар хотир доред, ки плеер метавонад версияро дар асоси суръати пайвастшавӣ интихоб кунад), сипас натиҷаро дубора ба анбор мегузорад ва фрагментро ҳамчун коркард қайд мекунад дар базаи маълумот. Пас аз коркарди ҳамаи порчаҳо, Tcoder супоришро барои тавлиди натиҷаҳо барои ҷузъи навбатӣ мефиристад.
  3. Combiner натиҷаҳоро якҷоя ҷамъ мекунад: ҳамаи порчаҳои аз ҷониби Tcoder сохташударо зеркашӣ мекунад, ҷараёнҳоро барои қарорҳои гуногун тавлид мекунад.

Якчанд сухан дар бораи садо. Маъмултарин кодеки аудиоии AAC дорои хусусияти ногувор аст. Агар шумо порчаҳоро алоҳида рамзгузорӣ кунед, пас шумо наметавонед онҳоро бефосила часпонед. Гузаришҳо назаррас хоҳанд буд. Кодекҳои видеоӣ ин мушкилот надоранд. Аз ҷиҳати назариявӣ, шумо метавонед як ҳалли мураккаби техникиро ҷустуҷӯ кунед, аммо ин бозӣ ҳанӯз ба қадри кофӣ нест (вазни аудио нисбат ба видео хеле камтар аст). Аз ин рӯ, танҳо видео дар мувозӣ рамзгузорӣ карда мешавад ва тамоми суруди аудио коркард карда мешавад.

натиҷаҳои

Бо шарофати коркарди мувозии видео, мо таъхирро байни видеое, ки ба мо бор карда мешавад ва ба корбарон дастрас аст, хеле кам кардем. Масалан, қаблан сохтани якчанд версияи пурраи сифатҳои гуногун барои филми FullHD, ки якуним соат давом мекунад, ду соат вақт лозим буд. Ҳоло ҳамаи ин 15 дақиқа мегирад. Гузашта аз ин, бо коркарди параллелӣ, мо як версияи баландсифатро ҳатто зудтар аз версияи пастсифат бо усули пешинаи натиҷавӣ эҷод мекунем.

Ва як чизи дигар. Бо усули кӯҳна, ё серверҳо кофӣ набуданд, ё онҳо бе вазифаҳо бекор буданд. Рамзгузории параллелӣ ба шумо имкон медиҳад, ки ҳиссаи коркарди оҳанро зиёд кунед. Ҳоло кластери мо, ки беш аз ҳазор сервер дорад, ҳамеша бо чизе банд аст.

Дар хакикат, барои такмил додан хануз имкониятхо мавчуданд. Масалан, мо метавонем вақти зиёдро сарфа кунем, агар мо коркарди порчаҳои видеоро пеш аз он ки пурра ба мо бирасад, оғоз кунем. Чунон ки мегуянд, боз хам пеш меояд.

Дар шарҳҳо нависед, ки шумо дар бораи кадом вазифаҳо дар соҳаи кор бо видео хондан мехоҳед.

Пайвандҳои муфид ба таҷрибаи ҳамкасбони соҳа

Манбаъ: will.com

Илова Эзоҳ