An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2

Tha a’ chiad phàirt a’ toirt cunntas air a’ cheist dhoirbh a bhith a’ digiteachadh seann bhideothan teaghlaich agus gan briseadh sìos gu seallaidhean air leth.. Às deidh dhomh na criomagan gu lèir a ghiullachd, bha mi airson an sealladh air-loidhne a chuir air dòigh cho goireasach ‘s a bha e air YouTube. Leis gur e cuimhneachain pearsanta a tha seo den teaghlach, chan urrainn dhaibh a bhith air an postadh air YouTube fhèin. Feumaidh sinn aoigheachd nas prìobhaideach a tha an dà chuid goireasach agus tèarainte.

Ceum 3: Foillseachadh

ClipBucket, clon YouTube le còd fosgailte a ghabhas a chuir a-steach air an t-seirbheisiche agad fhèin

A’ chiad rud a dh’fheuch mi ClipBucket, a tha ga ainmeachadh fhèin mar clon YouTube stòr fosgailte as urrainn dhut a stàladh air an t-seirbheisiche agad.

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2

Gu iongantach, chan eil stiùireadh stàlaidh aig ClipBucket. Taing dha gu riaghladh taobh a-muigh я fèin-ghluasadach am pròiseas stàlaidh le cuideachadh Freagair, inneal stiùireadh rèiteachadh frithealaiche.

B’ e pàirt den duilgheadas gun deach na sgriobtaichean stàlaidh ClipBucket a bhriseadh gu tur. Aig an àm sin mi ag obair aig Google agus a rèir teirmean a 'chùmhnaint cha robh còir agam a bhith a' cur ris a 'chlò YouTube stòr fosgailte, ach tha mi chuir e cunntas air bug, às an gabhadh na ceartachaidhean riatanach a dhèanamh gu furasta. Chaidh mìosan seachad, agus cha robh iad fhathast a 'tuigsinn dè an duilgheadas a bh' ann. An àite sin chuir iad a h-uile càil ris barrachd na bugs anns gach foillseachadh.

Bha ClipBucket ag obair air modal comhairleachaidh - leig iad a-mach an còd aca an-asgaidh agus chaidh cosgais a chuir orra airson taic cleachdadh. Mean air mhean thàinig e a-steach orm gur dòcha nach eil ùidh mhòr aig companaidh a tha a’ dèanamh airgead bho thaic pàighte ann a bhith toirt air luchd-ceannach an toradh a chuir a-steach iad fhèin.

MediaGoblin, roghainn eile nas ùire

Às deidh mìosan de shàrachadh le ClipBucket, rinn mi sgrùdadh air na roghainnean a bha rim faighinn agus a lorg Na meadhanan Goblin.

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Na meadhanan Goblin na àrd-ùrlar roinneadh mheadhanan far-loidhne

Tha tòrr rudan math aig MediaGoblin. Eu-coltach ri ClipBucket ann am PHP grànda, tha MediaGoblin sgrìobhte ann am Python, cànan anns a bheil tòrr eòlas còdaidh agam. Ith eadar-aghaidh loidhne-àithne, a leigeas leat luchdachadh sìos bhidio a dhèanamh fèin-ghluasadach gu furasta. Nas cudromaiche, thig MediaGoblin leis Dealbh docker, a chuireas às do dhuilgheadasan stàlaidh sam bith.

Docker na theicneòlas a chruthaicheas àrainneachd fèin-riaghailteach airson tagradh a ruith an àite sam bith. Bidh mi a’ cleachdadh Docker a-staigh mòran de na pròiseactan aige.

An duilgheadas iongantach a th’ ann a bhith ag ath-dhocadh MediaGoblin

Bha mi a’ gabhail ris gur e obair bheag a bhiodh ann a bhith a’ cleachdadh ìomhaigh docker MediaGoblin. Uill, cha do dh'obraich sin a-mach mar sin buileach.

