Momwe tidafulumizitsa kusungitsa makanema kasanu ndi katatu

Momwe tidafulumizitsa kusungitsa makanema kasanu ndi katatu

Tsiku lililonse, anthu mamiliyoni ambiri amaonera mavidiyo pa Intaneti. Koma kuti kanemayo apezeke, sikuyenera kukwezedwa pa seva, komanso kukonzedwa. Izi zikachitika mwachangu, zimakhala zabwinoko kwa ntchitoyo ndi ogwiritsa ntchito.

Dzina langa ndi Askar Kamalov, chaka chapitacho ndinalowa nawo gulu laukadaulo laukadaulo la Yandex. Lero ndifotokozera mwachidule owerenga a Habr za momwe, pofananiza ndi kabisidwe ka encoding, tidakwanitsa kufulumizitsa kwambiri kutumiza makanema kwa wogwiritsa ntchito.

Chotsatirachi chidzakhala chosangalatsa kwa iwo omwe sanaganizirepo kale zomwe zimachitika pansi pa mavidiyo. Mu ndemanga mutha kufunsa mafunso ndikuwonetsa mitu yazolemba zamtsogolo.

Mawu ochepa okhudza ntchitoyo yokha. Yandex sikuti imakuthandizani kuti mufufuze mavidiyo pamasamba ena, komanso imasunga makanema pazothandizira zake. Kaya ndi pulogalamu yapachiyambi kapena masewera amasewera pamlengalenga, filimu pa KinoPoisk kapena makanema pa Zen ndi News - zonsezi zimayikidwa kumaseva athu. Kuti ogwiritsa ntchito awonere kanemayo, ikuyenera kukonzekera: kutembenuzidwa ku mtundu wofunikira, kupanga chithunzithunzi, kapena kuthamanga kudzera muukadaulo. DeepHD. Fayilo yosakonzekera imangotenga malo. Komanso, sitikulankhula za kugwiritsa ntchito bwino kwa hardware, komanso za liwiro la kutumiza zomwe zili kwa ogwiritsa ntchito. Chitsanzo: kujambula kwa mphindi yomaliza yamasewera a hockey kumatha kufufuzidwa mkati mwa mphindi imodzi pambuyo pa chochitikacho.

Sequential encoding

Chifukwa chake, chisangalalo cha wogwiritsa ntchito makamaka chimadalira momwe kanemayo akupezeka mwachangu. Ndipo izi zimatsimikiziridwa makamaka ndi liwiro la transcoding. Pamene palibe okhwima zofunika kwa kanema kukweza liwiro, ndiye palibe mavuto. Mumatenga fayilo imodzi, yosagawanika, kuisintha, ndikuyiyika. Kumayambiriro kwa ulendo wathu, umu ndi momwe tinagwirira ntchito:

Momwe tidafulumizitsa kusungitsa makanema kasanu ndi katatu

Makasitomala amakweza kanemayo kumalo osungira, gawo la Analyzer limasonkhanitsa zambiri za meta ndikusamutsa kanemayo ku gawo la Worker kuti atembenuke. Magawo onse amachitidwa motsatizana. Pankhaniyi, pakhoza kukhala ma encoding ma seva ambiri, koma imodzi yokha yomwe ili yotanganidwa kukonza kanema inayake. Chojambula chosavuta, chowonekera. Apa ndi pamene ubwino wake umathera. Chiwembuchi chikhoza kusinthidwa molunjika (chifukwa chogula ma seva amphamvu kwambiri).

Sequential encoding yokhala ndi zotsatira zapakatikati

Kuti mwanjira ina kudikirira kowawa, makampani adabwera ndi njira yolembera mwachangu. Dzinali ndi losocheretsa, chifukwa kwenikweni, zolemba zonse zimachitika motsatizana ndipo zimatenga nthawi yayitali. Koma ndi zotsatira zapakatikati. Lingaliro ndi ili: konzani ndikusindikiza kanema wocheperako mwachangu momwe mungathere, ndiyeno matembenuzidwe apamwamba kwambiri.

Kumbali imodzi, kanema amapezeka mwachangu. Ndipo ndi zothandiza pa zochitika zofunika. Koma kumbali ina, chithunzicho chimakhala chosamveka, ndipo izi zimakwiyitsa owonera.

Zikuwonekeratu kuti simuyenera kungokonza kanemayo mwachangu, komanso kukhalabe ndi khalidwe lake. Izi ndi zomwe ogwiritsa ntchito amayembekeza kuchokera ku kanema wa kanema tsopano. Zitha kuwoneka kuti ndizokwanira kugula ma seva opambana kwambiri (ndikuwakweza pafupipafupi nthawi imodzi). Koma izi ndizovuta, chifukwa nthawi zonse pamakhala kanema yomwe imapangitsa kuti zida zamphamvu kwambiri zichepetse.

Encoding yofananira

