Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2

Apa akọkọ ṣe apejuwe ibeere ti o nira lati ṣe digitize awọn fidio ẹbi atijọ ki o fọ wọn si awọn iwoye lọtọ.. Lẹhin ṣiṣe gbogbo awọn agekuru, Mo fẹ lati ṣeto wiwo wọn lori ayelujara bi irọrun bi lori YouTube. Niwọn igba ti iwọnyi jẹ awọn iranti ti ara ẹni ti ẹbi, wọn ko le firanṣẹ lori YouTube funrararẹ. A nilo alejo gbigba ikọkọ diẹ sii ti o rọrun ati aabo.

Igbesẹ 3: Titẹjade

ClipBucket, ẹda oniye YouTube orisun ṣiṣi ti o le fi sii sori olupin tirẹ

Ohun akọkọ ti Mo gbiyanju AgekuruBucket, eyiti o pe ararẹ ni ẹda oniye YouTube ti o ṣii ti o le fi sori ẹrọ lori olupin rẹ.

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2

Iyalenu, ClipBucket ko ni awọn ilana fifi sori ẹrọ eyikeyi. Ọpẹ si si ita isakoso я aládàáṣiṣẹ awọn fifi sori ilana pẹlu iranlọwọ O ṣee, ohun elo iṣakoso iṣeto ni olupin.

Apakan iṣoro naa ni pe awọn iwe afọwọkọ fifi sori ClipBucket ti fọ patapata. Ni akoko yẹn Emi ṣiṣẹ ni Google ati ni ibamu si awọn ofin ti adehun Emi ko ni ẹtọ lati ṣe alabapin si ẹda oniye YouTube ti ṣiṣi, ṣugbọn Emi firanṣẹ ijabọ kokoro kan, lati inu eyiti awọn atunṣe pataki le ṣe ni rọọrun. Awọn oṣu ti kọja, ati pe wọn ko loye kini iṣoro naa. Dipo wọn fi ohun gbogbo kun siwaju sii idun ni gbogbo Tu.

ClipBucket ṣiṣẹ lori awoṣe ijumọsọrọ kan — wọn tu koodu wọn silẹ fun ọfẹ ati gba owo fun iranlọwọ imuṣiṣẹ. O di mimọ si mi pe ile-iṣẹ ti o ṣe owo lati atilẹyin isanwo jasi ko nifẹ pupọ si nini awọn alabara fi ọja naa sori ẹrọ funrararẹ.

MediaGoblin, yiyan igbalode diẹ sii

Lẹhin awọn oṣu ti ibanujẹ pẹlu ClipBucket, Mo wo awọn aṣayan ti o wa ati rii MediaGoblin.

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
MediaGoblin jẹ ẹya offline media pinpin Syeed

MediaGoblin ni ọpọlọpọ awọn ohun rere. Ko dabi ClipBucket ni PHP aibikita, MediaGoblin ti kọ ni Python, ede ti Mo ni iriri ifaminsi pupọ pẹlu. Jeun pipaṣẹ ila ni wiwo, eyiti o fun ọ laaye lati ṣe adaṣe adaṣe igbasilẹ fidio ni irọrun. Ni pataki julọ, MediaGoblin wa pẹlu Docker aworan, eyi ti o ṣe imukuro eyikeyi awọn iṣoro fifi sori ẹrọ.

Docker jẹ imọ-ẹrọ ti o ṣẹda agbegbe adase fun ohun elo lati ṣiṣẹ nibikibi. Mo lo Docker ni ọpọlọpọ awọn ti rẹ ise agbese.

Iṣoro iyalẹnu ti tun-dockerizing MediaGoblin

Mo ro pe gbigbe aworan docker MediaGoblin yoo jẹ iṣẹ-ṣiṣe kekere kan. O dara, iyẹn ko ṣiṣẹ ni ọna yẹn.

Aworan ti o pari ko ni awọn iṣẹ pataki meji ninu:

  • Ijeri
    • MediaGoblin ṣẹda ọna abawọle media ti gbogbo eniyan nipasẹ aiyipada, ati pe Mo nilo ọna kan lati ni ihamọ iraye si awọn ti ita.
  • Yiyipada
    • Ni gbogbo igba ti o ṣe igbasilẹ fidio kan, MediaGoblin ngbiyanju lati yi koodu pada fun ṣiṣanwọle to dara julọ. Ti fidio ba ti ṣetan ni ibẹrẹ fun ṣiṣanwọle, transcoding dinku didara naa.
    • MediaGoblin pese pa transcoding nipasẹ awọn aṣayan iṣeto ni, ṣugbọn eyi ko le ṣe ni aworan Docker ti o wa tẹlẹ.

