Mafambisiro atakaita encoding yevhidhiyo kasere

Mafambisiro atakaita encoding yevhidhiyo kasere

Zuva nezuva, mamiriyoni evaoni anoona mavhidhiyo paInternet. Asi kuti vhidhiyo ivepo, haifanirwe kungoiswa kune server chete, asi zvakare kugadziriswa. Izvo zvinokurumidza kuitika izvi, zviri nani kune sevhisi nevashandisi vayo.

Zita rangu ndinonzi Askar Kamalov, gore rapfuura ndakabatana neYandex vhidhiyo tekinoroji timu. Nhasi ndichaudza muchidimbu vaverengi veHabr nezve sei, nekufananidza maitiro encoding, isu takakwanisa kukurumidza kukurumidza kuendeswa kwevhidhiyo kumushandisi.

Iyi positi ichanyanya kufarira kune avo vasina kumbobvira vafunga nezve zvinoitika pasi pehodhi yemavhidhiyo masevhisi. Mune makomendi iwe unogona kubvunza mibvunzo uye kupa mazano ezvinyorwa zvenguva yemberi.

Mashoko mashoma pamusoro pebasa racho pacharo. Yandex haisi kungokubatsira kutsvaga mavhidhiyo kune mamwe masayiti, asiwo inochengetedza mavhidhiyo emabasa ayo. Ingave chirongwa chepakutanga kana mutambo wemitambo pamhepo, firimu reKinoPoisk kana mavhidhiyo paZen neNhau - zvese izvi zvakaiswa kumaseva edu. Kuti vashandisi vatarise vhidhiyo, inofanirwa kugadzirirwa: kuchinjirwa kune inodiwa fomati, kugadzira preview, kana kutomhanya kuburikidza nehunyanzvi. DeepHD. Iyo faira isina kugadzirira inongotora nzvimbo. Uyezve, hatisi kutaura chete nezvekushandiswa kwakaringana kwehardware, asiwo nezve kukurumidza kwekutumira zvemukati kune vashandisi. Muenzaniso: kurekodha yenguva yakasarudzika yemutambo wehockey inogona kutsvakwa mukati meminiti mushure mechiitiko chacho.

Sequential encoding

Saka, mufaro wemushandisi unonyanya kuenderana nekuti vhidhiyo inokurumidza kuwanikwa sei. Uye izvi zvinonyanya kutsanangurwa neiyo transcoding kumhanya. Kana pasina zvakaomesesa zvinodikanwa zvekumhanyisa vhidhiyo kurodha, saka hapana matambudziko. Iwe unotora faira rimwechete, risingaonekwe, worishandura, uye woriisa. Pakutanga kwerwendo rwedu, aya ndiwo mashandiro atakaita:

Mafambisiro atakaita encoding yevhidhiyo kasere

Mutengi anorodha vhidhiyo yacho kunzvimbo yekuchengetedza, chikamu cheAnalyzer chinounganidza ruzivo rwemeta uye kuendesa vhidhiyo kuChikamu cheMushandi kuti chishandurwe. Matanho ese anoitwa achitevedzana. Mune ino kesi, panogona kuve neakawanda encoding maseva, asi imwe chete iri kubatikana kugadzirisa chaiyo vhidhiyo. Rakareruka, rakajeka dhayagiramu. Apa ndipo panoperera zvakanakirawo. Ichi chirongwa chinogona chete kuyerwa kumusoro (nekuda kwekutenga kwemaseva ane simba).

Sequential encoding ine yepakati mhedzisiro

Kuti neimwe nzira igadzirise kumirira kunorwadza, iyo indasitiri yakauya nekutsanya coding sarudzo. Iro zita rinorasisa, nekuti chokwadi, yakazara coding inoitika sequentially uye inotora nguva yakareba. Asi nemhedzisiro yepakati. Pfungwa ndeiyi: gadzirira uye buritsa yakaderera-resolution vhezheni yevhidhiyo nekukurumidza sezvinobvira, uye chete ipapo yakakwirira-resolution shanduro.

Kune rimwe divi, vhidhiyo inowanikwa nekukurumidza. Uye inobatsira kune zviitiko zvakakosha. Asi kune rumwe rutivi, mufananidzo unobuda usina kujeka, uye izvi zvinogumbura vataridzi.

Zvinoitika kuti haufanirwe kungokurumidza kugadzirisa vhidhiyo, asi zvakare kuchengetedza mhando yayo. Izvi ndizvo zvinotarisirwa nevashandisi kubva kuvhidhiyo sevhisi izvozvi. Zvinogona kuita sekuti zvakakwana kutenga maseva anobereka zvakanyanya (uye kugara uchivandudza ese kamwechete). Asi iyi imugumo wakafa, nekuti pane nguva dzose vhidhiyo ichaita kuti kunyange iyo yakanyanya simba Hardware inonoke.

Parallel encoding

