Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2

Kashi na farko yana bayyana wahalar nema don ƙididdige tsoffin bidiyon iyali da raba su cikin fage daban-daban. Bayan sarrafa duk shirye-shiryen bidiyo, Ina so in tsara kallon su akan layi gwargwadon dacewa kamar akan YouTube. Tunda waɗannan abubuwan tunawa ne na iyali, ba za a iya buga su a YouTube kanta ba. Muna buƙatar ƙarin masauki mai zaman kansa wanda ya dace kuma amintacce.

Mataki 3. Buga

ClipBucket, buɗaɗɗen tushen clone na YouTube wanda zaku iya girka akan sabar ku

Da farko na gwada ClipBucket, wanda ke kiran kansa buɗaɗɗen tushe YouTube clone wanda zaku iya sanyawa akan sabar ku.

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2

Abin mamaki, ClipBucket bashi da umarnin shigarwa. Godiya ga gudanar da waje я sarrafa kansa tsarin shigarwa tare da taimakon Mai yiwuwa, kayan aikin sarrafa uwar garken.

Wani ɓangare na wahalar shine cewa rubutun shigarwa na ClipBucket ya karye gaba ɗaya. A lokacin ni ya yi aiki a google kuma a ƙarƙashin sharuɗɗan kwangilar ba su da damar ba da gudummawa ga buɗe tushen clone na YouTube, amma I buga rahoton bugdaga abin da ya kasance mai sauƙi don yin gyare-gyaren da ake bukata. Watanni suka shude, kuma har yanzu ba su fahimci mene ne matsalar ba. Maimakon haka, sun ƙara komai fiye da kwari a cikin kowane saki.

ClipBucket yayi aiki akan ƙirar shawara - sun fitar da lambar su kyauta kuma an caje su don taimako tare da turawa. A hankali a hankali na gane cewa kamfani da ke samun kuɗi daga tallafin da aka biya mai yiwuwa ba shi da sha'awar sa abokan ciniki su shigar da samfurin da kansu.

MediaGoblin, madadin zamani

Bayan 'yan watanni na takaici tare da ClipBucket, na sake nazarin zaɓuɓɓukan da ake da su kuma na samo jarida goblin.

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
jarida goblin dandamali ne na raba kafofin watsa labarai na tsaye

MediaGoblin yana da kyawawan abubuwa masu yawa. Ba kamar ClipBucket a cikin PHP maras kyau ba, MediaGoblin an rubuta shi a cikin Python, yaren da nake da gogewa da lambar rubutu da shi. Ku ci dubawar layin umarni, wanda ke sauƙaƙa sarrafa abubuwan saukar da bidiyo ta atomatik. Mafi mahimmanci, MediaGoblin ya shigo Hoton Docker, wanda ke kawar da duk wata matsala tare da shigarwa.

Docker fasaha ce da ke haifar da yanayi mai zaman kansa don aikace-aikacen da ke aiki a ko'ina. Ina amfani da Docker in yawancin ayyukana.

Wahalar Mamaki na Sake Doka MediaGoblin

Na ɗauka cewa tura hoton docker na MediaGoblin zai zama ƙaramin aiki. To, hakan bai yi nasara ba.

Hoton da aka gama bashi da ayyuka biyu masu mahimmanci:

  • Gasktawa
    • MediaGoblin yana ƙirƙira tashar watsa labarai ta jama'a ta tsohuwa, kuma ina buƙatar hanyar da zan hana shiga waje.
  • Transcoding
    • Duk lokacin da ka loda bidiyo, MediaGoblin yana ƙoƙarin sake sanya shi don ingantaccen yawo. Idan bidiyon yana shirye don yawo da farko, canza launi yana lalata ingancin.
    • MediaGoblin yana bayarwa kashe transcoding ta hanyar zaɓuɓɓukan sanyi, amma ba zai yiwu a yi wannan a cikin hoton Docker da ke wanzu ba.

To, ba matsala. Hoton Docker ya zo da bude tushen, don haka za ku iya sake gina shi da kanka.

Abin takaici, hoton Docker ba a gina shi daga halin yanzu MediaGoblin wurin ajiya. Na yi ƙoƙarin daidaita shi tare da sigar daga ginin da aka yi nasara na ƙarshe, amma hakan ma bai yi aiki ba. Ko da yake na yi amfani da daidai wannan lambar, abin dogara na MediaGoblin na waje ya canza, ya karya ginin. Yawancin sa'o'i da yawa bayan haka, na gudanar da aikin ginin MediaGoblin na mintuna 10-15 akai-akai har sai ya yi aiki.