O dara, ko si iṣoro. Aworan Docker wa pẹlu ìmọ orisun, nitorina o ṣee ṣe tun ṣe funrararẹ.

Laanu, aworan Docker ko ni itumọ ti lati lọwọlọwọ. Ibi ipamọ MediaGoblin. Mo gbiyanju lati muṣiṣẹpọ pẹlu ẹya lati ṣiṣe aṣeyọri ti o kẹhin, ṣugbọn iyẹn tun kuna. Paapaa botilẹjẹpe Mo lo koodu kanna gangan, awọn igbẹkẹle ita MediaGoblin yipada, fifọ kọ. Lẹhin awọn dosinni ti awọn wakati, Mo sare nipasẹ awọn iṣẹju 10-15 MediaGoblin kọ ilana leralera titi o fi ṣiṣẹ nikẹhin.

Oṣu diẹ lẹhinna ohun kanna ṣẹlẹ. Ni apapọ, ẹwọn igbẹkẹle MediaGoblin ti fọ kikọ mi ni ọpọlọpọ igba ni ọdun meji sẹhin, ati pe akoko ikẹhin ti o ṣẹlẹ ni o kan lakoko ti Mo nkọ nkan yii. Mo nipari atejade orita ti ara MediaGoblin c lile-se amin dependencies ati awọn ẹya pato ti awọn ile-ikawe. Ni awọn ọrọ miiran, dipo ẹtọ ṣiyemeji ti MediaGoblin ṣiṣẹ pẹlu ẹya eyikeyi seleri > = 3.0, Mo ti fi sori ẹrọ kan pato ti ikede gbára seleri 4.2.1nitori Mo ṣe idanwo MediaGoblin pẹlu ẹya yii. O dabi pe ọja nilo reproducible Kọ siseto, sugbon Emi ko ṣe sibẹsibẹ.

Lonakona, lẹhin ọpọlọpọ awọn wakati ti Ijakadi, Mo ni anfani nipari lati kọ ati tunto MediaGoblin ni aworan Docker kan. O ti rọrun tẹlẹ nibẹ foo kobojumu transcoding и fi Nginx sori ẹrọ fun ìfàṣẹsí.

Igbesẹ 4. Alejo

Niwọn igba ti MediaGoblin ti nṣiṣẹ Docker lori kọnputa agbegbe mi, igbesẹ ti o tẹle ni lati ran lọ si olupin awọsanma ki idile le wo fidio naa.

MediaGoblin ati iṣoro ibi ipamọ fidio

Ọpọlọpọ awọn iru ẹrọ lo wa ti o ya aworan Docker kan ati gbalejo lori URL ti gbogbo eniyan. Apeja naa ni pe ni afikun si ohun elo funrararẹ, 33 GB ti awọn faili fidio ni lati tẹjade. O ṣee ṣe lati ṣe koodu lile wọn sinu aworan Docker kan, ṣugbọn iyẹn yoo jẹ irẹwẹsi ati ẹgbin. Yiyipada laini iṣeto kan yoo nilo atunkọ 33 GB ti data.

Nigbati mo lo ClipBucket Mo yanju iṣoro naa pẹlu gcsfuse - IwUlO ti o fun laaye ẹrọ ṣiṣe lati gbe awọn ilana si ibi ipamọ awọsanma Google awọsanma bi awọn ọna deede si eto faili naa. Mo gbalejo awọn faili fidio lori awọsanma Google ati lo gcsfuse lati jẹ ki wọn han ni ClipBucket bi awọn faili agbegbe.

Iyatọ naa ni pe ClipBucket nṣiṣẹ ninu ẹrọ foju gidi kan, lakoko ti MediaGoblin sare ninu apoti Docker kan. Nibi, iṣagbesori awọn faili lati ibi ipamọ awọsanma ti jade lati jẹ iṣoro pupọ sii. Mo lo awọn wakati dosinni lati yanju gbogbo awọn iṣoro naa ati kọ nipa rẹ gbogbo bulọọgi post.

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Isopọpọ akọkọ ti MediaGoblin pẹlu ibi ipamọ awọsanma Google, eyiti Mo n sọrọ nipa rẹ sọ ni ọdun 2018

