Ar ôl prosesu'r holl glipiau, roeddwn i eisiau eu gwneud mor hawdd i'w gwylio ar-lein ag ydyn nhw ar YouTube. Gan mai atgofion teuluol personol yw'r rhain, ni ellir eu postio ar YouTube ei hun. Roedd angen datrysiad cynnal mwy preifat, un a oedd yn gyfleus ac yn ddiogel.
Cam 3. Cyhoeddi
ClipBucket, clôn YouTube ffynhonnell agored y gallwch ei osod ar eich gweinydd eich hun
Y peth cyntaf a geisiais oedd , sy'n galw ei hun yn glôn YouTube ffynhonnell agored y gallwch ei osod ar eich gweinydd.

Yn syndod, nid yw ClipBucket yn darparu unrhyw gyfarwyddiadau gosod. Diolch. я gyda help , offeryn rheoli ffurfweddiad gweinydd.
Rhan o'r anhawster oedd bod sgriptiau gosod ClipBucket wedi torri'n llwyr. Ar y pryd, fi ac yn ôl telerau'r cytundeb nid oedd gennyf hawl i gyfrannu at y clôn YouTube ffynhonnell agored, ond roeddwn i , lle gellid gwneud y cywiriadau angenrheidiol yn hawdd. Aeth misoedd heibio, ac nid oeddent yn dal i ddeall beth oedd y broblem. Yn lle hynny, ychwanegasant bopeth gwell bygiau ym mhob rhyddhad.
Roedd ClipBucket yn gweithredu ar fodel ymgynghori—rhyddhaon nhw eu cod am ddim a chodi tâl am gymorth gyda'u defnyddio. Yn raddol, sylweddolais nad yw cwmni sy'n gwneud arian o gymorth â thâl yn debygol o fod â diddordeb mawr mewn gadael i gwsmeriaid osod y cynnyrch eu hunain.
MediaGoblin, dewis arall mwy modern
Ar ôl misoedd o rwystredigaeth gyda ClipBucket, edrychais ar fy opsiynau a chanfod .