Ndizothandiza kwambiri kugawa vuto lovuta kukhala laling'ono kwambiri ndikulithetsa mofananira pamaseva osiyanasiyana. Iyi ndi MapReduce ya kanema. Pachifukwa ichi, sitikuchepa ndi ntchito ya seva imodzi ndipo timatha kukula mozungulira (powonjezera makina atsopano).

Mwa njira, lingaliro la kugawanitsa mavidiyo mu tiziduswa tating'ono, kuwakonza mofanana ndi kuwagwirizanitsa pamodzi sichinsinsi. Mutha kupeza maumboni ambiri okhudzana ndi njirayi (mwachitsanzo, pa HabrΓ© ndikupangira zolemba za polojekitiyi Zithunzi za DistVIDc). Koma izi sizimapangitsa kuti zikhale zosavuta, chifukwa simungathe kungotenga yankho lokonzekera ndikulimanga m'nyumba mwanu. Timafunikira kusinthika kuzinthu zathu, makanema athu komanso katundu wathu. Nthawi zambiri, ndizosavuta kulemba zanu.

Chifukwa chake, pakumanga kwatsopano, tidagawa chipika cha Worker monolithic chokhala ndi zolemba zotsatizana kukhala ma microservices Segmenter, Tcoder, Combiner.

Momwe tidafulumizitsa kusungitsa makanema kasanu ndi katatu

  1. Segmenter akugawa kanema kukhala zidutswa pafupifupi masekondi 10. Zidutswa zimakhala ndi GOP imodzi kapena zingapo (gulu la zithunzi). GOP iliyonse imakhala yodziyimira payokha komanso yosungidwa payokha kuti itha kusinthidwa popanda kutengera mafelemu a ma GOP ena. Ndiko kuti, zidutswa zimatha kuseweredwa paokha paokha. Kuphatikizika uku kumachepetsa latency, kulola kuti kukonza kuyambike kale.
  2. Tcoder imakonza chidutswa chilichonse. Zimatengera ntchito pamzere, kutsitsa kachidutswa kosungirako, ndikuchiyika muzosankha zosiyanasiyana (kumbukirani kuti wosewerayo amatha kusankha mtundu malinga ndi liwiro la kulumikizana), kenako ndikubwezeretsanso chosungiracho ndikuyika chidutswacho ngati chakonzedwa. mu database. Atakonza zidutswa zonse, Tcoder imatumiza ntchitoyi kuti ipange zotsatira za gawo lotsatira.
  3. Combiner amasonkhanitsa zotsatira pamodzi: kutsitsa zidutswa zonse zopangidwa ndi Tcoder, kumapanga mitsinje yamalingaliro osiyanasiyana.

Mawu ochepa okhudza mawu. Wodziwika kwambiri AAC audio codec ali ndi zosasangalatsa mbali. Ngati mungasungire zidutswa padera, ndiye kuti simungathe kumamatira pamodzi mosasunthika. Zosintha zidzawoneka. Ma codec amakanema alibe vutoli. Mwachidziwitso, mutha kuyang'ana njira yovuta yaukadaulo, koma masewerawa siwofunikanso kandulo (mawu amalemera kwambiri kuposa kanema). Chifukwa chake, kanema wokhayo amasungidwa mofanana, ndipo nyimbo yonse yomvera imakonzedwa.

Zotsatira

Chifukwa cha kukonzanso mavidiyo ofanana, tachepetsa kwambiri kuchedwa pakati pa kanema yomwe imakwezedwa kwa ife ndi kupezeka kwa ogwiritsa ntchito. Mwachitsanzo, m'mbuyomu zitha kutenga maola awiri kupanga mitundu ingapo yamitundu yosiyanasiyana ya filimu ya FullHD yomwe imatenga ola limodzi ndi theka. Tsopano zonsezi zimatenga mphindi 15. Kuphatikiza apo, ndi kukonza kofananira, timapanga mawonekedwe apamwamba kwambiri mwachangu kuposa mawonekedwe otsika ndi njira yakale yapakatikati.

Ndipo chinthu chinanso. Ndi njira yakale, mwina panalibe ma seva okwanira, kapena anali opanda ntchito. Parallel coding imakupatsani mwayi wowonjezera gawo lakubwezeretsanso chitsulo. Tsopano gulu lathu la ma seva opitilira chikwi nthawi zonse amakhala otanganidwa ndi china chake.

Ndipotu pali mpata woti tiwongolere. Mwachitsanzo, titha kusunga nthawi yofunikira ngati titayamba kukonza zidutswa za kanemayo isanafike kwa ife yonse. Monga akunena, zambiri zikubwera.

Lembani mu ndemanga ntchito zomwe mukugwira ntchito ndi kanema mukufuna kuwerenga.

Maulalo othandiza pazokumana nazo za ogwira nawo ntchito m'makampani

Source: www.habr.com

Kuwonjezera ndemanga