Haka abin ya faru bayan 'yan watanni. Gabaɗaya, a cikin shekaru biyun da suka gabata, sarkar dogaro da MediaGoblin ta karya ginina sau da yawa, kuma na ƙarshe lokacin da abin ya faru shine lokacin da nake rubuta wannan labarin. Na karasa yin posting cokali mai yatsu na MediaGoblin c dogara masu ƙarfi da fayyace sigar ɗakin karatu a sarari. A wasu kalmomi, maimakon da'awar da ake shakkar cewa MediaGoblin yana aiki tare da kowane sigar seleri >= 3.0, Na shigar da takamaiman dogaro akan sigar seleri 4.2.1, saboda na gwada MediaGoblin da wannan sigar. Yana kama da samfurin yana buƙata injin ginawa mai sakewaamma ban yi ba tukuna.

Ko ta yaya, bayan awoyi da yawa na gwagwarmaya, a ƙarshe na sami damar ginawa da daidaita MediaGoblin a cikin hoton Docker. Ya riga ya kasance mai sauƙi tsallake transcoding mara amfani и shigar Nginx don tantancewa.

Mataki 4. Hosting

Tunda MediaGoblin yana gudanar da Docker akan injina na gida, mataki na gaba shine a tura zuwa sabar gajimare don dangi su kalli bidiyon.

MediaGoblin da matsalar ajiyar bidiyo

Akwai dandamali da yawa waɗanda ke ɗaukar hoton Docker kuma suna ɗaukar shi akan URL na jama'a. Abin kamawa shine ban da app ɗin kanta, 33GB na fayilolin bidiyo dole ne a buga. Yana yiwuwa a sanya su mai wuya a cikin hoton docker, amma ya zama mai wahala da muni. Canza layin saitin guda ɗaya zai buƙaci sake yin aiki na 33 GB na bayanai.

Lokacin da na yi amfani da ClipBucket, na warware matsalar da gcsfu - mai amfani wanda ke ba da damar tsarin aiki don loda kundayen adireshi zuwa ma'ajiyar girgije ta Google Cloud azaman hanyoyin yau da kullun zuwa tsarin fayil. Na dauki nauyin fayilolin bidiyo akan Google Cloud kuma na yi amfani da gcsfuse don nuna su azaman fayilolin gida a ClipBucket.

Bambancin shine ClipBucket yana gudana a cikin injin kama-da-wane na gaske, yayin da MediaGoblin ke gudana a cikin akwati Docker. Anan, hawan fayiloli daga ma'ajiyar gajimare sun zama mafi wahala. Na shafe sa'o'i da yawa na magance duk matsalolin kuma na rubuta game da su dukan blog post.

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Haɗin farko na MediaGoblin tare da ajiyar Google Cloud, wanda I bayyana a shekarar 2018

Bayan makonni da yawa na daidaita duk abubuwan da aka gyara, komai yayi aiki. Ba tare da yin wani canje-canje ga lambar MediaGoblin ba, Ina yaudara don karantawa da rubuta fayilolin mai jarida zuwa ma'ajiyar girgije ta Google.

Matsalar kawai ita ce MediaGoblin ya fara aiki mara kyau a hankali. Ya ɗauki daƙiƙa 20 mai daɗi don loda hotuna na bidiyo zuwa shafin gida. Idan kayi tsalle gaba yayin kallon bidiyo, MediaGoblin ya dakata na tsawon daƙiƙa 10 mara iyaka kafin ya ci gaba da sake kunnawa.

Babban matsalar ita ce, bidiyo da hotuna sun tafi ga mai amfani ta hanya mai tsawo, zagaye. Dole ne su tafi daga ma'ajiyar girgije ta Google ta hanyar gcsfuse zuwa MediaGoblin, Nginx - kuma sai kawai suka shiga cikin burauzar mai amfani. Babban ƙugiya shine gcsfuse, wanda ba a inganta shi don saurin aiki ba. Masu haɓakawa sun yi gargaɗi game da babban jinkiri a cikin kayan aiki daidai a babban shafin aikin:

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Gargadi game da rashin aikin yi a cikin takaddun gcsfuse

Da kyau, mai binciken ya kamata ya cire fayiloli kai tsaye daga Google Cloud, yana ƙetare duk matakan tsaka-tsaki. Ta yaya zan yi wannan ba tare da zurfafa cikin MediaGoblin codebase da ƙara hadaddun dabarun haɗin gwiwar Google Cloud ba?

