Ahoana no nanafainganay ny fandiovana video in-valo

Ahoana no nanafainganay ny fandiovana video in-valo

Mpijery an-tapitrisany isan'andro no mijery horonan-tsary amin'ny Internet. Fa mba hahatonga ilay horonan-tsary ho azo dia tsy maintsy ampidirina amin'ny lohamilina fotsiny izy io, fa amboarina koa. Ny haingana kokoa no mitranga, ny tsara kokoa ho an'ny serivisy sy ny mpampiasa azy.

Askar Kamalov no anarako, herintaona lasa izay dia niditra tao amin'ny ekipa teknolojia video Yandex aho. Androany aho dia hilaza fohifohy amin'ny mpamaky Habr momba ny fomba, tamin'ny fampitoviana ny fizotry ny fanodinana, dia nahavita nanafaingana ny fandefasana horonantsary ho an'ny mpampiasa izahay.

Ity lahatsoratra ity dia hahaliana indrindra ireo izay mbola tsy nieritreritra ny zava-mitranga eo ambanin'ny saron'ny serivisy video. Ao amin'ny fanehoan-kevitra dia afaka mametraka fanontaniana ianao ary manolotra lohahevitra ho an'ny lahatsoratra ho avy.

Teny vitsivitsy momba ny asa mihitsy. Tsy vitan'ny hoe manampy anao hikaroka horonan-tsary amin'ny tranokala hafa i Yandex, fa mitahiry horonan-tsary ho an'ny serivisy manokana ihany koa. Na fandaharana tany am-boalohany izany na lalao ara-panatanjahantena an-habakabaka, sarimihetsika ao amin'ny KinoPoisk na horonan-tsary amin'ny Zen sy News - izany rehetra izany dia ampidirina amin'ny lohamilinay. Mba ahafahan'ny mpampiasa mijery ilay horonan-tsary dia mila miomana izy io: avadika amin'ny endrika ilaina, mamorona preview, na mandeha amin'ny teknolojia mihitsy aza. DeepHD. Ny rakitra tsy voaomana dia maka toerana fotsiny. Ankoatra izany, tsy miresaka momba ny fampiasana tsara indrindra amin'ny hardware ihany isika, fa momba ny hafainganan'ny fandefasana votoaty ho an'ny mpampiasa. Ohatra: azo karohina ao anatin'ny iray minitra aorian'ny hetsika ny firaketana ny fotoana manapa-kevitra amin'ny lalao hockey.

Encoding misesy

Noho izany, ny fahasambaran'ny mpampiasa dia miankina betsaka amin'ny haingan'ilay horonan-tsary. Ary izany dia voafaritra indrindra amin'ny hafainganam-pandehan'ny transcoding. Rehefa tsy misy fepetra hentitra ho an'ny hafainganam-pandehan'ny fampidinana horonan-tsary, dia tsy misy olana. Maka rakitra tokana tsy azo zaraina ianao, avadikao ary ampiakarinao. Tany am-piandohan'ny dianay dia toy izao no niasanay:

Ahoana no nanafainganay ny fandiovana video in-valo

Mampiakatra ny horonan-tsary any amin'ny fitahirizana ny mpanjifa, manangona fampahalalana meta ny singa Analyzer ary mamindra ny horonan-tsary amin'ny singa Worker ho an'ny fiovam-po. Ny dingana rehetra dia atao misesy. Amin'ity tranga ity, mety misy mpizara famandrihana maro, fa iray ihany no sahirana amin'ny fanodinana horonantsary manokana. Diagram tsotra sy mangarahara. Eo no niafaran’ny tombontsoany. Ity tetika ity dia tsy azo atao afa-tsy mitsangana (noho ny fividianana mpizara matanjaka kokoa).

Fanodinkodina misesy misy valiny manelanelana

Mba hanamaivanana ny fiandrasana maharary, ny indostria dia tonga tamin'ny safidy fanodinana haingana. Mamitaka ilay anarana, satria raha ny marina, ny kaody feno dia miseho misesy ary maharitra ela. Saingy miaraka amin'ny vokatra manelanelana. Ny hevitra dia izao: manomana sy mamoaka ny kinova farany ambany amin'ny horonan-tsary haingana araka izay azo atao, ary avy eo ny dikan-teny avo lenta kokoa.

Amin'ny lafiny iray, lasa misy haingana kokoa ny horonan-tsary. Ary ilaina amin'ny hetsika manan-danja. Saingy etsy ankilany, lasa manjavozavo ilay sary, ary mahasosotra ny mpijery izany.

Hita fa tsy mila manodina haingana ny horonan-tsary fotsiny ianao, fa mitazona ny kalitaony. Izany no andrasan'ny mpampiasa amin'ny serivisy video ankehitriny. Mety ho toa ampy ny mividy ireo mpizara mamokatra indrindra (ary manavao azy ireo indray mandeha). Saingy tsy misy farany izany, satria misy foana ny horonan-tsary izay hampiadana na dia ny fitaovana matanjaka indrindra aza.

Encoding parallèle

