Postquam omnia fragmenta processi, volui ea tam facile in interreti quam in YouTube spectari. Cum hae memoriae familiares privatae sint, in YouTube ipso poni non possunt. Solutio hospitii privatior requirebatur, quae et commoda et tuta esset.
Gradus 3. Publicatio
ClipBucket, imitatio YouTube fontis aperti quem in tuo servo instituere potes.
Primum quod temptavi erat , quod se clonem YouTube fontis aperti appellat, quod in servo tuo instituere potes.

Mirum est, sed ClipBucket nullas instructiones institutionis praebet. Gratias ago. я propter , instrumentum ad configurationem administrandam servi.
Pars difficultatis erat quod scripta institutionis ClipBucket omnino corrupta erant. Eo tempore, ego... et secundum contractus condiciones nullum mihi ius erat contribuere ad clonem YouTube fontis aperti, sed ego , ex quibus correctiones necessariae facile fieri poterant. Menses praeterierunt, et adhuc non intellexerunt quid problema esset. Potius, omnia addiderunt maior errores in unaquaque versione.
ClipBucket exemplar consultationis gessit — codicem suum gratis ediderunt et pro auxilio disponendi pecuniam poscebant. Paulatim mihi illuxit societatem quae pecuniam ex auxilio empto facit verisimiliter non multum interesse ut clientes productum ipsi instituant.
MediaGoblin, alternativa recentior
Post menses frustrationis cum ClipBucket, optiones meas inspexi et inveni .

est suggestum separatum ad fasciculos mediorum communicandos.
MediaGoblin multa bona habet. Dissimilis ClipBucket, qui PHP deforme utitur, MediaGoblin Python scriptus est—lingua in qua multam experientiam habeo in programmando. , quod facilem reddit automationem deductionis pellicularum. Maxime autem, MediaGoblin venit in , quod omnes difficultates institutionis eliminat.
— est technologia quae ambitum sui iuris applicationi quae ubique currit creat. Docker utor in .
Difficultas mirabilis MediaGoblin denuo in dockerizationem
Imaginem MediaGoblin Docker disponere leve negotium fore putavi. Sed res non prorsus ita se habuit.
Imago perfecta duae functiones necessariae deerant:
- authenticas
- MediaGoblin portam publicam mediorum per se creat, sed mihi opus erat via ad accessum ab externis restringendum.
- Transcodificatio
- Quotiescumque pelliculam imposueris, MediaGoblin eam transcodificare conatur ad optimam transmissionem. Si pellicula iam parata est ad transmissionem, transcodificatio qualitatem eius imminuet.
- MediaGoblin praebet , sed hoc in imagine Docker exsistente fieri non potest.
Bene, nulla difficultas. Imago Docker venit cum , ergo fieri potest .
Infeliciter, imago Docker iam non ex praesenti construitur. Conatus sum illud cum versione ab ultima constructione prospera synchronizare, sed id quoque defecit. Quamquam eundem prorsus codicem utebar, dependentiae externae MediaGoblin mutatae erant, constructionem interruptae. Post horas multas, processum constructionis MediaGoblin decem vel quindecim minutorum iterum atque iterum peregi donec tandem fungeretur.
Post aliquot menses, idem accidit. Summa summarum, catena dependentiarum MediaGoblin structuram meam pluries per biennium proximum fregit, et ultimum tempus quo accidit fuit dum hunc articulum scribebam. Tandem publicavi. c et versiones bibliothecae explicite specificatas. Aliis verbis, loco dubiae assertionis MediaGoblin cum quavis versione operari >= 3.0, dependentiam specificam in versione institui. , quia MediaGoblin hac versione probavi. Videtur productum requirere , sed id nondum feci.
Quomodocumque, post multas horas laboris, tandem MediaGoblin tamquam imaginem Docker construere et configurare mihi contigit. Inde, facile erat. и .
Gradus IV. Hospitium
Cum MediaGoblin sub Docker in machina mea locali curreret, proximus gradus erat illud in servum nubilum ponere ut familia videos spectare posset.
MediaGoblin et Problema Repositorii Videorum
Multae sunt suggesta quae imaginem Docker accipiunt et in URL publico continent. Incommodum erat quod, praeter ipsam applicationem, 33 GB fasciculorum video divulgari debebant. Ea in imaginem Docker firmiter includere optio erat, sed hoc molestum et deforme fuisset. Mutatio unius lineae configurationis 33 GB notitiarum iterum distribuere postulavisset.
Cum ClipBucket usus sum, problema solvi cum — instrumentum quod systemati operativo permittit ut directoria in repositorium Google Cloud tamquam vias regulares systematis fasciculorum imponat. Fasciculos video in Google Cloud hospitavi et gcsfuse usus sum ut in ClipBucket tamquam fasciculi locales apparerent.
Differentia erat quod ClipBucket in vera machina virtuali currebat, dum MediaGoblin in receptaculo Docker currebat. Multo difficilius erat fasciculos e repositorio nubili coniungere. Decenas horas impendi omnia problemata solvendo et de eis scripsi. .

