Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2

Akụkụ nke mbụ na-akọwa ọchịchọ siri ike ịme vidiyo ezinaụlọ ochie digitize wee kewaa ha n'ọhụụ dị iche iche. Mgbe m hazie vidiyo niile, achọrọ m ịhazi nlele ha n'ịntanetị ka ọ dabara na YouTube. Ebe ọ bụ na ihe ndị a bụ ncheta ezinụlọ nke onwe, enweghị ike ibipụta ha na YouTube n'onwe ya. Anyị chọrọ nnabata nkeonwe nke dabara adaba yana nchekwa.

Nzọụkwụ 3. Bipụta

ClipBucket, ihe mepere emepe YouTube nke ị nwere ike iwunye na sava nke gị

Nke mbụ m gbalịrị ClipBucket, nke na-akpọ onwe ya ihe mmeghe YouTube clone nke ị nwere ike iwunye na sava gị.

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2

N'ụzọ dị ịtụnanya, ClipBucket enweghị ntuziaka nwụnye. Daalụ n'èzí management я akpaghị aka na echichi usoro site n'enyemaka Eziokwu, ngwá ọrụ nhazi nhazi ihe nkesa.

Otu n'ime ihe isi ike bụ na emebiela script nwụnye ClipBucket kpamkpam. N'oge ahụ m na-arụ ọrụ na Google na n'okpuru usoro nke nkwekọrịta enweghị ikike inye aka na-emeghe isi clone nke YouTube, ma m ezigara mkpesa ahụhụsite na nke ọ dị mfe ime mgbanwe ndị dị mkpa. Ọtụtụ ọnwa gafere, ha aghọtaghịkwa ihe bụ́ nsogbu ahụ. Kama, ha gbakwunyere ihe niile karịa chinchi na ntọhapụ ọ bụla.

ClipBucket rụrụ ọrụ n'ụdị ndụmọdụ - ha wepụtara koodu ha n'efu wee kwụọ ụgwọ maka enyemaka na mbugharị. Nke nta nke nta, ọ bịara mata na ụlọ ọrụ na-enweta ego site na nkwado a na-akwụ ụgwọ nwere ike ọ gaghị enwe mmasị na ndị ahịa tinye ngwaahịa ahụ n'onwe ha.

MediaGoblin, uzo ohuru ohuru

Mgbe ọnwa ole na ole nke nkụda mmụọ na ClipBucket gasịrị, enyochara m nhọrọ dị wee chọta mgbasa ozi goblin.

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
mgbasa ozi goblin bụ ikpo okwu nkekọrịta mgbasa ozi kwụụrụ onwe ya

MediaGoblin nwere ọtụtụ ihe ọma. N'adịghị ka ClipBucket na PHP na-adịghị mma, MediaGoblin ka edere na Python, asụsụ m nwere ọtụtụ ahụmahụ ide koodu. Rie interface ahịrị iwu, nke na-enye gị ohere ịmegharị vidiyo vidiyo ngwa ngwa. Nke kachasị mkpa, MediaGoblin na-abịa Foto docker, nke na-ewepụ nsogbu ọ bụla na nrụnye.

Docker bụ teknụzụ na-emepụta ebe kwụụrụ onwe ya maka ngwa na-agba ọsọ n'ebe ọ bụla. M na-eji Docker ọtụtụ ọrụ m.

Ihe isi ike dị ịtụnanya nke ịmegharị MediaGoblin

Echere m na ibuga ihe onyonyo docker MediaGoblin ga-abụ obere ọrụ. Ọfọn, nke ahụ emeghị nke ọma otú ahụ.

Onyonyo emechara enweghị ọrụ abụọ dị mkpa:

  • Nyocha
    • MediaGoblin na-emepụta ụzọ mgbasa ozi ọha na ndabara, yana achọrọ m ụzọ iji gbochie ohere ndị si mba ọzọ.
  • Transcoding
    • Oge ọ bụla ị na-ebugo vidiyo, MediaGoblin na-agbalị imegharị ya maka mgbasa ozi kacha mma. Ọ bụrụ na vidiyo ahụ adịla njikere maka nkwanye, transcoding na-eweda ogo ya.
    • MediaGoblin na-enye gbanyụọ transcoding site na nhọrọ nhazi, mana ọ gaghị ekwe omume ime nke a na onyonyo Docker dị.