Izvo zvakanyanya kushanda zvakanyanya kugovera dambudziko rakaoma mune akawanda asina kuomesesa uye kugadzirisa iwo akafanana pamaseva akasiyana. Iyi iMapReduce yevhidhiyo. Muchiitiko ichi, isu hatisi kuganhurirwa nekuita kwesevha imwe uye tinogona kukwira zvakachinjika (nekuwedzera michina mitsva).

Nenzira, iyo pfungwa yekutsemura mavhidhiyo kuita zvidimbu zvidiki, kuagadzirisa zvakafanana uye nekuabatanidza pamwechete hachisi chakavanzika. Iwe unogona kuwana akawanda mareferensi eiyi nzira (semuenzaniso, paHabrΓ© ini ndinokurudzira positi nezve purojekiti DistVIDc) Asi izvi hazviiti kuti zvive nyore zvachose, nokuti haugoni kungotora mhinduro yakagadzirwa uye kuivaka mumba mako. Isu tinoda kuchinjika kune yedu masisitimu, vhidhiyo yedu uye kunyangwe mutoro wedu. Kazhinji, zviri nyore kunyora iwe pachako.

Saka, mukuvaka kutsva, isu takapatsanura iyo monolithic Worker block ine inoteedzana coding kuita microservices Segmenter, Tcoder, Combiner.

Mafambisiro atakaita encoding yevhidhiyo kasere

  1. Segmenter inotyora vhidhiyo kuita zvidimbu zvingangoita masekonzi gumi. Zvimedu zvinosanganisira imwe kana kupfuura GOPs (boka remifananidzo) Imwe neimwe GOP yakazvimiririra uye yakavharirwa zvakasiyana kuitira kuti igone kudhindwa pasina kutaurwa nemafuremu kubva kune mamwe maGOP. Ndiko kuti, zvidimbu zvinogona kutambwa zvakasununguka kubva kune mumwe nemumwe. Iyi sharding inoderedza latency, ichibvumira kugadzirisa kutanga.
  2. Tcoder inogadzirisa chidimbu chimwe nechimwe. Zvinotora basa kubva pamutsetse, kudhawunirodha chidimbu kubva muchengetedzo, kuchiisa mukati mezvisarudzo zvakasiyana (rangarira kuti mutambi anogona kusarudza vhezheni zvichienderana nekumhanya kwekubatanidza), wozodzosera mhedzisiro yacho mudura uye anomaka chidimbu sechakagadziriswa. mu database. Mushure mekugadzirisa zvimedu zvese, Tcoder inotumira iro basa kuti riburitse mhedzisiro yechikamu chinotevera.
  3. Combiner inounganidza zvawanikwa pamwechete: kurodha zvese zvidimbu zvakaitwa neTcoder, inogadzira hova dzezvisarudzo zvakasiyana.

Mashoko mashoma pamusoro pezwi. Iyo inonyanya kufarirwa yeAAC audio codec ine isingafadze chimiro. Kana iwe ukakodha zvimedu zvakaparadzana, saka haugone kuzvinamatidza pamwechete zvisina musono. Kuchinja kuchaonekwa. Vhidhiyo macodecs haana dambudziko iri. Nechepfungwa, iwe unogona kutsvaga yakaoma tekinoroji mhinduro, asi mutambo uyu hausi wakakodzera kenduru parizvino (odhiyo inorema zvishoma pane vhidhiyo). Naizvozvo, vhidhiyo chete ndiyo yakavharidzirwa nenzira yakafanana, uye iyo yose track track inogadziriswa.

Mhinduro

Nekuda kwekuenderana kugadziridzwa kwevhidhiyo, isu taderedza zvakanyanya kunonoka pakati pevhidhiyo iri kuiswa kwatiri uye kuwanikwa kune vashandisi. Semuenzaniso, pakutanga zvaigona kutora maawa maviri kugadzira akati wandei akazara emhando dzakasiyana firimu reFullHD rinogara awa nehafu. Iye zvino zvese izvi zvinotora maminitsi gumi nemashanu. Uyezve, neparallel process, isu tinogadzira yakakwira-resolution vhezheni yakakurumidza kupfuura yakaderera-resolution vhezheni ine yekare yepakati mhedzisiro maitiro.

Uye chimwe chinhu zvakare. Nemaitiro echinyakare, kungave kwakanga kusina maseva akakwana, kana kuti akanga asina basa asina mabasa. Parallel coding inokutendera kuti uwedzere chikamu chekudzokorodza simbi. Iye zvino boka redu remaseva anopfuura chiuru rinogara rakabatikana nechimwe chinhu.

Kutaura zvazviri, pachine nzvimbo yekuvandudza. Semuenzaniso, tinogona kuchengetedza nguva yakakosha kana tikatanga kugadzirisa zvidimbu zvevhidhiyo isati yasvika kwatiri yakazara. Sezvavanotaura, zvakawanda zvichauya.

Nyora mumashoko kuti ndeapi mabasa mumunda wekushanda nevhidhiyo iwe waungada kuverenga nezvazvo.

Zvinobatsira zvinongedzo kune ruzivo rwevashandi veindasitiri

Source: www.habr.com

Voeg