sub_filter dabara a cikin nginx

An yi sa'a na sami mafita mai sauƙi ko da yake kadan mummuna. Na ƙara zuwa saitunan tsoho.conf a cikin Nginx irin wannan tace:

sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;

A cikin saitin na, Nginx yayi aiki azaman wakili tsakanin MediaGoblin da mai amfani na ƙarshe. Umurnin da ke sama ya gaya wa Nginx don bincika da maye gurbin duk MediaGoblin HTML martani kafin bauta musu ga mai amfani na ƙarshe. Nginx yana maye gurbin duk hanyoyin dangi zuwa fayilolin mai jarida na MediaGoblin tare da URLs daga ajiyar girgije na Google.

Misali, MediaGoblin ya samar da wannan HTML:

<video width="720" height="480" controls autoplay>
  <source
    src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
    type="video/mp4">
</video>

Nginx yana canza amsa:

<video width="720" height="480" controls autoplay>
  <source
    src="https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/16/Michael-riding-a-bike.mp4"
    type="video/mp4">
</video>

Yanzu komai yana aiki kamar yadda ya kamata:

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Nginx yana sake rubuta martani daga MediaGoblin don abokan ciniki su iya neman fayilolin mai jarida kai tsaye daga ma'ajiyar girgije ta Google

Mafi kyawun sashi game da mafita na shine cewa baya buƙatar kowane canje-canje ga lambar MediaGoblin. Umarnin Nginx mai layi biyu ya haɗa MediaGoblin da Google Cloud ba tare da matsala ba, kodayake sabis ɗin biyu ba su san komai game da juna ba.

Примечание: Wannan bayani yana buƙatar fayilolin da ke cikin Google Cloud Storage su zama masu karantawa ga kowa. Don rage haɗarin shiga mara izini, Ina amfani da dogon sunan guga bazuwar (misali, mediagoblin-39dpduhfz1wstbprmyk5ak29) da kuma tabbatar da cewa tsarin kula da damar guga ba ya ƙyale masu amfani mara izini su nuna abubuwan da ke cikin kundin adireshi.

Samfurin ƙarshe

A wannan lokacin, Ina da cikakkiyar bayani mai aiki. MediaGoblin cikin farin ciki ya gudu a cikin akwati nasa akan Google Cloud Platform don haka baya buƙatar faci ko sabuntawa akai-akai. Duk abin da ke cikin tsari na ya kasance mai sarrafa kansa kuma ana iya sake yin shi, yana ba da damar gyare-gyare masu sauƙi ko sake komawa zuwa juzu'in da suka gabata.

Iyalina sun ji daɗin kallon bidiyo da sauƙi. Tare da taimakon Nginx hack da aka bayyana a sama, aiki tare da bidiyo ya zama da sauri kamar akan YouTube.

Allon kallo yayi kama da haka:

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Abubuwan da ke cikin kundin bidiyo na iyali ta alamar "Mafi kyau"

Danna kan thumbnail yana kawo allon mai zuwa:

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Duban shirin guda ɗaya akan sabar mai jarida

Bayan shekaru da yawa na aiki, na yi farin cikin ba dangi damar kallon bidiyoyin mu daidai gwargwado kamar na YouTube, wanda ni ke so da farko.

Bonus: Rage farashin zuwa ƙasa da $1 kowace wata

Kuna kallon bidiyon gida sau da yawa, kawai kowane ƴan watanni. Iyalina tare sun haifar da kusan sa'o'i 20 na zirga-zirga a kowace shekara, amma sabar tana gudana 15/99,7. Na biya $XNUMX kowane wata don sabar da ta yi ƙasa da kashi XNUMX% na lokacin.

A ƙarshen 2018, Google ya fitar da samfur Gudun Cloud. Siffar kisa tana gudanar da kwantena Docker da sauri don aikace-aikacen zai iya amsa buƙatun HTTP. Wato, uwar garken na iya kasancewa a cikin yanayin jiran aiki - kuma farawa kawai lokacin da wani ya so ya je wurinta. Don aikace-aikacen da ba safai ake amfani da su ba kamar nawa, farashin ya tashi daga $15 a wata zuwa 'yan centi a shekara.

Don dalilan da ban tuna ba, Cloud Run bai yi aiki tare da hoton MediaGoblin na ba. Amma da zuwan Cloud Run, na tuna da haka Heroku yana ba da irin wannan sabis ɗin kyauta, kuma kayan aikin su sun fi dacewa da na Google.