Ọfọn, enweghị nsogbu. Ihe onyonyo Docker na-abịa isi mmalite, yabụ ị nwere ike wughachi ya n'onwe gi.

N'ụzọ dị mwute, a naghị ewuzi onyonyo Docker site na nke ugbu a MediaGoblin ebe nchekwa. Agbalịrị m ịmekọrịta ya na ụdị sitere na ụlọ nrụpụta gara nke ọma gara aga, mana nke ahụ arụghịkwa ọrụ. N'agbanyeghị na m na-eji otu koodu ahụ kpọmkwem, ndabere MediaGoblin dị na mpụga gbanwere, na-emebi ụlọ ahụ. Ọtụtụ awa ka nke ahụ gasịrị, agbagoro m usoro nhazi nke 10-15 MediaGoblin ugboro ugboro ruo mgbe ọ mechara rụọ ọrụ.

Otu ihe ahụ mere ọnwa ole na ole ka e mesịrị. Na mkpokọta, n'ime afọ ole na ole gara aga, agbụ na-adabere na MediaGoblin agbajiwo ụlọ m ọtụtụ oge, na oge ikpeazụ ọ mere bụ naanị mgbe m na-ede akụkọ a. Emechara m biputere ndụdụ nke MediaGoblin c ịdabere na koodu siri ike yana ụdị ọba akwụkwọ akọwapụtara nke ọma. N'ikwu ya n'ụzọ ọzọ, kama ịsị na MediaGoblin na-arụ ọrụ na ụdị ọ bụla celery >= 3.0, etinyere m nkwado ndabere na mpaghara ụdị seleri 4.2.1, n'ihi na ejiri m ụdị a nwalee MediaGoblin. Ọ dị ka ngwaahịa a chọrọ usoro nrụpụta nke nwere ike imepụtagharịmana emebeghị m ya.

Ka o sina dị, mgbe ọtụtụ awa nke mgba, enwere m ike iwulite na hazie MediaGoblin na onyonyo Docker. Ọ dịlarị mfe machie transcoding na-enweghị isi и tinye Nginx maka nyocha.

Nzọụkwụ 4. Bochum

Ebe MediaGoblin na-agba Docker na igwe mpaghara m, nzọụkwụ ọzọ bụ ibuga na sava igwe ojii ka ezinụlọ nwee ike ilele vidiyo ahụ.

MediaGoblin na nsogbu nchekwa vidiyo

Enwere ọtụtụ nyiwe na-ese onyinyo Docker wee kwado ya na URL ọha. Ihe ejidere bụ na na mgbakwunye na ngwa ahụ n'onwe ya, 33GB nke faịlụ vidiyo kwesịrị ibipute. Ọ ga-ekwe omume itinye koodu ha siri ike ka ọ bụrụ ihe onyonyo docker, mana ọ bịara bụrụ ihe siri ike na jọrọ njọ. Ịgbanwe otu ahịrị nhazi ga-achọ nrụpụta nke 33 GB nke data.

Mgbe m ji ClipBucket, ejiri m dozie nsogbu ahụ gcsfu - akụrụngwa nke na-enye ohere ka sistemu arụ ọrụ bulite akwụkwọ ndekọ aha na nchekwa igwe ojii Google Cloud dị ka ụzọ mgbe niile na sistemụ faịlụ. Ana m akwado faịlụ vidiyo na Google Cloud wee jiri gcsfuse gosi ha dị ka faịlụ mpaghara na ClipBucket.

Ihe dị iche bụ na ClipBucket na-agba ọsọ na igwe mebere n'ezie, ebe MediaGoblin na-agba ọsọ n'ime akpa Docker. N'ebe a, ntinye faịlụ sitere na nchekwa igwe ojii wee bụrụ ihe siri ike karị. Eji m ọtụtụ awa dozie nsogbu niile ma dee banyere ya dum blog post.

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Ntinye mbụ nke MediaGoblin na nchekwa Google Cloud, nke m kwuru na 2018