Cha robh dà ghnìomh riatanach san dealbh chrìochnaichte:

  • Dearbhadh
    • Bidh MediaGoblin a’ cruthachadh portal meadhanan poblach gu bunaiteach, agus bha feum agam air dòigh gus ruigsinneachd do dhaoine a-muigh a chuingealachadh.
  • Transcoding
    • Gach uair a luchdaicheas tu sìos bhidio, bidh MediaGoblin a’ feuchainn ri ath-chòdachadh airson an sruthadh as fheàrr. Ma tha a’ bhidio deiseil an-toiseach airson sruthadh, bidh transcoding a’ lughdachadh càileachd.
    • Tha MediaGoblin a’ toirt seachad cuir à comas transcoding tro roghainnean rèiteachaidh, ach chan urrainnear seo a dhèanamh ann an ìomhaigh Docker a tha ann mu thràth.

Uill, gun duilgheadas. Tha ìomhaigh an Docker a’ tighinn leis stòr fosgailte, mar sin tha e comasach ath-thog thu fèin e.

Gu mì-fhortanach, chan eil ìomhaigh an Docker air a thogail bhon fhear a th’ ann an-dràsta. Stòr-dàta MediaGoblin. Dh'fheuch mi ri a shioncronachadh leis an dreach bhon togail shoirbheachail mu dheireadh, ach dh'fhàillig sin cuideachd. Eadhon ged a chleachd mi an dearbh chòd, dh’ atharraich eisimeileachd MediaGoblin bhon taobh a-muigh, a’ briseadh an togail. Às deidh dusanan de dh'uairean a thìde, ruith mi tron ​​​​phròiseas togail MediaGoblin 10-15 mionaid a-rithist agus a-rithist gus an obraich e mu dheireadh.

Beagan mhìosan an dèidh sin thachair an aon rud. Gu h-iomlan, tha an t-sreath eisimeileachd MediaGoblin air mo thogail a bhriseadh grunn thursan thairis air an dà bhliadhna a dh ’fhalbh, agus b’ e an turas mu dheireadh a thachair e dìreach fhad ‘s a bha mi a’ sgrìobhadh an artaigil seo. Dh'fhoillsich mi mu dheireadh am forc fhèin de MediaGoblin c eisimeileachd le còd cruaidh agus dreachan sònraichte de leabharlannan. Ann am faclan eile, an àite an tagradh amharasach gu bheil MediaGoblin ag obair le dreach sam bith sgiobair >= 3.0, chuir mi a-steach eisimeileachd dreach sònraichte soilire 4.2.1oir rinn mi deuchainn air MediaGoblin leis an dreach seo. Tha e coltach gu bheil feum aig an toradh uidheamachd togail ath-riochdachadh, ach chan eil mi air a dhèanamh fhathast.

Co-dhiù, às deidh mòran uairean a thìde de strì, bha e comasach dhomh mu dheireadh MediaGoblin a thogail agus a rèiteachadh ann an ìomhaigh Docker. Bha e furasta an sin mu thràth seachain transcoding neo-riatanach и stàlaich Nginx airson dearbhadh.

Ceum 4. Hosting

Leis gu robh MediaGoblin a’ ruith Docker air a’ choimpiutair ionadail agam, b’ e an ath cheum a chuir gu frithealaiche sgòthan gus am faiceadh an teaghlach a’ bhidio.

MediaGoblin agus an duilgheadas stòraidh bhidio

Tha mòran àrd-ùrlaran ann a bheir ìomhaigh Docker agus a bheir aoigheachd dha air URL poblach. Is e an glacadh, a bharrachd air an aplacaid fhèin, gum feumadh 33 GB de fhaidhlichean bhidio fhoillseachadh. Bha e comasach an còdadh gu cruaidh ann an ìomhaigh Docker, ach bhiodh sin trom agus grànda. Dh'fheumadh atharrachadh aon loidhne rèiteachaidh 33 GB de dhàta ath-shuidheachadh.

Nuair a chleachd mi ClipBucket dh'fhuasgail mi an duilgheadas le gcsfuse - goireas a leigeas leis an t-siostam obrachaidh clàran a luchdachadh suas gu stòradh sgòthan Google Cloud mar shlighean cunbhalach chun t-siostam faidhle. Thug mi aoigheachd do na faidhlichean bhidio air Google Cloud agus chleachd mi gcsfuse gus toirt orra nochdadh ann an ClipBucket mar fhaidhlichean ionadail.

