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ị.
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.
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.
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.
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.
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ụ:
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ụ:
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.
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:
Ọdịnaya nke katalọgụ vidiyo ezinụlọ site na mkpado "Kachasị Mma"
Ịpị na thumbnail na-ewelite ihuenyo na-esonụ:
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.
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.
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.