Hanyar mara amfani don saurin haɓaka sabis na bidiyo mai aiki

Hanyar mara amfani don saurin haɓaka sabis na bidiyo mai aiki

Ina aiki a waje, inda za a iya kwatanta ainihin ka'idar ta kalmar "sayar da yawa, yi da sauri." Da sauri mu yi shi, za mu sami ƙarin riba. Kuma, yana da kyawawa cewa duk abin da ke aiki ba a kan crutches da snot ba, amma tare da matakin inganci. Zan gaya muku game da kwarewata lokacin da ya zama dole don haɓaka sabis na talla a cikin ɗan gajeren lokaci.

An ba: tushen asusun akan AWS, babu hani akan zaɓin tarin fasaha, baya ɗaya, da wata ɗaya don haɓakawa.

Aiki: aiwatar da sabis na talla inda masu amfani ke loda daga bidiyo ɗaya zuwa huɗu masu dorewa daga daƙiƙa ɗaya zuwa huɗu, waɗanda sannan aka sanya su cikin jerin bidiyo na asali.

yanke shawara

Rubuta sabis na keke a cikin ɗan gajeren lokaci ba kyakkyawan ra'ayi ba ne. Bugu da ƙari, don sabis ɗin ya jimre da kaya kuma kowa ya karbi bidiyon da ake so, za a buƙaci kayan aiki. Kuma zai fi dacewa ba tare da alamar farashi daga jirgin sama ba. Sabili da haka, nan da nan muna mai da hankali kan hanyoyin da aka yi da shirye-shiryen tare da ƙaramin gyare-gyare.

Madaidaicin bayani don aiki tare da bidiyo shine FFmpeg, mai amfani da kayan aikin wasan bidiyo na giciye wanda, ta hanyar muhawara, yana ba ku damar yanke da overdub audio. Duk abin da ya rage don yin shi ne rubuta abin rufe fuska kuma a sake shi cikin rayuwa. Muna rubuta samfuri wanda ke dinke bidiyo biyu tare, kuma… an fara jin daɗi. Laburaren yana dogara ne akan NET Core 2, yakamata yayi aiki akan kowane injin kama-da-wane, don haka muna ɗaukar misalin AWS EC2 kuma komai zaiyi aiki.

Rubutun boyea'a, ba zai yi aiki ba
.
Kodayake FFmpeg yana sauƙaƙa aikin, don ingantaccen bayani mai aiki kuna buƙatar ƙirƙirar misalin EC2 da ƙirƙira masa kayan aikin cibiyar sadarwa, gami da Ma'aunin Load. Aiki mai sauƙi na turawa daga karce ya zama "kadan" ya fi rikitarwa, kuma kayan aikin sun fara neman kudi nan da nan - kowane sa'a ana cire adadin lokacin aiki daga asusun abokin ciniki.

Sabis ɗinmu ba ya haɗa da tafiyar matakai masu tsayi, baya buƙatar babban bayanan alaƙa mai kitse, kuma ya yi daidai daidai cikin tsarin gine-gine na tushen taron tare da jerin kira na ƙaramin sabis. Maganin yana ba da shawarar kanta - za mu iya watsi da EC2 kuma mu aiwatar da aikace-aikacen da ba shi da uwar garken gaskiya, kamar daidaitaccen Resizer Hoto dangane da AWS Lambda.

Af, duk da rashin son masu haɓaka AWS na .NET, suna goyan bayan NET Core 2.1 a matsayin lokacin aiki, wanda ke ba da cikakkiyar damar ci gaba.

Kuma ceri akan cake - AWS yana ba da sabis na daban don aiki tare da fayilolin bidiyo - AWS Elemental MediaConvert.

Mahimmancin aikin yana da sauƙi mai sauƙi: muna ɗaukar hanyar haɗin S3 zuwa bidiyo mai fita, rubuta ta hanyar AWS Console, .NET SDK ko kawai JSON abin da muke so muyi tare da bidiyon kuma kira sabis. Ita kanta tana aiwatar da layukan aiki don sarrafa buƙatun masu shigowa, ƙaddamar da sakamakon zuwa S3 kanta kuma, mafi mahimmanci, yana haifar da taron CloudWatch don kowane canjin matsayi. Wannan yana ba mu damar aiwatar da abubuwan jawo lambda don kammala aikin bidiyo.

