Mar a bhrosnaich sinn còdachadh bhidio ochd tursan

Mar a bhrosnaich sinn còdachadh bhidio ochd tursan

Gach latha, bidh milleanan de luchd-amhairc a’ coimhead bhideothan air an eadar-lìn. Ach airson a’ bhidio a bhith ri fhaighinn, feumar chan ann a-mhàin a luchdachadh suas chun t-seirbheisiche, ach cuideachd a phròiseasadh. Mar as luaithe a thachras seo, is ann as fheàrr don t-seirbheis agus don luchd-cleachdaidh.

Is e m ’ainm Askar Kamalov, bliadhna air ais chaidh mi a-steach do sgioba teicneòlas bhidio Yandex. An-diugh innsidh mi goirid do luchd-leughaidh Habr mu mar a chaidh againn, le bhith a’ co-thaobhadh a’ phròiseas còdaidh, air lìbhrigeadh bhidio don neach-cleachdaidh a luathachadh gu mòr.

Bidh an dreuchd seo gu sònraichte inntinneach dhaibhsan nach do smaoinich roimhe mu na thachras fo chochall seirbheisean bhidio. Anns na beachdan faodaidh tu ceistean fhaighneachd agus cuspairean a mholadh airson dreuchdan san àm ri teachd.

Beagan fhaclan mun obair fhèin. Chan e a-mhàin gu bheil Yandex gad chuideachadh a’ lorg bhideothan air làraich eile, ach bidh e cuideachd a’ stòradh bhideothan airson a sheirbheisean fhèin. Ge bith an e prògram tùsail a th’ ann no geam spòrs air an èadhar, film air KinoPoisk no bhideothan air Zen agus Naidheachdan - tha seo uile air a luchdachadh suas gu na frithealaichean againn. Gus am bi luchd-cleachdaidh a 'coimhead air a' bhidio, feumaidh e bhith air ullachadh: atharrachadh gu cruth a tha a dhìth, a chruthachadh ro-shealladh, no fiù 's a' ruith tro teicneòlas DeepHD. Bidh faidhle neo-ullaichte dìreach a’ gabhail àite. A bharrachd air an sin, tha sinn a’ bruidhinn chan ann a-mhàin mun fheum as fheàrr de bhathar-cruaidh, ach cuideachd mu astar lìbhrigeadh susbaint do luchd-cleachdaidh. Eisimpleir: faodar clàradh den mhionaid chinnteach de gheama hocaidh a lorg taobh a-staigh mionaid às deidh an tachartas fhèin.

Còdachadh leantalach

Mar sin, tha toileachas an neach-cleachdaidh gu mòr an urra ri dè cho luath sa bhios am bhidio ri fhaighinn. Agus tha seo gu ìre mhòr air a dhearbhadh leis an astar transcoding. Nuair nach eil riatanasan teann ann airson astar luchdachadh suas bhidio, chan eil duilgheadasan ann. Gabhaidh tu faidhle singilte, do-roinnte, tionndaidh e, agus luchdaich suas e. Aig toiseach ar turais, seo mar a dh’obraich sinn:

Mar a bhrosnaich sinn còdachadh bhidio ochd tursan

Bidh an neach-dèiligidh a’ luchdachadh suas a ’bhidio chun stòradh, bidh am pàirt Analyzer a’ tional fiosrachadh meta agus a ’gluasad a’ bhidio chun phàirt Neach-obrach airson a thionndadh. Tha a h-uile ìre air a dhèanamh ann an òrdugh. Anns a 'chùis seo, faodaidh mòran de luchd-frithealaidh còdaidh a bhith ann, ach chan eil ach aon dhiubh trang a' giullachd bhidio sònraichte. Diagram sìmplidh, follaiseach. Seo far a bheil na buannachdan aige a’ tighinn gu crìch. Chan urrainnear an sgeama seo a sgèile ach gu dìreach (mar thoradh air frithealaichean nas cumhachdaiche a cheannach).

Còdachadh sreath le toradh eadar-mheadhanach

Gus am feitheamh dòrainneach a dhèanamh rèidh, thàinig an gnìomhachas suas le roghainn còdaidh luath. Tha an t-ainm meallta, oir gu dearbh, tha làn chòdachadh a’ tachairt ann an òrdugh agus a’ toirt a’ cheart cho fada. Ach le toradh eadar-mheadhanach. Is e seo am beachd: ullaich agus foillsich dreach le rùn ìosal den bhidio cho luath ‘s a ghabhas, agus dìreach an uairsin dreachan le rùn nas àirde.

Air an aon làimh, bidh bhidio ri fhaighinn nas luaithe. Agus tha e feumail airson tachartasan cudromach. Ach air an làimh eile, tha an dealbh a 'tionndadh a-mach neo-shoilleir, agus tha seo a' cur dragh air luchd-amhairc.

Tha e a ’tionndadh a-mach gum feum thu chan ann a-mhàin a’ bhidio a phròiseasadh gu sgiobalta, ach cuideachd a chàileachd a chumail suas. Is e seo a tha luchd-cleachdaidh a’ sùileachadh bho sheirbheis bhidio a-nis. Is dòcha gu bheil e coltach gu bheil e gu leòr na frithealaichean as cinneasaiche a cheannach (agus an ùrachadh gu cunbhalach aig an aon àm). Ach is e deireadh marbh a tha seo, oir tha an-còmhnaidh bhidio ann a bheir air eadhon am bathar-cruaidh as cumhachdaiche slaodadh sìos.

Còdachadh co-shìnte