Lẹhin awọn ọsẹ pupọ ti ṣatunṣe gbogbo awọn paati, ohun gbogbo ṣiṣẹ. Laisi ṣiṣe awọn ayipada eyikeyi si koodu MediaGoblin, Mo ṣe iyanjẹ sinu kika ati kikọ awọn faili media si ibi ipamọ awọsanma Google.

Iṣoro kan ṣoṣo ni pe MediaGoblin di aibikita lọra. O gba iṣẹju-aaya 20 ni kikun fun awọn eekanna atanpako fidio lati kojọpọ sori oju-iwe ile. Ti o ba fo siwaju lakoko wiwo fidio kan, MediaGoblin yoo da duro fun iṣẹju-aaya 10 ailopin ṣaaju ki o to bẹrẹ ṣiṣiṣẹsẹhin.

Iṣoro akọkọ ni pe awọn fidio ati awọn aworan gba ọna pipẹ, ọna iyipo si olumulo. Wọn ni lati lọ lati ibi ipamọ awọsanma Google nipasẹ gcsfuse si MediaGoblin, Nginx - ati lẹhinna nikan ni wọn wọle si ẹrọ aṣawakiri olumulo naa. Igo akọkọ jẹ gcsfuse, eyiti kii ṣe iṣapeye fun iyara. Awọn olupilẹṣẹ naa kilọ nipa awọn idaduro nla ni iṣẹ ṣiṣe ohun elo ni oju-iwe akọkọ ti iṣẹ akanṣe:

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Ikilo nipa kekere išẹ ninu iwe gcsfuse

Bi o ṣe yẹ, ẹrọ aṣawakiri yẹ ki o mu awọn faili taara lati Google Cloud, ni ikọja eyikeyi awọn ipele agbedemeji. Bawo ni o ṣe le ṣe eyi laisi omiwẹ sinu koodu koodu MediaGoblin tabi ṣafikun ọgbọn iṣọpọ Google Cloud?

Sub_filter ẹtan ni nginx

Ni Oriire Mo rii ojutu ti o rọrun, botilẹjẹpe kekere diẹ ilosiwaju. Mo fi kun si default.conf iṣeto ni Nginx iru àlẹmọ:

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

Ninu iṣeto mi, Nginx ṣe bi aṣoju laarin MediaGoblin ati olumulo ipari. Ilana ti o wa loke kọ Nginx lati wa ati rọpo gbogbo awọn idahun MediaGoblin HTML ṣaaju ṣiṣe wọn si olumulo ipari. Nginx rọpo gbogbo awọn ọna ibatan si awọn faili media MediaGoblin pẹlu awọn URL lati ibi ipamọ awọsanma Google.

Fun apẹẹrẹ, MediaGoblin ṣe agbekalẹ HTML bii eyi:

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

Nginx yi idahun pada:

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

Bayi ohun gbogbo n ṣiṣẹ bi o ti ṣe yẹ:

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Nginx tun ṣe awọn idahun lati MediaGoblin ki awọn alabara le beere awọn faili media taara lati ibi ipamọ awọsanma Google

Apakan ti o dara julọ nipa ojutu mi ni pe ko nilo eyikeyi awọn ayipada si koodu MediaGoblin. Ilana laini meji ti Nginx ṣepọ pọ MediaGoblin ati Google Cloud, botilẹjẹpe awọn iṣẹ ko mọ nkankan rara nipa ara wọn.

Daakọ: Ojutu yii nilo pe awọn faili ni ibi ipamọ awọsanma Google jẹ kika nipasẹ gbogbo eniyan. Lati din eewu wiwọle laigba aṣẹ, Mo lo gigun kan, orukọ garawa laileto (fun apẹẹrẹ. mediagoblin-39dpduhfz1wstbprmyk5ak29) ati rii daju pe ilana iṣakoso iwọle ti garawa ko gba awọn olumulo laigba aṣẹ lati ṣe afihan awọn akoonu inu ilana naa.