Mahomby kokoa ny mizara olana sarotra ho olana maro tsy dia sarotra ary mamaha azy ireo mifanitsy amin'ny lohamilina samihafa. Ity dia MapReduce ho an'ny horonan-tsary. Amin'ity tranga ity, tsy ferana amin'ny fampandehanana mpizara iray izahay ary afaka mizana marindrano (amin'ny fampidirana milina vaovao).

Teny an-dalana, ny hevitra ny fizarana horonan-tsary ho ampahany kely, ny fanodinana azy ireo amin'ny parallèle ary ny fametahana azy ireo dia tsy tsiambaratelo. Afaka mahita references maro momba an'io fomba io ianao (ohatra, ao amin'ny Habré dia manoro hevitra momba ny tetikasa aho DistVIDc). Saingy tsy manamora izany amin'ny ankapobeny izany, satria tsy afaka maka vahaolana efa vita ianao ary manamboatra izany ao an-tranonao. Mila fampifanarahana amin'ny fotodrafitrasantsika, ny horonan-tsarimihetsika ary na ny entanay aza izahay. Amin'ny ankapobeny, mora kokoa ny manoratra ny anao manokana.

Noho izany, ao amin'ny maritrano vaovao, nozarainay ny sakana Monolithic Worker miaraka amin'ny kaody misesy ho microservices Segmenter, Tcoder, Combiner.

Ahoana no nanafainganay ny fandiovana video in-valo

  1. Ny Segmenter dia mizara ny horonan-tsary ho sombiny 10 segondra eo ho eo. Ny sombintsombiny dia misy GOP iray na maromaro (vondrona sary). Ny GOP tsirairay dia mahaleo tena ary asiana kaody misaraka mba ahafahana mamadika azy tsy misy firesahana amin'ny frame avy amin'ny GOP hafa. Izany hoe ny sombintsombiny dia azo lalaovina tsy miankina amin'ny tsirairay. Ity sharding ity dia mampihena ny faharetana, mamela ny fanodinana hanomboka aloha kokoa.
  2. Ny Tcoder dia manodina ny ampahany tsirairay. Mitaky asa avy amin'ny filaharana izany, misintona sombiny avy amin'ny fitehirizana, mametaka azy amin'ny fanapahan-kevitra samihafa (tadidio fa ny mpilalao dia afaka misafidy dikan-teny mifototra amin'ny hafainganam-pandehan'ny fifandraisana), avy eo dia mamerina ny vokatra ao anaty fitahirizana ary manamarika ny sombintsombiny ho voavoatra. ao amin'ny tahiry. Rehefa avy nikarakara ny sombiny rehetra i Tcoder dia mandefa ny asa hamokatra vokatra ho an'ny singa manaraka.
  3. Manangona ny valiny miaraka ny Combiner: misintona ny sombiny rehetra nataon'i Tcoder, mamorona stream ho an'ny fanapahan-kevitra samihafa.

Teny vitsivitsy momba ny feo. Ny codec audio AAC malaza indrindra dia manana endri-javatra tsy mahafinaritra. Raha toa ka misaraka ny sombintsombiny, dia tsy ho vitanao ny mametaka azy ireo tsy misy olana. Ho tsikaritra ny tetezamita. Tsy manana io olana io ny codec video. Ara-teorika, azonao atao ny mitady vahaolana ara-teknika sarotra, fa ity lalao ity dia tsy mendrika ny labozia fotsiny (ny feo milanja be dia be noho ny lahatsary). Noho izany, ny horonan-tsary ihany no asiana kaody mifanitsy, ary ny rindran-peo manontolo no karakaraina.

vokatra

Noho ny fanodinana horonan-tsarimihetsika mifanandrify, dia nampihena be ny fahatarana eo amin'ny horonan-tsary nampidirina taminay sy azon'ny mpampiasa izahay. Ohatra, teo aloha dia mety haharitra adiny roa ny famoronana dikan-teny feno kalitao samihafa ho an'ny sarimihetsika FullHD maharitra adiny iray sy sasany. Ankehitriny dia mila 15 minitra izany rehetra izany. Ankoatr'izay, miaraka amin'ny fanodinana parallèle, dia mamorona dikan-teny avo lenta izahay na dia haingana kokoa noho ny dikan-tsarimihetsika ambany miaraka amin'ny fomba fiasa taloha momba ny vokatra antonony.

Ary zavatra iray hafa. Miaraka amin'ny fomba taloha, na tsy ampy ny mpizara, na tsy misy asa. Ny kaody parallèle dia ahafahanao mampitombo ny ampahany amin'ny fanodinana vy. Ankehitriny dia sahirana amin'ny zavatra foana ny cluster misy mpizara mihoatra ny arivo.

Raha ny marina, dia mbola misy toerana azo hatsaraina. Ohatra, afaka mitahiry fotoana lehibe isika raha manomboka manodina ny sombin'ny horonan-tsary alohan'ny hahatongavany amintsika manontolo. Araka ny filazan'izy ireo, mbola ho avy.

Soraty ao amin'ny fanehoan-kevitra ny asa amin'ny sehatry ny fiasana amin'ny horonan-tsary tianao hovakiana.

Rohy mahasoa amin'ny traikefan'ny mpiara-miasa amin'ny indostria

Source: www.habr.com

Add a comment