B ’e an eadar-dhealachadh gun robh ClipBucket a’ ruith ann am fìor inneal brìgheil, fhad ‘s a bha MediaGoblin a’ ruith ann an soitheach Docker. An seo, bha e tòrr nas duilghe faidhlichean a chuir suas bho stòradh neòil. Chuir mi seachad dusanan de dh'uairean a thìde a 'fuasgladh nan duilgheadasan gu lèir agus sgrìobh mi mu dheidhinn post blog gu lèir.

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Amalachadh tùsail MediaGoblin le stòradh Google Cloud, air a bheil mi a’ bruidhinn air innse ann an 2018

Às deidh grunn sheachdainean de bhith ag atharrachadh na pàirtean gu lèir, dh ’obraich a h-uile dad. Gun a bhith a 'dèanamh atharrachaidhean sam bith air còd MediaGoblin, chuir mi às dha a bhith a' leughadh agus a 'sgrìobhadh fhaidhlichean meadhanan gu stòradh neòil Ghoogle.

B’ e an aon duilgheadas a bh’ ann gun do dh’ fhàs MediaGoblin gu math slaodach. Thug e 20 diog slàn airson mion-dhealbhan bhidio a luchdachadh air an duilleag dachaigh. Nan leumadh tu air adhart fhad ‘s a bha thu a’ coimhead bhidio, stadadh MediaGoblin airson 10 diogan gun chrìoch mus tòisicheadh ​​​​tu air ais air ais.

B’ e am prìomh dhuilgheadas gun tug na bhideothan agus na dealbhan slighe fhada, timcheall air an neach-cleachdaidh. B’ fheudar dhaibh a dhol bho stòradh neòil Google tro gcsfuse gu MediaGoblin, Nginx - agus is ann dìreach an uairsin a fhuair iad gu brabhsair an neach-cleachdaidh. B’ e gcsfuse am prìomh bhotal, nach eil air a mheudachadh airson astar. Tha an luchd-leasachaidh a’ toirt rabhadh mu dhàil mhòr ann an gnìomhachd a’ ghoireas dìreach air prìomh dhuilleag a’ phròiseict:

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Rabhaidhean mu dheidhinn coileanadh ìosal ann an sgrìobhainnean gcsfuse

Mas fheàrr, bu chòir don bhrobhsair faidhlichean fhaighinn gu dìreach bho Google Cloud, a’ dol seachad air sreathan eadar-mheadhanach sam bith. Ciamar as urrainn dhut seo a dhèanamh gun a bhith a ’dàibheadh ​​​​a-steach do bhun-còd MediaGoblin no a’ cur ris loidsig iom-fhillte Google Cloud amalachaidh?

Cleas sub_filter ann an nginx

Gu fortanach lorg mi fuasgladh sìmplidh, ge-tà немного grànda. Chuir mi ris an rèiteachadh default.conf ann an Nginx a leithid de chriathrag:

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

Anns an t-suidheachadh agam, bha Nginx na neach-ionaid eadar MediaGoblin agus an neach-cleachdaidh deireannach. Tha an stiùireadh gu h-àrd ag iarraidh air Nginx a h-uile freagairt MediaGoblin HTML a sgrùdadh agus a chuir an àite mus toir iad seachad iad don neach-cleachdaidh deireannach. Bidh Nginx a’ dol an àite a h-uile slighe càirdeach gu faidhlichean meadhanan MediaGoblin le URLan bho stòradh sgòthan Google.

Mar eisimpleir, bidh MediaGoblin a’ gineadh HTML mar seo:

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

Bidh Nginx ag atharrachadh am freagairt:

<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>

A-nis tha a h-uile dad ag obair a-mach mar a bhiodh dùil:

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Bidh Nginx ag ath-sgrìobhadh freagairtean bho MediaGoblin gus an urrainn do luchd-dèiligidh faidhlichean meadhanan iarraidh gu dìreach bho stòradh sgòthan Google

Is e am pàirt as fheàrr mun fhuasgladh agam nach eil feum air atharrachadh sam bith air còd MediaGoblin. Tha stiùireadh dà-loidhne Nginx gu tur a’ fighe a-steach MediaGoblin agus Google Cloud, eadhon ged nach eil fios aig na seirbheisean air a chèile.