yn blatfform annibynnol ar gyfer rhannu ffeiliau cyfryngau.
Mae gan MediaGoblin lawer o bethau da. Yn wahanol i ClipBucket, sy'n defnyddio PHP anhardd, mae MediaGoblin wedi'i ysgrifennu yn Python—iaith sydd gen i lawer o brofiad o godio ynddi. , sy'n ei gwneud hi'n hawdd awtomeiddio lawrlwythiadau fideo. Yn bwysicaf oll, mae MediaGoblin yn dod i mewn , sy'n dileu unrhyw broblemau gosod.
— yn dechnoleg sy'n creu amgylchedd hunangynhwysol ar gyfer cymhwysiad sy'n rhedeg yn unrhyw le. Rwy'n defnyddio Docker yn .
Yr anhawster annisgwyl o ail-ddocio MediaGoblin
Roeddwn i'n cymryd yn ganiataol y byddai defnyddio delwedd Docker MediaGoblin yn dasg ddibwys. Wel, nid oedd hynny'n hollol wir.
Roedd dau swyddogaeth angenrheidiol ar goll o'r ddelwedd orffenedig:
- Dilysu
- Mae MediaGoblin yn creu porth cyfryngau cyhoeddus yn ddiofyn, ond roeddwn i angen ffordd i gyfyngu mynediad gan bobl o'r tu allan.
- Trawsgodio
- Bob tro y byddwch chi'n uwchlwytho fideo, mae MediaGoblin yn ceisio ei drawsgodio ar gyfer ffrydio gorau posibl. Os yw'r fideo eisoes yn barod i'w ffrydio, bydd trawsgodio yn lleihau ei ansawdd.
- Mae MediaGoblin yn darparu , ond ni ellir gwneud hyn mewn delwedd Docker sy'n bodoli eisoes.
Wel, dim problem. Daw delwedd y Docker gyda , felly mae'n bosibl .
Yn anffodus, nid yw delwedd y Docker bellach wedi'i hadeiladu o'r presennol Ceisiais ei gysoni â'r fersiwn o'r adeiladwaith llwyddiannus diwethaf, ond methodd hynny hefyd. Er fy mod yn defnyddio'r un cod yn union, roedd dibyniaethau allanol MediaGoblin wedi newid, gan dorri'r adeiladwaith. Ar ôl dwsinau o oriau, rhedais broses adeiladu 10-15 munud MediaGoblin dro ar ôl tro nes iddo weithio o'r diwedd.
Ychydig fisoedd yn ddiweddarach, digwyddodd yr un peth. At ei gilydd, mae cadwyn ddibyniaeth MediaGoblin wedi torri fy adeiladwaith sawl gwaith dros y ddwy flynedd ddiwethaf, a'r tro diwethaf iddo ddigwydd oedd tra roeddwn i'n ysgrifennu'r erthygl hon. Cyhoeddais o'r diwedd c a fersiynau llyfrgell wedi'u pennu'n benodol. Mewn geiriau eraill, yn lle'r honiad amheus bod MediaGoblin yn gweithio gydag unrhyw fersiwn >= 3.0, gosodais ddibyniaeth benodol ar y fersiwn , oherwydd i mi brofi MediaGoblin gyda'r fersiwn hon. Mae'n edrych fel bod angen y cynnyrch , ond dydw i ddim wedi gwneud hynny eto.
Beth bynnag, ar ôl oriau lawer o ymdrech, llwyddais i adeiladu a ffurfweddu MediaGoblin fel delwedd Docker o'r diwedd. O'r fan honno, roedd yn hawdd. и .
Cam 4. Cynnal
Gan fod MediaGoblin yn rhedeg o dan Docker ar fy mheiriant lleol, y cam nesaf oedd ei ddefnyddio ar weinydd cwmwl fel y gallai'r teulu wylio'r fideos.
MediaGoblin a'r Broblem Storio Fideo
Mae yna lawer o lwyfannau sy'n derbyn delwedd Docker ac yn ei chynnal ar URL cyhoeddus. Y broblem oedd, yn ogystal â'r rhaglen ei hun, bod yn rhaid cyhoeddi 33 GB o ffeiliau fideo. Roedd eu codio'n galed i mewn i ddelwedd Docker yn opsiwn, ond byddai hynny wedi bod yn drafferthus ac yn anhardd. Byddai newid un llinell o ffurfweddiad wedi golygu bod angen ail-leoli 33 GB o ddata.
Pan ddefnyddiais ClipBucket, datrysais y broblem gyda — cyfleustodau sy'n caniatáu i'r system weithredu uwchlwytho cyfeiriaduron i storfa Google Cloud fel llwybrau system ffeiliau rheolaidd. Cynhaliais ffeiliau fideo ar Google Cloud a defnyddiais gcsfuse i'w gwneud yn ymddangos yn ClipBucket fel ffeiliau lleol.
Y gwahaniaeth oedd bod ClipBucket yn rhedeg mewn peiriant rhithwir go iawn, tra bod MediaGoblin yn rhedeg mewn cynhwysydd Docker. Roedd gosod ffeiliau o storfa cwmwl yn llawer anoddach. Treuliais dwsinau o oriau yn datrys problemau ac ysgrifennais amdano. .

Integreiddiad cychwynnol MediaGoblin gyda storfa Google Cloud, a wnes i
Ar ôl ychydig wythnosau o addasu popeth, gweithiodd popeth. Heb wneud unrhyw newidiadau i god MediaGoblin, fe wnes i dwyllo i wneud iddo ddarllen ac ysgrifennu ffeiliau cyfryngau i Google Cloud Storage.
Yr unig broblem oedd bod MediaGoblin wedi mynd yn anhygoel o araf. Cymerodd llwytho mân-luniau fideo ar y brif dudalen 20 eiliad llawn. Os oeddech chi'n neidio ymlaen wrth wylio fideo, byddai MediaGoblin yn oedi am 10 eiliad diddiwedd cyn ailddechrau chwarae.
Y brif broblem oedd bod fideos a delweddau wedi cymryd llwybr hir a throellog i'r defnyddiwr. Roedd yn rhaid iddynt deithio o Google Cloud Storage trwy gcsfuse i MediaGoblin ac Nginx—a dim ond wedyn y cyrhaeddon nhw borwr y defnyddiwr. Y prif dagfa oedd gcsfuse, nad yw wedi'i optimeiddio ar gyfer cyflymder. Mae'r datblygwyr yn rhybuddio am oedi sylweddol yng ngweithrediad y cyfleustodau ar brif dudalen y prosiect:

Rhybuddion yn nogfennaeth gcsfuse
Yn ddelfrydol, dylai'r porwr adfer ffeiliau'n uniongyrchol o Google Cloud, gan osgoi pob haen ganolradd. Sut gellir cyflawni hyn heb ymchwilio i god sylfaen MediaGoblin ac ychwanegu rhesymeg integreiddio cymhleth Google Cloud?
Y tric sub_filter yn nginx
Yn ffodus, des i o hyd i ateb syml, er ychydig bach Hyll. Fe wnes i ei ychwanegu at y cyfluniad default.conf yn Nginx. :
sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;Yn fy ngosodiad i, roedd Nginx yn gweithredu fel dirprwy rhwng MediaGoblin a'r defnyddiwr terfynol. Mae'r gyfarwyddeb uchod yn cyfarwyddo Nginx i gynnal chwiliad ac amnewid ar bob ymateb HTML MediaGoblin cyn eu cyflwyno i'r defnyddiwr terfynol. Mae Nginx yn amnewid pob llwybr cymharol i ffeiliau cyfryngau MediaGoblin gydag URLau o Google Cloud Storage.
Er enghraifft, mae MediaGoblin yn cynhyrchu HTML fel hyn:
<video width="720" height="480" controls autoplay>
<source
src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>Mae Nginx yn addasu'r ymateb:
<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>Nawr mae popeth yn dod i'w le fel y dylai:

Mae Nginx yn ailysgrifennu ymatebion o MediaGoblin fel y gall cleientiaid ofyn am ffeiliau cyfryngau yn uniongyrchol o Google Cloud Storage
Y peth gorau am fy ateb yw nad oes angen unrhyw newidiadau i god MediaGoblin. Mae cyfarwyddeb Nginx dwy linell yn integreiddio MediaGoblin a Google Cloud yn ddi-dor, er nad yw'r ddau wasanaeth yn ymwybodol o gwbl o'i gilydd.
NodynMae'r ateb hwn yn ei gwneud yn ofynnol bod ffeiliau yn Google Cloud Storage yn ddarllenadwy i'r cyhoedd. Er mwyn lleihau'r risg o fynediad heb awdurdod, rwy'n defnyddio enw bwced hir, ar hap (e.e.,
mediagoblin-39dpduhfz1wstbprmyk5ak29) a gwirio nad yw polisi rheoli mynediad y bwced yn caniatáu i ddefnyddwyr heb awdurdod restru cynnwys y cyfeiriadur.
Cynnyrch terfynol
Ar y pwynt hwn, roedd gen i ateb cyflawn, gweithredol. Roedd MediaGoblin yn rhedeg yn hapus yn ei gynhwysydd ei hun ar Google Cloud Platform, felly nid oedd angen ei ddiweddaru na'i drwsio'n aml. Roedd popeth yn fy mhroses wedi'i awtomeiddio ac yn atgynhyrchadwy, gan ganiatáu golygiadau neu ddychwelyd fersiynau blaenorol yn hawdd.
Roedd fy nheulu wrth eu bodd pa mor hawdd oedd gwylio fideos. Gan ddefnyddio'r hac Nginx a ddisgrifiwyd uchod, daeth chwarae fideo mor gyflym â YouTube.
Mae'r sgrin wylio fel hyn yn edrych:

Cynnwys catalog fideo teuluol wedi'i dagio "Gorau"
Mae clicio ar y mân-lun yn dangos sgrin fel hon:

Gweld un clip ar weinydd cyfryngau
Ar ôl blynyddoedd o waith, roeddwn i’n hynod falch o roi’r cyfle i’m teulu wylio ein fideos yn yr un rhyngwyneb hawdd ei ddefnyddio â YouTube, yn union fel roeddwn i eisiau’n wreiddiol.
Bonws: Lleihau costau i lai na $1 y mis
Dydych chi ddim yn gwylio fideos cartref yn aml, dim ond bob ychydig fisoedd. Roedd fy nheulu gyda'i gilydd yn cynhyrchu tua 20 awr o draffig y flwyddyn, ond roedd y gweinydd yn rhedeg 24/7. Talais $15 y mis am weinydd oedd yn segur 99,7% o'r amser.
Ar ddiwedd 2018, rhyddhaodd Google gynnyrch Y nodwedd fwyaf llwyddiannus oedd lansio cynwysyddion Docker mor gyflym fel bod y rhaglen yn gallu ymateb i geisiadau HTTP. Roedd hyn yn golygu y gallai'r gweinydd aros yn segur a dim ond lansio pan oedd rhywun eisiau ei gyrchu. Ar gyfer rhaglenni a ddefnyddir yn anaml fel fy un i, gostyngodd y costau o $15 y mis i ychydig geiniogau y flwyddyn.
Am resymau na allaf eu cofio, ni weithiodd Cloud Run gyda fy nelwedd MediaGoblin. Ond gyda dyfodiad Cloud Run, cofiais hynny yn cynnig gwasanaeth tebyg am ddim, ac mae eu hoffer yn llawer mwy hawdd eu defnyddio na rhai Google.
Gyda'r gweinydd ap am ddim, yr unig gost yw storio data. Mae storfa ranbarthol safonol Google yn costio 2,3 sent y GB. Mae fy archif fideo yn cymryd 33 GB, felly dim ond 77 sent y mis rwy'n ei dalu.