Tha e tòrr nas èifeachdaiche duilgheadas iom-fhillte a roinn ann an iomadh duilgheadas nach eil cho iom-fhillte agus am fuasgladh aig an aon àm air diofar luchd-frithealaidh. Is e seo MapReduce airson bhidio. Anns a 'chùis seo, chan eil sinn cuingealaichte le coileanadh aon fhrithealaiche agus is urrainn dhuinn sgèile gu còmhnard (le bhith a' cur innealan ùra ris).

Air an t-slighe, chan eil am beachd a bhith a 'roinn bhideothan ann am pìosan beaga, gan giullachd ann an co-shìnte agus gan ceangal ri chèile dìomhair. Gheibh thu mòran iomraidhean air an dòigh-obrach seo (mar eisimpleir, air Habré tha mi a’ moladh post mun phròiseact DistVIDc). Ach chan eil seo ga dhèanamh nas fhasa san fharsaingeachd, oir chan urrainn dhut dìreach fuasgladh deiseil a ghabhail agus a thogail a-steach don dachaigh agad. Feumaidh sinn atharrachadh a rèir ar bun-structair, ar bhidio agus eadhon ar luchd. San fharsaingeachd, tha e nas fhasa do chuid fhèin a sgrìobhadh.

Mar sin, anns an ailtireachd ùr, roinn sinn am bloc Neach-obrach monolithic le còdadh sreath ann am microservices Segmenter, Tcoder, Combiner.

Mar a bhrosnaich sinn còdachadh bhidio ochd tursan

  1. Bidh Segmenter a’ briseadh a’ bhidio gu pìosan timcheall air 10 diogan. Tha pìosan air an dèanamh suas de aon GOP no barrachd (buidheann de dhealbhan). Tha gach GOP neo-eisimeileach agus air a chòdachadh air leth gus an gabh a chòdachadh gun iomradh a thoirt air frèamaichean bho GOPn eile. Is e sin, faodar criomagan a chluich gu neo-eisimeileach bho chèile. Bidh an roinneadh seo a’ lughdachadh latency, a’ leigeil le giollachd tòiseachadh nas tràithe.
  2. Bidh Tcoder a’ pròiseasadh gach criomag. Bidh e a ’toirt gnìomh bhon ciudha, a’ luchdachadh sìos criomag bhon stòradh, ga chòdachadh ann an diofar rùintean (cuimhnich gum faod an cluicheadair dreach a thaghadh stèidhichte air astar ceangail), an uairsin cuir an toradh air ais don stòradh agus a ’comharrachadh a’ chriomag mar a chaidh a phròiseasadh. anns an stòr-dàta. Às deidh dha na criomagan gu lèir a phròiseasadh, bidh Tcoder a’ cur a’ ghnìomh gus toraidhean a ghineadh airson an ath phàirt.
  3. Bidh Combiner a’ cruinneachadh nan toraidhean còmhla: a’ luchdachadh sìos a h-uile criomag a rinn Tcoder, a’ gineadh sruthan airson diofar rùintean.

Beagan fhaclan mu dheidhinn fuaim. Tha feart mì-thlachdmhor aig an codec claisneachd AAC as mòr-chòrdte. Ma chòdaicheas tu criomagan air leth, cha bhith e comasach dhut an glaodhadh ri chèile gun fhiosta. Bidh gluasadan follaiseach. Chan eil an duilgheadas seo aig codecs bhidio. Gu teòiridheach, faodaidh tu coimhead airson fuasgladh teignigeach iom-fhillte, ach gu sìmplidh chan fhiach an geama seo a ’choinneal fhathast (tha cuideam claisneachd mòran nas lugha na bhidio). Mar sin, chan eil ach a’ bhidio air a chòdachadh aig an aon àm, agus tha an clàr claisneachd gu lèir air a phròiseasadh.

Toraidhean

Mar thoradh air giollachd bhidio co-shìnte, tha sinn air an dàil eadar bhidio a luchdachadh suas dhuinn agus a bhith ri fhaighinn le luchd-cleachdaidh a lughdachadh gu mòr. Mar eisimpleir, roimhe seo dh’ fhaodadh e dà uair a thìde a thoirt airson grunn dhreachan slàn de chàileachd eadar-dhealaichte a chruthachadh airson film FullHD a mhaireas uair gu leth. A-nis tha seo uile a 'toirt 15 mionaidean. A bharrachd air an sin, le giullachd co-shìnte, bidh sinn a’ cruthachadh dreach àrd-rèiteachaidh eadhon nas luaithe na dreach le rùn ìosal leis an t-seann dòigh toraidh eadar-mheadhanach.

Agus aon rud eile. Leis an t-seann dòigh-obrach, an dàrna cuid cha robh frithealaichean gu leòr ann, no bha iad leisg gun ghnìomhan. Tha còdadh co-shìnte a 'toirt cothrom dhut an roinn de ath-chuairteachadh iarainn a mheudachadh. A-nis tha ar cruinneachadh de chòrr air mìle frithealaiche an-còmhnaidh trang le rudeigin.

Gu dearbh, tha àite ann fhathast airson leasachadh. Mar eisimpleir, is urrainn dhuinn ùine mhòr a shàbhaladh ma thòisicheas sinn a’ giullachd phìosan den bhidio mus ruig e sinn gu h-iomlan. Mar a tha iad ag ràdh, barrachd ri thighinn.

Sgrìobh anns na beachdan dè na gnìomhan anns an raon a bhith ag obair le bhidio a bu mhath leat leughadh mu dheidhinn.

Ceanglaichean feumail ri eòlas cho-obraichean sa ghnìomhachas

Source: www.habr.com

Cuir beachd ann