Ọja ipari

Ni aaye yi Mo ni kan ni pipe, ṣiṣẹ ojutu. MediaGoblin sare ni idunnu ninu apoti tirẹ lori pẹpẹ awọsanma Google, nitorinaa ko nilo lati parẹ tabi imudojuiwọn nigbagbogbo. Ohun gbogbo ti o wa ninu ilana mi jẹ adaṣe ati ṣe atunṣe, gbigba fun awọn atunṣe ti o rọrun tabi awọn yipo pada si awọn ẹya ti tẹlẹ.

Ìdílé mi nífẹ̀ẹ́ gan-an bí ó ṣe rọrùn tó láti wo àwọn fídíò náà. Pẹlu iranlọwọ ti gige Nginx ti a ṣalaye loke, ṣiṣẹ pẹlu awọn fidio di iyara bi lori YouTube.

Iboju wiwo naa dabi eyi:

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Awọn akoonu ti kaadi fidio idile nipasẹ tag “O Dara julọ”

Tite lori eekanna atanpako mu iboju kan wa bii eyi:

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Wiwo agekuru ẹyọkan lori olupin media kan

Lẹhin awọn ọdun ti iṣẹ, o jẹ ere iyalẹnu lati fun awọn ọmọ ẹgbẹ ẹbi ni aye lati wo awọn fidio wa ni wiwo olumulo-ibaramu YouTube kanna ti Mo fẹ ni akọkọ.

Ajeseku: Din awọn idiyele si kere ju $1 fun oṣu kan

O ko wo awọn fidio ile nigbagbogbo, nikan ni gbogbo oṣu diẹ. Idile mi ni apapọ ṣe ipilẹṣẹ nipa awọn wakati 20 ti ijabọ ni ọdun kan, ṣugbọn olupin naa nṣiṣẹ ni 15/99,7. Mo san $XNUMX oṣooṣu fun olupin ti o lọ silẹ XNUMX% ti akoko naa.

Ni ipari 2018, Google ṣe ifilọlẹ ọja naa Awọsanma Run. Ẹya apaniyan naa nṣiṣẹ awọn apoti Docker ni iyara ti ohun elo naa le dahun si awọn ibeere HTTP. Iyẹn ni, olupin le wa ni ipo imurasilẹ ki o bẹrẹ nikan nigbati ẹnikan ba fẹ wọle si. Fun awọn ohun elo ṣiṣe igbagbogbo bii temi, idiyele ti lọ silẹ lati $15 fun oṣu kan si awọn senti diẹ fun ọdun kan.

Fun awọn idi ti Emi ko ranti mọ, Cloud Run ko ṣiṣẹ pẹlu aworan MediaGoblin mi. Ṣugbọn pẹlu dide ti Cloud Run Mo ranti iyẹn Heroku nfunni ni iṣẹ ti o jọra fun ọfẹ, ati pe awọn irinṣẹ wọn jẹ ore-olumulo pupọ diẹ sii ju ti Google lọ.

Pẹlu olupin ohun elo ọfẹ, idiyele nikan ni ibi ipamọ data. Ibi ipamọ agbegbe boṣewa Google ṣe idiyele 2,3 senti/GB. Ibi ipamọ fidio gba 33 GB, nitorinaa Mo san 77 cents nikan ni oṣu kan.

Ibeere ọdun mẹjọ mi lati ṣe digitize awọn kasẹti fidio 45. Apa 2
Ojutu yii n san $0,77 nikan fun oṣu kan

Italolobo fun awon ti gbimọ a gbiyanju