Dim ond $0,77 y mis y mae'r ateb hwn yn ei gostio.
Awgrymiadau i'r rhai sy'n mynd i roi cynnig arni
Yn amlwg, cymerodd y broses amser hir i mi. Ond rwy'n gobeithio y bydd yr erthygl hon yn eich helpu i arbed 80-90% o'r ymdrech sy'n gysylltiedig â digideiddio a chyhoeddi eich fideos cartref. Gallwch ddod o hyd i ragor o wybodaeth mewn adran ar wahân. drwy gydol y broses, ond dyma rai awgrymiadau cyffredinol:
- Yn ystod y cyfnod digideiddio a golygu, cadwch gymaint o metadata â phosibl.
- Mae gwybodaeth werthfawr yn aml yn cael ei hysgrifennu ar labeli casetiau fideo.
- Nodwch pa glip a ffilmiwyd o ba dâp ac ym mha drefn.
- Nodwch ddyddiad y ffilmio, a all fod wedi'i nodi ar y fideo.
- Ystyriwch dalu am wasanaethau digideiddio proffesiynol.
- Byddwch chi yn hynod Mae'n anodd ac yn ddrud eu cyfateb o ran ansawdd digidol.
- Ond cadwch draw oddi wrth gwmni o'r enw EverPresent (anfonwch neges ataf am fanylion).
- Os ydych chi'n gwneud y digideiddio eich hun, prynwch HDD.
- Mae fideo diffiniad safonol heb ei gywasgu yn cymryd 100-200 MB y funud.
- Cadwais bopeth ar fy mhen fy hun (10 TB).
- Ysgrifennwch metadata mewn fformat cyffredin nad yw'n gysylltiedig â chymhwysiad penodol.
- Disgrifiadau clipiau, codau amser, dyddiadau, ac ati.
- Os byddwch chi'n cadw metadata mewn fformat sy'n benodol i'r rhaglen (neu, yn waeth byth, ddim o gwbl), ni fyddwch chi'n gallu ailwneud eich gwaith os penderfynwch ddefnyddio datrysiad gwahanol.
- Wrth olygu, rydych chi'n gweld llawer o fetadata defnyddiol ar eich fideo. Byddwch chi'n ei golli os na fyddwch chi'n ei gadw.
- Beth sy'n digwydd yn y fideo?
- Pwy sydd wedi cofrestru yno?
- Pryd gafodd hyn ei recordio?
- Marciwch eich hoff fideos.
- A dweud y gwir, mae'r rhan fwyaf o fideos cartref yn eithaf diflas.
- Rwy'n rhoi'r tag "gorau" ar fy hoff glipiau ac yn eu hagor pan fyddaf eisiau gwylio fideos doniol.
- Trefnwch ddatrysiad cynhwysfawr cyn gynted â phosibl i sicrhau bod y broses yn rhedeg yn esmwyth o'r dechrau i'r diwedd.
- Ceisiais ddigideiddio'r holl dapiau yn gyntaf, yna golygu'r holl dapiau, ac ati.
- Mae'n drueni na wnes i ddechrau gydag un tâp yn unig a gwneud yr holl waith arno. Yna byddwn i wedi deall pa benderfyniadau ac ar ba gamau sy'n dylanwadu ar y canlyniad terfynol.
- Lleihau ailgodio.
- Bob tro rydych chi'n golygu neu'n ail-amgodio clip, rydych chi'n israddio ei ansawdd.
- Cipio lluniau crai ar yr ansawdd uchaf, yna trawsgodio pob clip unwaith yn union i fformat y mae porwyr yn ei chwarae'n frodorol.
- Defnyddiwch yr ateb symlaf posibl ar gyfer cyhoeddi clipiau fideo.
- Wrth edrych yn ôl, mae MediaGoblin yn ymddangos fel offeryn rhy gymhleth ar gyfer y senario syml o gynhyrchu tudalennau gwe gyda set statig o ffeiliau fideo.
- Pe bawn i'n dechrau o'r newydd, byddwn i'n defnyddio generadur safle statig fel , neu .
- Gwnewch y golygiad.
- Mae golygu fideo yn ffordd hwyliog o gyfuno'r eiliadau gorau o sawl fideo.
- Y peth pwysicaf wrth olygu yw cerddoriaeth. Er enghraifft, mae'r thema'n cyd-fynd yn berffaith. O The National, dyma fy narganfyddiad personol i.
Ffynhonnell: hab.com