thuirt: Tha am fuasgladh seo ag iarraidh gum bi faidhlichean ann an stòradh neòil Ghoogle furasta an leughadh leis a h-uile duine. Gus an cunnart bho ruigsinneachd gun chead a lughdachadh, bidh mi a’ cleachdadh ainm bucaid fada, air thuaiream (m.e. mediagoblin-39dpduhfz1wstbprmyk5ak29) agus dearbhaich nach eil poileasaidh smachd ruigsinneachd a’ bhucaid a’ leigeil le luchd-cleachdaidh gun chead susbaint an eòlaire a thaisbeanadh.

Bathar deireannach

Aig an àm seo bha fuasgladh coileanta, obrach agam. Ruith MediaGoblin gu toilichte anns a’ ghobhar aige fhèin air àrd-ùrlar sgòthan Google, agus mar sin cha robh feum air a bhith air a phasgadh no air ùrachadh gu tric. Bha a h-uile dad sa phròiseas agam fèin-ghluasadach agus ath-riochdachadh, a’ ceadachadh deasachaidhean sìmplidh no ro-aithrisean gu dreachan roimhe.

Chòrd e gu mòr ri mo theaghlach cho furasta ‘s a bha e na bhideothan fhaicinn. Le cuideachadh bhon hack Nginx a chaidh a mhìneachadh gu h-àrd, dh’ fhàs a bhith ag obair le bhideothan cho luath ri YouTube.

Tha an scrion seallaidh a’ coimhead mar seo:

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Susbaint ann an catalog bhidio an teaghlaich le tag “Best”

Ma bhriogas tu air a’ mhion-dhealbh bheir sin suas scrion mar seo:

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
A’ coimhead air aon chriomag air frithealaiche meadhanan

Às deidh bliadhnaichean de dh’ obair, bha e air leth buannachdail cothrom a thoirt do bhuill teaghlaich na bhideothan againn fhaicinn anns an aon eadar-aghaidh coltach ri YouTube a bha furasta a chleachdadh agus a bha mi ag iarraidh bho thùs.

Bònas: Lùghdaich cosgaisean gu nas lugha na $ 1 gach mìos

Cha bhith thu a’ coimhead bhideothan dachaigh gu tric, dìreach a h-uile beagan mhìosan. Chruthaich mo theaghlach timcheall air 20 uair de thrafaig ann am bliadhna, ach bha am frithealaiche a’ ruith 15/99,7. Phàigh mi $XNUMX gach mìos airson frithealaiche a bha sìos XNUMX% den ùine.

Aig deireadh 2018, leig Google a-mach an toradh Cloud Run. Bha am feart marbhadh a ’ruith soithichean Docker cho luath is gum b’ urrainn don tagradh freagairt a thoirt do iarrtasan HTTP. Is e sin, dh’ fhaodadh am frithealaiche fuireach ann am modh cùl-taic agus tòiseachadh dìreach nuair a bha cuideigin airson faighinn thuige. Airson tagraidhean nach eil air an ruith gu tric mar mise, tha a’ chosgais air tuiteam bho $15 gach mìos gu beagan sgillin sa bhliadhna.

Airson adhbharan nach eil cuimhne agam tuilleadh, cha do dh'obraich Cloud Run leis an ìomhaigh MediaGoblin agam. Ach le teachd Cloud Run chuimhnich mi sin Heroku a’ tabhann seirbheis den aon seòrsa an-asgaidh, agus tha na h-innealan aca tòrr nas fhasa a chleachdadh na innealan Google.

Le frithealaiche tagraidh an-asgaidh, is e an aon chosgais stòradh dàta. Tha stòradh roinneil àbhaisteach Google a’ cosg 2,3 sgillin/GB. Bheir an tasglann bhidio suas 33 GB, agus mar sin cha phàigh mi ach 77 sgillin gach mìos.

An oidhirp ochd-bliadhna agam airson 45 bhidio-cèise a chur ann an cruth didseatach. Pàirt 2
Chan eil am fuasgladh seo a’ cosg ach $0,77 gach mìos

Molaidhean dhaibhsan a tha an dùil feuchainn