O han ni ilana naa gba mi ni igba pipẹ. Ṣugbọn Mo nireti pe nkan yii yoo ran ọ lọwọ lati ṣafipamọ 80-90% ti igbiyanju ti digitizing ati titẹjade awọn fidio ile rẹ. Ni apakan lọtọ o le wa alaye igbese-nipasẹ-Igbese Itọsọna jakejado ilana, ṣugbọn nibi ni diẹ ninu awọn imọran gbogbogbo:

  • Lakoko ipele digitization ati ṣiṣatunṣe, tọju bi ọpọlọpọ awọn metadata bi o ti ṣee ṣe.
    • Alaye ti o niyelori nigbagbogbo ni igbasilẹ lori awọn akole kasẹti fidio.
    • Tọju abala agekuru wo ti o ti ya lati inu teepu wo ati ni aṣẹ wo.
    • Kọ ọjọ ti ibon yiyan silẹ, eyiti o le han lori fidio naa.
  • Gbero isanwo fun awọn iṣẹ oni-nọmba ọjọgbọn.
    • Iwọ yoo lalailopinpin o jẹ soro ati gbowolori lati baramu wọn ni awọn ofin ti digitization didara.
    • Ṣugbọn yago fun ile-iṣẹ kan ti a npe ni EverPresent (firanṣẹ mi ti o ba nilo awọn alaye).
  • Ti o ba ṣe digitization funrararẹ, ra HDD kan.
    • Fidio asọye boṣewa ti ko ni itusilẹ gba 100-200 MB fun iṣẹju kan.
    • Mo ti pa ohun gbogbo lori mi Synology DS412 + (10 TB).
  • Ṣe igbasilẹ metadata ni ọna kika ti o wọpọ ti ko so mọ ohun elo kan pato.
    • Awọn apejuwe agekuru, awọn koodu akoko, awọn ọjọ, ati bẹbẹ lọ.
    • Ti o ba ṣafipamọ metadata ni ọna kika ohun elo kan (tabi buru, ma ṣe fipamọ rara), iwọ kii yoo ni anfani lati tun iṣẹ naa ṣe ti o ba pinnu lati lo ojutu miiran.
    • Bi o ṣe ṣatunkọ, o rii ọpọlọpọ awọn metadata ti o wulo lori fidio naa. Iwọ yoo padanu wọn ti o ko ba fi wọn pamọ.
      • Kini n ṣẹlẹ ninu fidio naa?
      • Tani o forukọsilẹ nibẹ?
      • Nigbawo ni eyi ti gbasilẹ?
  • Samisi awọn fidio ayanfẹ rẹ.
    • Lati so ooto, julọ awọn fidio ile ni o wa lẹwa alaidun.
    • Mo lo aami “dara julọ ti” si awọn agekuru ayanfẹ mi ati ṣii wọn nigbati Mo fẹ wo awọn fidio alarinrin.
  • Ṣeto ojutu okeerẹ ni kutukutu bi o ti ṣee ṣe ki ilana naa lọ taara lati ibẹrẹ lati pari.
    • Mo gbiyanju lati ṣe digitize gbogbo awọn teepu ni akọkọ, lẹhinna ṣatunkọ gbogbo awọn teepu, ati bẹbẹ lọ.
    • Ibaṣepe Mo ti bẹrẹ pẹlu teepu kan ati pe MO ṣe gbogbo iṣẹ pẹlu rẹ. Lẹhinna Emi yoo loye awọn ipinnu wo ati ni awọn ipele wo ni ipa lori abajade ipari.
  • Jeki atunṣe si o kere ju.
    • Ni gbogbo igba ti o ba ṣatunkọ tabi tun-fi koodu agekuru kan pamọ, o dinku didara rẹ.
    • Ṣe iwọn awọn aworan aise rẹ ni didara ti o pọju, lẹhinna transcode agekuru kọọkan ni deede ni ẹẹkan si ọna kika ti awọn aṣawakiri ṣe ni abinibi.
  • Lo ojutu ti o rọrun julọ lati ṣe atẹjade awọn agekuru fidio.
    • Ni ifẹhinti ẹhin, MediaGoblin dabi ohun elo ti o ni idiju pupọju fun oju iṣẹlẹ ti o rọrun ti iṣelọpọ ti awọn oju-iwe wẹẹbu pẹlu eto aimi ti awọn faili fidio.
    • Ti MO ba bẹrẹ, Emi yoo lo olupilẹṣẹ aaye aimi bii Hugo, Jekyll tabi Gridsome.
  • Ṣe fifi sori ẹrọ.
    • Ṣiṣatunṣe fidio jẹ ọna igbadun lati darapo awọn akoko ti o dara julọ lati awọn fidio lọpọlọpọ.
    • Ohun akọkọ ni ṣiṣatunṣe jẹ orin. Fun apẹẹrẹ, koko-ọrọ naa jẹ iyanu Egbon o lọra lati The National, yi ni mi ti ara ẹni Awari.

orisun: www.habr.com