Mgbe ọtụtụ izu nke ịhazigharị ihe niile mejupụtara, ihe niile na-arụ ọrụ. Enweghị mgbanwe ọ bụla na koodu MediaGoblin, aghọrọ m ya n'ime ịgụ na ide faịlụ mgbasa ozi na nchekwa igwe ojii Google.

Naanị nsogbu bụ na MediaGoblin ghọrọ nwayọ nwayọ. Ọ were nnukwu sekọnd 20 iji bulite thumbnails vidiyo na ibe mbụ. Ọ bụrụ na ị maliri elu ka ị na-ekiri vidiyo, MediaGoblin kwụsịrị maka sekọnd iri na-adịghị agwụ agwụ tupu ịmaliteghachi ọkpụkpọ.

Nsogbu bụ isi bụ na vidiyo na foto ndị ahụ mere ogologo ụzọ gburugburu onye ọrụ. Ha ga-esi na nchekwa igwe ojii Google pụọ site na gcsfuse gaa MediaGoblin, Nginx - naanị mgbe ahụ ka ha rutere na ihe nchọgharị onye ọrụ. Isi ọkpọ ọkpọ bụ gcsfuse, nke emebereghị maka ọsọ. Ndị mmepe na-adọ aka ná ntị gbasara nnukwu igbu oge na ọrụ akụrụngwa na ibe isi ọrụ ahụ:

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Nduzi ntuziaka banyere adịghị mma arụmọrụ na akwụkwọ gcsfuse

Dị ka o kwesịrị, ihe nchọgharị ahụ kwesịrị ị nweta faịlụ ozugbo na Google Cloud, na-agafe ọkwa ọ bụla nke etiti. Kedu ka ị ga-esi mee nke a na-enweghị ịbanye na MediaGoblin codebase ma ọ bụ tinye mgbagwoju anya Google Cloud integration logic?

Sub_filter aghụghọ na nginx

Luckily ahụrụ m ngwọta dị mfe ezie немного jọrọ njọ. M gbakwunyere na ndabara.conf nhazi na Nginx nzacha dị otú ahụ:

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

Na nhazi m, Nginx mere dị ka proxy n'etiti MediaGoblin na onye ọrụ njedebe. Ntuziaka dị n'elu na-agwa Nginx ka ọ chọọ ma dochie nzaghachi MediaGoblin HTML niile tupu ya ejere ha ozi na onye ọrụ njedebe. Nginx na-eji URL sitere na nchekwa igwe ojii dochie ụzọ niile metụtara faịlụ mgbasa ozi MediaGoblin.

Dịka ọmụmaatụ, MediaGoblin na-emepụta HTML a:

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

Nginx gbanwere nzaghachi:

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

Ugbu a ihe niile na-arụ ọrụ dị ka o kwesịrị:

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Nginx na-edeghachi nzaghachi sitere na MediaGoblin ka ndị ahịa nwee ike ịrịọ faịlụ mgbasa ozi ozugbo site na nchekwa igwe ojii Google

Akụkụ kacha mma gbasara ngwọta m bụ na ọ chọghị mgbanwe ọ bụla na koodu MediaGoblin. Ntuziaka Nginx nwere ahịrị abụọ jikọtara MediaGoblin na Google Cloud, n'agbanyeghị na ọrụ abụọ ahụ amaghị ihe ọ bụla gbasara ibe ha.

Примечание: Ihe ngwọta a chọrọ faịlụ ndị dị na Google Cloud Storage ka onye ọ bụla gụọ ya. Iji belata ihe ize ndụ nke ịnweta ikike na-akwadoghị, m na-eji ogologo aha ịwụ enweghị usoro (dịka ọmụmaatụ, mediagoblin-39dpduhfz1wstbprmyk5ak29) ma chọpụta na ụkpụrụ njikwa ịnweta bọket anaghị ekwe ka ndị ọrụ na-enwetaghị ikike igosipụta ọdịnaya dị na ndekọ ahụ.