Gu follaiseach thug am pròiseas ùine mhòr dhomh. Ach tha mi an dòchas gun cuidich an artaigil seo thu gus 80-90% den oidhirp gus na bhideothan dachaigh agad a dhidseatachadh agus fhoillseachadh. Ann an earrann air leth gheibh thu lorg stiùireadh ceum air cheum mionaideach tron ​​phròiseas, ach seo cuid de mholaidhean coitcheann:

  • Rè an ìre digiteachaidh is deasachaidh, glèidh nas urrainn dhut de mheata-dàta.
    • Bidh fiosrachadh luachmhor gu tric air a chlàradh air bileagan cèis bhidio.
    • Cumaibh sùil air dè an criomag a chaidh a losgadh às an teip agus dè an òrdugh.
    • Sgrìobh sìos ceann-latha an t-seilg, a dh’ fhaodadh nochdadh air a’ bhidio.
  • Beachdaich air pàigheadh ​​​​airson seirbheisean digiteachaidh proifeasanta.
    • Bidh thu anabarrach tha e doirbh agus daor a bhith gam maidseadh a thaobh càileachd digiteachaidh.
    • Ach fuirich air falbh bho chompanaidh ris an canar EverPresent (teachdaireachd thugam ma tha mion-fhiosrachadh a dhìth ort).
  • Ma nì thu digiteachadh thu fhèin, ceannaich HDD.
    • Bheir bhidio mìneachaidh àbhaisteach neo-bhrùichte 100-200 MB gach mionaid.
    • Chùm mi a h-uile càil air mo shon Synology DS412 + (10 TB).
  • Clàraich meata-dàta ann an cruth cumanta nach eil ceangailte ri tagradh sònraichte.
    • Tuairisgeul clip, còdan ùine, cinn-latha, msaa.
    • Ma shàbhaileas tu meata-dàta ann an cruth a tha sònraichte don tagradh (no nas miosa, na sàbhail e idir), cha bhith e comasach dhut an obair ath-dhèanamh ma cho-dhùnas tu fuasgladh eile a chleachdadh.
    • Mar a bhios tu a’ deasachadh, chì thu tòrr meata-dàta feumail air a’ bhidio. Caillidh tu iad mura sàbhail thu iad.
      • Dè tha a’ tachairt anns a’ bhidio?
      • Cò tha clàraichte an sin?
      • Cuin a chaidh seo a chlàradh?
  • Comharraich na bhideothan as fheàrr leat.
    • Gus a bhith onarach, tha a’ mhòr-chuid de bhideothan dachaigh gu math dòrainneach.
    • Bidh mi a’ cur an taga “as fheàrr de” air na criomagan as fheàrr leam agus gam fosgladh nuair a tha mi airson coimhead air bhideothan èibhinn.
  • Cuir air dòigh fuasgladh coileanta cho tràth ‘s a ghabhas gus am bi am pròiseas a’ dol dìreach bho thoiseach gu deireadh.
    • Dh’ fheuch mi ris na teipichean gu lèir a chur ann an cruth didseatach an toiseach, an uairsin na teipichean gu lèir a dheasachadh, msaa.
    • B’ fheàrr leam gun do thòisich mi le aon teip agus gun do rinn mi an obair gu lèir leis. An uairsin bhithinn a’ tuigsinn dè na co-dhùnaidhean agus dè na h-ìrean a bheir buaidh air an toradh deireannach.
  • Cùm a’ clàradh chun ìre as ìsle.
    • Gach uair a dheasaicheas tu no a dh’ ath-chòdaicheas tu criomag, lughdaichidh tu a chàileachd.
    • Dèan digiteachadh air na dealbhan amh agad aig a’ chàileachd as àirde, agus an uairsin cuir a-steach gach criomag dìreach aon uair a-steach don chruth a bhios brobhsairean a’ toirt seachad gu dùthchasach.
  • Cleachd am fuasgladh as sìmplidh airson criomagan bhidio fhoillseachadh.
    • Le bhith a’ coimhead air ais, tha MediaGoblin a’ coimhead mar inneal ro iom-fhillte airson an suidheachadh gu math sìmplidh airson duilleagan lìn a chruthachadh le seata statach de fhaidhlichean bhidio.
    • Nam biodh mi a’ tòiseachadh a-rithist, bhithinn a’ cleachdadh gineadair làrach statach mar Hugo, Jekyll no Grianach.
  • Dèan an stàladh.
    • Tha deasachadh bhidio na dhòigh spòrsail airson na h-amannan as fheàrr bho ioma bhidio a thoirt còmhla.
    • Is e ceòl am prìomh rud ann an deasachadh. Mar eisimpleir, tha an cuspair iongantach Sneachda mall bhon National, is e seo mo lorg pearsanta.

Source: www.habr.com