Prima integratio MediaGoblin cum repositorio Google Cloud, quam ego...
Post aliquot hebdomades omnia componendi, omnia bene successit. Sine ullis mutationibus in codice MediaGoblin factis, dolum feci ut fasciculos multimedia in Google Cloud Storage legeret et scriberet.
Unica difficultas erat quod MediaGoblin incredibiliter tardus fiebat. Imagines praeviae pellicularum in pagina principali onerare viginti plenas secundas consumebat. Si progrediens dum pelliculam spectabas, MediaGoblin per decem secundas infinitas pausam faceret antequam ludum resumeret.
Problema principale erat quod imagines et videos viam longam et tortuosam ad usorem sequebantur. A Google Cloud Storage per gcsfuse ad MediaGoblin et Nginx iter facere debebant—et tum demum navigatrum usoris perveniebant. Impedimentum principale erat gcsfuse, quod ad celeritatem non aptatum est. Elaboratores de moris significantibus in operatione utilitatis in pagina principali propositi monent:

monita in documentatione gcsfuse
Optime, navigatrum intermedium fasciculos directe ex Google Cloud recuperare debet, praetermissis omnibus stratis intermediis. Quomodo hoc fieri potest sine investigatione codicis MediaGoblin et additione complexae logicae integrationis Google Cloud?
Dolus "sub_filter" in Nginx
Fortunate solutionem simplicem inveni, quamquam немного Turpe. Id configurationi `default.conf` in Nginx addidi. :
sub_filter "/mgoblin_media/media_entries/" "https://storage.googleapis.com/MY-GCS-BUCKET/media_entries/";
sub_filter_once off;In mea configuratione, Nginx quasi procurator inter MediaGoblin et usorem finalem fungebatur. Directiva supradicta Nginx instruit ut "quaerere et substituere" omnia responsa HTML MediaGoblin antequam ea usori finali offerat. Nginx omnes vias relativas ad fasciculos mediorum MediaGoblin cum URL ex Google Cloud Storage substituit.
Exempli gratia, MediaGoblin HTML hoc modo generat:
<video width="720" height="480" controls autoplay>
<source
src="/mgoblin_media/media_entries/16/Michael-riding-a-bike.mp4"
type="video/mp4">
</video>Nginx responsum mutat:
<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>Nunc omnia, ut oportet, in locum suum cadunt:

Nginx responsa ex MediaGoblin rescribit ut clientes fasciculos mediorum directe ex Google Cloud Storage petere possint.
Optima pars solutionis meae est quod nullas mutationes codicis MediaGoblin requirit. Mandatum Nginx duarum linearum MediaGoblin et Google Cloud sine difficultate integrat, quamvis duo officia inter se prorsus ignara sint.
illudHaec solutio requirit ut fasciculi in Google Cloud Storage publice legibiles sint. Ad periculum accessus non auctorizati minuendum, nomen longum et fortuitum situlae utor (e.g.,
mediagoblin-39dpduhfz1wstbprmyk5ak29) et verifica ne consilium moderationis accessus situlae usoribus non auctorizatis contenta directorii enumerare liceat.
Final product
Hoc tempore, solutionem perfectam et functionalem habebam. MediaGoblin feliciter in suo receptaculo in Google Cloud Platform cucurrit, itaque non frequentes emendationes aut renovationes requirebat. Omnia in meo processu automataria et reproducibilia erant, faciles mutationes vel reversiones ad versiones priores permittentes.
Familiae meae valde placuit quam facile esset videos spectare. Adhibito instrumento Nginx supra descripto, sonus videorum tam celer factus est quam YouTube.
Pagina spectandi hoc modo apparet:

Materia catalogi familiaris pellicularum, "Optima" insignita,
Premendo imaginem parvam, fenestra similis huic apparet:

Spectatio unius fragmenti in servo mediorum
Post annos laboris, incredibiliter laetus sum familiae meae occasionem dedi ut nostra videa in eadem interfacie facili usu ac YouTube spectarent, sicut initio volueram.
Bonus: Sumptus ad minus quam $1 per mensem reduce.
Non saepe pelliculas domesticas spectas, sed tantum per aliquot menses. Familia mea simul circiter viginti horas commeatus per annum generabat, sed servus perpetuo operabatur. Quindecim dollariis per mensem pro servo qui 99,7% temporis otiosus erat solvi.
Fine anni 2018, Google productum emisit Praeclarum commodum erat receptacula Docker tam celeriter incipere ut applicatio petitionibus HTTP respondere posset. Hoc significabat servum otiosum manere posse et solum incipere cum aliquis eo accedere vellet. Pro applicationibus raro usitatis, sicut mea, sumptus a $15 per mensem ad paucos centesimos per annum descenderunt.
Ob causas quas non recordor, Cloud Run cum imagine mea MediaGoblin non operabatur. Sed cum adventu Cloud Run, recordatus sum... simile servitium gratis offert, et instrumenta eorum multo faciliora ad usum sunt quam Google.
Cum servo applicationis gratuitae, sola impensa est repositio datorum. Repositio regionalis Googleana 2,3 centesimas per GB constat. Archivum meum videorum 33 GB occupat, ergo tantum 77 centesimas per mensem solvo.

Haec solutio tantum $0,77 per mensem constat.
Consilia eis qui conabuntur
Plane, processus mihi diu tempus sumpsit. Sed spero hunc articulum te adiuturum esse ad 80-90% laboris conservandi qui in digitalizatione et publicatione pellicularum domesticarum tuarum implicantur. Plura invenire potes in sectione separata. per totum processum, sed hic sunt nonnulla consilia generalia:
- Dum digitalizas et recenses, quam plurima metadata conserva.
- Informationes pretiosae saepe in pittaciis cassettarum videographicarum inscriptae sunt.
- Nota quod fragmentum ex qua taenia et quo ordine captum sit.
- Diem pelliculae, qui in video indicari potest, nota quaeso.
- Considera pecuniam pro officiis digitalizationis professionalibus solvere.
- Eris чрезвычайно Difficile et carum est eos qualitate digitali aequare.
- Sed abstine a societate nomine EverPresent (nuntium mihi mitte pro singulis).
- Si digitizationem ipse facis, discum rigidum eme.
- Pellicula definitionis normalis non compressa 100-200 MB per minutum occupat.
- Omnia mihi soli servavi (10 TB).
- Metadata scribe in forma communi quae non ad applicationem specificam alligatur.
- Descriptiones fragmentorum, notae temporales, dies, et cetera.
- Si metadata in forma applicationi propria servas (vel, quod peius est, omnino non), opus tuum repetere non poteris si aliam solutionem uti constitueris.
- Cum edes, multas metadatas utiles in video tuo vides. Eas perdes nisi servaveris.
- Quid in video agitur?
- Quis ibi inscriptus est?
- Quando hoc relatum est?
- Nota videos tuos dilectissimos.
- Ut vere dicam, pleraque pelliculae domesticae satis taediosae sunt.
- Notam "optima" fragmentis meis dilectissimis applico et eas aperio cum videos iocosos spectare volo.
- Solutionem comprehensivam quam primum compone ut processus ab initio ad finem prospere procedat.
- Conatus sum primum omnes taenias digitizare, deinde omnes taenias recensere, et cetera.
- Pudendum est me non ab una tantum taenia coepisse et totum opus in ea fecisse. Tum intellexissem quae decisiones et quibus in gradibus exitum finalem afficiant.
- Recodificationem imminue.
- Quotiescumque segmentum edis vel denuo codificas, eius qualitatem degradas.
- Capta imagines crudas optima qualitate, deinde singula fragmenta semel tantum in formam quam navigatra interretialia native ludunt transcodifica.
- Solutione simplicissima utere ad fragmenta pellicularum edenda.
- Respiciente, MediaGoblin instrumentum nimis complexum videtur ad condicionem satis simplicem paginarum interretialium generandarum cum serie statica fasciculorum video.
- Si de novo inciperem, generatorem situs statici uterer, ut , aut .
- Emendationem fac.
- Emendatio pellicularum modus iucundus est optima momenta ex multis pelliculis coniungendi.
- Res gravissima in editione est musica. Exempli gratia, thema aptissime convenit. Ex The National, haec est inventio mea personalis.
Source: www.habr.com