Ngwaahịa ikpeazụ

N'oge a, enwere m ngwọta zuru oke, na-arụ ọrụ. MediaGoblin ji obi ụtọ gbabara n'ime akpa nke ya na Google Cloud Platform yabụ na ọ chọghị ka emechie ya ma ọ bụ na-emelite ya ugboro ugboro. Ihe niile dị na usoro m bụ akpaaka ma nwee ike imepụtagharị ya, na-enye ohere dezie ma ọ bụ tụgharịa na ụdị ndị gara aga.

Ezinụlọ m nwere mmasị na ọ dị mfe ikiri vidiyo. Site n'enyemaka nke mbanye anataghị ikike Nginx akọwara n'elu, ịrụ ọrụ na vidiyo ghọrọ ngwa ngwa dịka na YouTube.

Ihuenyo anya dị ka nke a:

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Ọdịnaya nke katalọgụ vidiyo ezinụlọ site na mkpado "Kachasị Mma"

Ịpị na thumbnail na-ewelite ihuenyo na-esonụ:

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Na-elele obere vidiyo n'otu n'otu na sava mgbasa ozi

Mgbe ọtụtụ afọ nke ọrụ gasịrị, ọ bụ ihe na-akwụghachi ụgwọ nke ukwuu inye ndị òtù ezinụlọ ohere ikiri vidiyo anyị n'otu interface enyi na enyi YouTube nke m chọrọ na mbụ.

Ego: Mbelata ọnụ ahịa ihe na-erughị $1 kwa ọnwa

Ị na-ekiri vidiyo ụlọ adịkarịghị, ọ bụ naanị ọnwa ole na ole. Ezinụlọ m gbakọrọ ewepụta ihe dị ka awa 20 okporo ụzọ n'ime otu afọ, mana ihe nkesa na-agba 15/99,7. Ana m akwụ $XNUMX kwa ọnwa maka ihe nkesa na-agbadata XNUMX% nke oge ahụ.

Na njedebe nke 2018, Google wepụtara ngwaahịa ahụ Igwe ojii na-agba ọsọ. Njirimara egbu egbu nọ na-agba akpa Docker ngwa ngwa nke na ngwa ahụ nwere ike ịza arịrịọ HTTP. Ya bụ, ihe nkesa ahụ nwere ike ịnọ na ọnọdụ njikere - wee malite naanị mgbe mmadụ chọrọ ịga na ya. Maka ngwa ndị a na-ejikarị eme ihe dị ka nke m, ọnụ ahịa esila na $15 kwa ọnwa gaa na cents ole na ole n'afọ.

Maka ihe ndị m na-echetaghị, Cloud Run arụghị ọrụ na ihe oyiyi MediaGoblin m. Mana na ọbịbịa nke Cloud Run, echetara m nke ahụ Heroku na-enye ọrụ yiri nke ahụ n'efu, na ngwá ọrụ ha na-eme enyi karịa nke Google.

Site na ihe nkesa ngwa efu, naanị ego efu bụ nchekwa data. Ọkọlọtọ nchekwa mpaghara Google na-efu 2,3 cents/GB. Ebe nchekwa vidiyo bụ 33 GB, yabụ ana m akwụ naanị cents 77 kwa ọnwa.

Ọchịchọ afọ asatọ m na-achọ ime kaseti vidiyo 45 digitize. Akụkụ 2
Ihe ngwọta a na-efu naanị $0,77 kwa ọnwa

Ndụmọdụ maka ndị na-aga ịnwale