Hanyar mara amfani don saurin haɓaka sabis na bidiyo mai aiki
Wannan shine yadda tsarin gine-ginen ƙarshe yayi kama da haka:

Dukan bangon baya yana cikin lambdas guda biyu. Wani kuma don jujjuya bidiyo ne a tsaye, tunda ba za a iya yin irin wannan aikin a cikin fasfo ɗaya ba.

Za mu sanya gaba a cikin nau'i na aikace-aikacen SPA da aka rubuta a cikin JS kuma an haɗa shi ta hanyar pug a cikin guga na S3 na jama'a. Don sauke bidiyon da kansu, ba ma buƙatar lambar uwar garken - kawai muna buƙatar buɗe wuraren ƙarshen REST wanda S3 ke ba mu. Abinda kawai shine kar a manta don saita manufofi da CORS.

pitfalls

  • AWS MediaConvert, saboda wasu dalilai da ba a san su ba, yana amfani da sauti kawai ga kowane guntun bidiyo daban, amma muna buƙatar waƙar farin ciki daga duk mai adana allo.
  • Ana buƙatar sarrafa bidiyo na tsaye daban. AWS ba ya son sanduna baƙi kuma yana sanya rollers a 90°.

Wurin wasan tsere mai sauƙi

Duk da kyawawan kyawawan marasa Jiha, kuna buƙatar ci gaba da bin diddigin abin da ake buƙata a yi tare da bidiyon: manne ko ƙara sauti zuwa jerin bidiyon da aka gama. Abin farin ciki, MediaConvert yana goyan bayan ƙaddamar da metadata ta cikin Ayyukansa, kuma koyaushe muna iya amfani da tuta mai sauƙi na sigar "isMasterSoundJob", tana yin nazarin wannan metadata a kowane mataki.

Serverless daidai yana ba da damar aiki tare da NoOps - hanya ce wacce ke ɗaukar rashin buƙatar ƙungiyar daban da ke da alhakin kayan aikin. Sabili da haka, ƙaramin abu ne - muna tura mafita akan AWS ba tare da sa hannun masu gudanar da tsarin ba, waɗanda koyaushe suna da wani abu da za su yi.
Kuma don hanzarta duk wannan, muna sarrafa rubutun turawa gwargwadon iko akan AWS CloudFormation, wanda ke ba ku damar yin amfani da maɓallin ɗaya kai tsaye daga VS. A sakamakon haka, fayil ɗin layin lamba 200 yana ba ku damar fitar da wani shiri da aka yi, kodayake CloudFormation syntax na iya zama mai ban tsoro idan ba ku saba da shi ba.

Jimlar

Marasa uwar garke ba magani ba ne. Amma zai sa rayuwa ta fi sauƙi a yanayi tare da iyakoki guda uku: “iyakantaccen albarkatu— gajeriyar lokaci—ƙananan kuɗi.”

Halayen Aikace-aikace Dace da Marasa Sabar

  • ba tare da Tsawon Gudu ba. Ƙofar API mai wuyar iyaka shine daƙiƙa 29, iyakar wuyar lambda shine mintuna 5;
  • gine-ginen Event-Driven ya bayyana;
  • ya rushe cikin sassauka guda biyu kamar SOA;
  • baya buƙatar aiki mai yawa tare da yanayin ku;
  • An rubuta a cikin NET Core. Don aiki tare da Tsarin NET, har yanzu kuna buƙatar aƙalla Docker tare da lokacin aiki da ya dace.

Fa'idodin Hanyar Mara Sabis

  • yana rage farashin kayayyakin more rayuwa;
  • yana rage farashin isar da maganin;
  • atomatik scalability;
  • ci gaba a ƙarshen ci gaban fasaha.

Rashin hasara, tare da takamaiman misali

  • Rarraba ganowa da shiga - an warware wani yanki ta hanyar AWS X-Ray da AWS CloudWatch;
  • kuskuren kuskure;
  • Cold Fara lokacin da babu kaya;
  • Matsalolin mai amfani da AWS matsala ce ta duniya :)

source: www.habr.com

Add a comment