Tare da uwar garken aikace-aikacen kyauta, kuɗin kawai shine ajiyar bayanai. Daidaitaccen ma'ajin yanki na Google yana kashe 2,3 cents/GB. Taskar bidiyo tana da 33 GB, don haka kawai ina biyan cents 77 a wata.

Ƙoƙari na na shekaru takwas don ƙididdige kaset na bidiyo 45. Kashi na 2
Wannan maganin yana kashe $0,77 kawai a wata

Tips ga waɗanda za su gwada

Babu shakka, tsarin ya ɗauki lokaci mai tsawo. Amma ina fatan wannan labarin zai taimake ka ka adana 80-90% na aikin digitization na bidiyo na gida da kuma wallafe-wallafe. A cikin wani sashe daban zaka iya samu cikakken jagorar mataki zuwa mataki a duk tsawon wannan tsari, amma ga wasu nasihu na gaba ɗaya:

  • Ajiye adadin metadata gwargwadon yuwuwa yayin lokacin digitizing da gyarawa.
    • Ana yin rikodin bayanai masu kima a kan lakabin kaset na bidiyo.
    • Yi rikodin wanne shirin da aka ɗauko daga wane kaset kuma a cikin wane tsari.
    • Rubuta ranar harbi, wanda za a iya nuna a kan bidiyon.
  • Yi la'akari da biyan kuɗin sabis na ƙididdige ƙwararru.
    • Za ku musamman yana da wahala da tsada don daidaita su dangane da ingancin digitization.
    • Amma ku nisanci kamfani mai suna EverPresent (bari in san idan kuna buƙatar ƙarin cikakkun bayanai).
  • Idan kayi digitization da kanka, siyan HDD.
    • Bidiyon daidaitaccen ma'anar mara ma'ana yana ɗaukar 100-200 MB a minti daya.
    • Na ajiye komai a kaina Syomet DS412 + (10 TB).
  • Rubuta metadata a cikin wani tsari na gama gari wanda ba a haɗa shi da takamaiman aikace-aikacen ba.
    • Bayanin shirin, lambobin lokaci, kwanan wata, da sauransu.
    • Idan ka ajiye metadata a cikin takamaiman tsari na aikace-aikacen (ko mafi muni, kar a adana kwata-kwata), ba za ka iya sake yin aikin ba idan ka yanke shawarar yin amfani da wata mafita.
    • Yayin gyarawa, kuna ganin metadata masu amfani da yawa akan bidiyon. Za ku rasa su idan ba ku cece su ba.
      • Me ke faruwa akan bidiyon?
      • Wanene ya yi rajista a wurin?
      • Yaushe aka rubuta shi?
  • Sanya bidiyon da kuka fi so.
    • A gaskiya, yawancin abubuwan bidiyo na gida suna da ban sha'awa.
    • Ina amfani da alamar "mafi kyawun" zuwa shirye-shiryen bidiyo da na fi so kuma in buɗe su lokacin da nake son kallon bidiyo mai ban dariya.
  • Shirya cikakken bayani da wuri-wuri domin tsari ya tafi kai tsaye daga farko zuwa ƙarshe.
    • Na yi ƙoƙarin yin digitize duk kaset da farko, sannan na gyara dukkan kaset ɗin, da sauransu.
    • To wallahi ban fara kaset daya ba kuma nayi dukkan aikin da shi. Sa'an nan kuma zan fahimci abin da yanke shawara da kuma a waɗanne matakai suka shafi sakamakon ƙarshe.
  • Rage recoding.
    • Duk lokacin da kuka gyara ko sake shigar da shirin, kuna lalata ingancinsa.
    • Ƙirƙira ɗanyen fim ɗin a matsakaicin inganci, sannan canza kowane shirin bidiyo daidai sau ɗaya zuwa tsarin da masu bincike ke kunnawa a asali.
  • Yi amfani da mafita mafi sauƙi don aika shirye-shiryen bidiyo.
    • A cikin hangen nesa, MediaGoblin kamar kayan aiki ne mai rikitarwa don ingantaccen yanayin samar da shafukan yanar gizo tare da saitin fayilolin bidiyo.
    • Idan na sake farawa, zan yi amfani da janareta a tsaye kamar Hugo, Jekyll ko Gridsome.
  • Yi montage.
    • Gyaran bidiyo hanya ce mai daɗi don haɗa mafi kyawun lokuta daga bidiyo da yawa.
    • Babban abu a gyara shi ne kiɗa. Alal misali, jigon yana da ban mamaki Slow Snow daga The National, wannan shine bincikena na kaina.

source: www.habr.com