N'ụzọ doro anya, usoro ahụ were m ogologo oge. Mana enwere m olileanya na isiokwu a ga-enyere gị aka ịchekwa 80-90% nke mbọ nke digitizing na ibipụta vidiyo ụlọ gị. Na ngalaba dị iche ị nwere ike ịchọta nkọwa nzọụkwụ site nzọụkwụ ndu N'ime usoro a niile, mana ebe a bụ ndụmọdụ izugbe:

  • Chekwaa ọtụtụ metadata dị ka o kwere mee n'oge nhazi digitize na ndezi.
    • A na-edekọkarị ozi bara uru na kaseti vidiyo.
    • Dekọọ vidiyo nke ewepụtara na kaseti na n'usoro.
    • Dee ụbọchị agbapụ, nke enwere ike igosi na vidiyo.
  • Tụlee ịkwụ ụgwọ maka ọrụ digitizing ọkachamara.
    • Ị ga чрезвычайно ọ siri ike ma dị oke ọnụ iji dakọtara ha n'ihe gbasara ogo digitization.
    • Mana pụọ ​​na ụlọ ọrụ a na-akpọ EverPresent (mee ka m mara ma ịchọrọ nkọwa ndị ọzọ).
  • Ọ bụrụ na ị na-eme digitization n'onwe gị, zụta HDD.
    • Vidiyo nkọwa ọkọlọtọ enweghị mgbako na-ewe 100-200 MB kwa nkeji.
    • Edebere m ihe niile na nke m Synology DS412 + (10 TB).
  • Dee metadata n'ụdị a na-ahụkarị nke na-ejikọtaghị na otu ngwa.
    • Nkọwa clip, koodu oge, ụbọchị, wdg.
    • Ọ bụrụ na ị chekwaa metadata n'ụdị ngwa-ngwa (ma ọ bụ nke ka njọ, echekwala ya ma ọlị), ị gaghị enwe ike ịmegharị ọrụ ahụ ma ọ bụrụ na ị kpebie iji ụzọ dị iche.
    • Mgbe ị na-edezi, ị na-ahụ ọtụtụ metadata bara uru na vidiyo. Ị ga-atụfu ha ma ọ bụrụ na ị zọpụtaghị ha.
      • Kedu ihe na-eme na vidiyo ahụ?
      • Kedu onye edebanyere aha ebe ahụ?
      • Kedu mgbe edere ya?
  • Kpado vidiyo ọkacha mmasị gị.
    • N'ikwu eziokwu, ọtụtụ ọdịnaya vidiyo ụlọ na-agwụ ike.
    • M na-etinye mkpado "kacha mma" na obere vidiyo na-amasị m ma mepee ha mgbe m chọrọ ikiri vidiyo na-atọ ọchị.
  • Hazie ngwọta zuru oke ozugbo enwere ike ka usoro ahụ wee gaa ozugbo site na mmalite ruo n'isi.
    • Agbalịrị m ibu ụzọ mee digitize kaseti niile, wee dezie kaseti niile, wdg.
    • Ọ dị m ka ya bụrụ na m ji otu teepu malite wee jiri ya rụọ ọrụ niile. Mgbe ahụ, m ga-aghọta nke mkpebi na ihe nkebi na-emetụta ikpeazụ n'ihi.
  • Nọgide na-edegharị na opekempe.
    • Oge ọ bụla ị dezie ma ọ bụ degharịa vidiyo, ị na-ebelata ogo ya.
    • Mepụta eserese gị dị ndụ n'ogo kachasị mma, wee gbanwee obere vidiyo ọ bụla kpọmkwem otu ugboro ka ọ bụrụ usoro ihe nchọgharị na-enye n'asụsụ obodo.
  • Jiri ngwọta kachasị mfe maka ikenye vidiyo vidiyo.
    • N'ileghachi anya azụ, MediaGoblin dị ka ngwá ọrụ siri ike dị mgbagwoju anya maka ọnọdụ dị mfe nke ịmepụta ibe weebụ yana faịlụ vidiyo static.
    • Ọ bụrụ na m na-amalite ọzọ, m ga-eji ihe nrụpụta saịtị static dị ka Hugo, Jekyll ma ọ bụ Gridsome.
  • Mee montage.
    • Ndezi vidiyo bụ ụzọ na-atọ ụtọ iji jikọta oge kacha mma site na ọtụtụ vidiyo.
    • Isi ihe na edezi bụ egwu. Dị ka ihe atụ, isiokwu ahụ dị ịtụnanya Snoo nwayọ site na National, nke a bụ nchọpụta nke m.

isi: www.habr.com