Difize videyo ou yo sou YouTube XNUMX/XNUMX

Dènyèman, kòm yon plezi, mwen te filme konferans sou yon sikològ mwen konnen. Mwen edite pye a epi pibliye li sou sit entènèt mwen an. Sa gen yon mwa, mwen te gen lide pou m òganize yon emisyon konferans sa yo 24/7 sou YouTube. Yon kalite "chanèl televizyon" tematik dedye a kwasans pèsonèl.

Mwen konnen ki jan fè yon emisyon regilye. Men, ki jan fè li pou ke li se yon emisyon nan dosye videyo? Se konsa, ke li kouri 24/7, se fleksib, kòm otonòm ke posib, epi an menm tan an pa depann nan okenn fason sou òdinatè lakay mwen. Sa a se sa mwen te dwe chèche konnen.

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Li te pran plizyè jou pou jwenn yon solisyon. Mwen etidye anpil fowòm ak divès manyèl san yo pa ki emisyon mwen an tou senpleman pa ta travay. Epi kounyeya ke tour la se yon siksè, mwen santi bezwen an pataje solisyon mwen an. Men ki jan atik sa a te parèt.

Nan ti bout tan, solisyon final la te jan sa a: VPS + ffmeg + bash script. Anba koupe a, mwen dekri etap yo te pran epi pale sou enkonvenyans yo te dekouvri lè yo òganize emisyon an.

Etap 1 - ki kote emisyon an pral soti?

Nan kòmansman an menm, li te nesesè yo deside ki kote emisyon an ta soti ak ki kote sous li ta ye. Premye bagay ki te vin nan tèt ou te soti nan òdinatè lakay ou. Kolekte videyo nan yon playlist epi kòmanse jwe yo nan nenpòt jwè videyo. Lè sa a, pran imaj ekran an epi difize li sou YouTube. Men, mwen prèske imedyatman rejte opsyon sa a paske... Pou aplike li, ou bezwen kenbe òdinatè lakay ou toujou ap limen, ki vle di bri ki soti nan glasyè menm nan mitan lannwit ak ogmante konsomasyon elektrisite (+100-150 kWh chak mwa). Epi li sanble ke ou pa pral kapab sèvi ak òdinatè lakay ou pandan emisyon an. nenpòt mouvman sourit la pral vizib nan emisyon an.

Lè sa a, mwen te kòmanse gade sou bò sèvis nwaj yo. Mwen t ap chèche yon sèvis ki pare kote mwen ta ka telechaje videyo mwen yo oswa, pou egzanp, mete lyen nan videyo ki soti nan YouTube epi li ta tout pake nan yon sèl emisyon san rete. Men, mwen pa jwenn anyen ki apwopriye. Petèt mwen pa t 'byen rechèch. Bagay la sèlman ki adapte fonksyonalite a se restream.io, yon sèvis ki ede emisyon an menm tan sou plizyè tribin. Yo sanble yo pèmèt ou telechaje videyo pwòp ou yo. Men, sèvis sa a te kreye pou rezon konplètman diferan epi yo espere ke emisyon an pral dire sèlman yon koup de èdtan. Mwen panse ke si atravè sèvis sa a li ta posib yo òganize yon emisyon wonn-a-revèy, Lè sa a, li ta tire nan dizèn, oswa menm dè santèn de dola pa mwa. Men, mwen toujou te vle òganize emisyon an swa pou gratis oswa ak envestisman finansye minim.

Li te vin klè ke pou emisyon an li te nesesè oswa aparèy separe oswa menm yon òdinatè separe. Mwen te panse pou yon bagay tankou Raspberri Pi. E kisa? Li pa gen yon glasyè. Mwen anrejistre videyo a sou yon kondwi flash, ploge nan kab Ethernet la epi kite l kouche yon kote nan yon kote izole epi difize li. Opsyon. Men, mwen pa te gen ni tablo a li menm ni eksperyans travay ak li, kidonk mwen menm mwen te refize opsyon sa a.

Kòm rezilta, mwen te rankontre yon sèten diskisyon kote yo te diskite sou kreyasyon an pwòp sèvè emisyon. Li pa t egzakteman sa mwen t ap chèche a, men mwen te resevwa lide prensipal la - ou ka itilize yon sèvè! Nan diskisyon sa a, li te sijere yo sèvi ak yon konbinezon de VPS + nginx + OBS. Li te vin klè ke konbinezon sa a ta ka kostim mwen tou. Bagay la sèlman ki konfonn m 'te ke mwen pa t' janm administre yon sèvè epi li te sanble m 'ke gen pwòp sèvè dedye mwen an te konfizyon ak chè. Mwen te deside chèche konnen konbyen li ta koute pou lwe yon sèvè ak yon konfigirasyon minimòm e mwen te etone plezant.

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Pri yo endike nan rubles Belarisyen ak sa yo se jis ti kal pen. Pou konprann, 8 roubles Belarisyen se apeprè 3.5 dola oswa 240 rubles Ris. Pou yon mwa lè l sèvi avèk yon òdinatè konplè ki limen 24/7 e ki gen aksè vit entènèt. Pou kèk rezon, dekouvèt sa a te vin trè lajwa pou mwen e pandan plizyè jou mwen te mache anpil kè kontan, tankou yon timoun ki te dekouvri misye espasyèl :)

By wout la, mwen te pwofite òf la nan premye sit ke Google te ban m 'pou rechèch la "VPS lokasyon". Petèt gen menm plis solisyon bidjè, men pri sa a adapte m 'epi mwen pa t' gade pi lwen.

Lè w ap kreye yon sèvè, ou ka chwazi sistèm operasyon an anba ki li pral kouri. Ou ka òganize yon emisyon sou nenpòt nan sistèm ki nan lis la epi fè yon chwa ki baze sou preferans ou ak kapasite finansye ou (pou yon sèvè ak Windows yo mande pou yon frè adisyonèl). Mwen te chwazi CentOS. Senpleman paske mwen te gen ti eksperyans ak li anvan.

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Etap 2 - konfigirasyon sèvè

Premye bagay ou bezwen apre ou fin kreye yon sèvè se konekte ak li atravè SSH. Okòmansman mwen te itilize PuTTy, men answit mwen te kòmanse sèvi ak Secure Shell App, ki kouri nan Google Chrome. Li te vin pi bon pou mwen.

Lè sa a, mwen chanje non host la, mete kanpe senkronizasyon tan sou sèvè a, mete ajou sistèm nan, tinkered ak iptables ... epi fè yon pakèt moun sou lòt bagay, men se pa paske li te nesesè. Mwen te jis enterese nan mete kanpe sèvè a epi li te travay pou mwen. Mwen renmen li lè li mache :)

Men etap sa yo ou bezwen pran:

  1. Konekte depo EPEL la.
  2. Mete kanpe yon sèvè ftp (mwen te chwazi vsftp).
  3. Enstale ffmpeg.

Mwen pa pral bay kòmandman yo an detay; enstriksyon sa yo se pito konseptyèl ekspresyon yo nan lòd yo transmèt plan jeneral la nan aksyon. Si w gen nenpòt difikilte ak nenpòt nan etap yo, yo ka byen vit rezoud lè w itilize yon rechèch motè rechèch tankou "CentOS konekte EPEL" oswa "CentOS enstale sèvè FTP". Epi sou premye lyen yo ou ka jwenn enstriksyon detaye etap pa etap.

Se konsa, jan mwen te ekri pi bonè, mwen te bezwen yon konbinezon de VPS + nginx + OBS. VPS la vle di pare. Men, kesyon yo te kòmanse leve sou lòt pwen. OBS se yon pwogram difize, Open Broadcaster Software. Epi li travay sèlman ak kouran i.e. pa egzanp, li pran yon imaj ki soti nan yon webcam epi li difize li. Oswa anrejistreman ekran. Oswa yon emisyon ki deja ap kontinye redireksyon sou yon lòt sit. Men, mwen pa gen yon kouran, mwen sèlman gen yon seri dosye videyo ki bezwen yo dwe fè nan yon kouran.

Mwen te kòmanse fouye nan direksyon sa a epi mwen te rankontre ffmpeg. FFmpeg se yon seri bibliyotèk sous gratis ak louvri ki pèmèt ou anrejistre, konvèti, ak difize odyo ak videyo dijital nan yon varyete fòma.

Apre sa, mwen te sezi anpil konbyen ffmpeg ka fè. Si ou vle, li pral ekstrè son an nan videyo a. Si ou vle, li pral koupe yon fragman nan videyo a san yo pa kode. Si ou vle, li pral konvèti soti nan yon fòma nan yon lòt. Ak anpil, anpil plis. Nan pwen ke ou ka presize yon fichye nan li, li pral konvèti li nan yon kouran epi transmèt li nan YouTube tèt li. Sa a se li, chèn nan reyini. Tout sa ki rete se finalize nuans yo.

Etap 3 - konfigirasyon emisyon

Nou kreye yon emisyon sou YouTube. Nan etap sa a nou sèlman bezwen lyen an ak kle emisyon an. Nan Ekran ki anba a yo make an wouj.

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Pli lwen telechaje dosye videyo sou sèvè a, ke nou planifye pou emèt. Aktyèlman, FTP sèlman nesesè pou etap sa a. Si ou gen yon lòt fason pratik yo Upload dosye sou sèvè a, Lè sa a, ou pa bezwen mete kanpe yon sèvè FTP.

Nou transmèt kouran an sou YouTube. Pou kòmanse difize, ou bezwen kouri ffmpeg ak plizyè atribi. Men sa kòmand ki pi kout mwen te resevwa a sanble:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%

Dekodaj atribi-re – endike ke dosye a dwe konvèti nan yon kouran.

-i - endike ki dosye yo ta dwe jwe. Li enpòtan ke se kòmandman an te lanse nan menm anyè a kote dosye a videyo tèt li ye. Sinon, ou ta dwe presize yon lyen absoli nan dosye a, tankou /usr/media/lecture1.mp4.

-f – mete fòma dosye pwodiksyon an. Nan ka mwen an, li sanble ke ffmpeg konvèti fichye mwen an soti nan mp4 nan flv sou vole.

Ak nan fen a nou endike done yo ke nou te pran nan YouTube sou paj la paramèt emisyon, i.e. adrès la kote ou bezwen transfere done, ak kle emisyon an, pou ke emisyon an parèt espesyalman sou chanèl ou a.

Si ou te fè tout bagay kòrèkteman, Lè sa a, apre yo fin kouri lòd sa a, YouTube pral wè kouran an transmèt. Pou kòmanse emisyon an, ou jis bezwen klike sou bouton "Kòmanse emisyon" nan YouTube tèt li.

Etap 4 - ajoute otonomi

Felisitasyon! Koulye a, ou konnen ki jan yo kòmanse difize soti nan yon dosye videyo. Men, sa a pa ase pou difize 24/7. Li enpòtan ke apre premye videyo a fin jwe, pwochen an kòmanse imedyatman, epi lè tout videyo yo montre, lèktur kòmanse ankò.

Mwen te vini ak opsyon sa a: kreye yon fichye .sh nan ki mwen te ekri yon lòd pou chak fichye videyo ak nan fen a trè endike yon lòd yo kouri menm script la ankò. Rezilta a se yon repetisyon tankou sa a:

Команда 1... (запуск трансляции файла lecture1.mp4)
Команда 2... (запуск трансляции файла lecture2.mp4)
Команда 3... (запуск трансляции файла lecture3.mp4)
bash start.sh

Epi, wi, li te travay. Satisfè ak tèt mwen, mwen te lanse yon emisyon tès epi mwen te ale nan kabann.

Nan maten yon sipriz dezagreyab t'ap tann mwen. Li te tounen soti ke emisyon an te dire sèlman yon koup de minit epi li te fini prèske imedyatman lè mwen etenn òdinatè mwen an. Ankèt la te montre ke kòmandman yo te lanse nan fason sa a yo egzekite pandan itilizatè a konekte nan sèvè a. Le pli vit ke mwen dekonekte, kòmandman mwen te kouri yo te koupe. Pou anpeche sa rive, li ase devan ekip la bash ajoute kòmandman an nohup. Sa a pral pèmèt pwosesis la kouri pou kouri kèlkeswa prezans ou.

Vèsyon final minim script la sanble sa a:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
nohup bash start.sh $

Ki kote start.sh se fichye ki ekri script sa a. Epi fichye sa a dwe lokalize nan menm anyè ak dosye videyo yo.

Ajoute yon siy dola nan fen a pèmèt pwosesis la kouri nan background nan pou ou ka kontinye sèvi ak konsole a san yo pa entèwonp emisyon an.

Bonis yo enkli bagay sa yo:

  • Ou ka manyèlman chanje lèktur dosye. Pou fè sa, ou bezwen "touye" pwosesis la kounye a ap kouri ffmpeg. Apre sa, lèktur pwochen dosye a nan lis la ap kòmanse otomatikman.
  • Nouvo videyo ka ajoute nan emisyon an san yo pa sispann emisyon an. Jis telechaje videyo a sou sèvè a, ajoute yon lòd pou kouri dosye sa a nan script la, epi sove li. Se tout. Nan pwochen wonn nan lèktur, nouvo dosye a pral difize ansanm ak ansyen dosye yo.

Etap 5 - Customize ffmpeg

Nan prensip, nou te ka sispann la. Men, mwen te vle fè emisyon an yon ti kras pi zanmitay pou telespektatè yo.

Ann di yon moun te ale nan emisyon an, li te kòmanse gade, li renmen li epi li te vle gade konferans sa a depi nan kòmansman, men emisyon an pa pèmèt rewining. Pou gade yon konferans depi nan konmansman an, yon moun ap bezwen ale sou sit entènèt mwen an epi jwenn yon anrejistreman nan konferans ki enterese a. Ki jan ou ka di ki konferans ki enterese l? Genyen deja 16 konferans sou sit la epi gen sèlman plis nan yo chak semèn. Mwen panse ke menm mwen menm, ki te filme ak edited tout konferans sa yo, pa pral kapab detèmine nan yon fragman o aza ki konferans li ye. Se poutèt sa, li nesesè ke chak konferans dwe yon jan kanmenm deziyen.

Opsyon pou ajoute sous-titres vidéo sous yo nan pwogram modification a pa t ' s' m. Li te nesesè pou asire ke dosye orijinal yo te itilize. Se konsa, sipòte emisyon an mande pou ti mouvman kò ke posib nan men mwen.

Li te tounen soti ke ffmpeg te kapab ede m 'ak sa a tou. Li gen yon atribi espesyal -vf, ki pèmèt tèks yo mete sou videyo. Pou ajoute tèks nan yon videyo, ou bezwen ajoute fragman sa a nan lòd la:

-vf drawtext="fontfile=OpenSans.ttf:text='Лекция 13: Психология эмоций. Как создавать радость?':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670"

Eksplikasyon paramèt yofontfile= - lyen nan dosye a font. San sa, tit la pa pral ajoute nan videyo a. Fason ki pi fasil la se mete dosye a font nan katab la menm ak videyo a. Oswa w ap bezwen presize chemen an konplè nan dosye a.

text= – aktyèlman, tèks la tèt li ki bezwen mete sou tèt videyo a.

fontsize= - gwosè font an piksèl.

fontcolor= - koulè font.

borderw= – epesè deskripsyon an alantou tèks la an piksèl (mwen gen tèks blan ak yon deskripsyon nwa 1 pixel epè).

bordercolor= - koulè deskripsyon an.

x= и y= - kowòdone tèks. Dot 0;0 sitiye nan kwen siperyè agòch. Kowòdone mwen yo chwazi nan yon fason ke tèks la mete nan kwen ki pi ba gòch ak yon rezolisyon videyo nan 1280x720 piksèl.

Li sanble sa a:

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Etap 6 - detèmine kalite emisyon an

Se sa, emisyon an pare. Emisyon FFmpeg, dosye yo jwe, prezans mwen pa bezwen pou emisyon. Menm chak konferans siyen. Gade tankou se li.

Men, yon lòt nuans parèt - mwen te chwazi konfigirasyon sèvè minimòm lan epi li pa t 'rale moute emisyon an. Konfigirasyon sèvè: 1 nwayo (tankou 2.2 GHz), 1 gigabyte RAM, 25 GB SSD. Te gen ase RAM, men processeur a te prèske konplètman chaje nan 100% (e pafwa menm 102-103% :) Sa a te mennen nan konjelasyon an emisyon chak kèk segonn.Pa bèl.

Ou ta ka tou senpleman pran yon konfigirasyon pi chè ak de nwayo, erezman, ak teknoloji nwaj, chanje konfigirasyon sèvè a rive lè w peze yon koup la bouton. Men, mwen te vle anfòm nan kapasite nan konfigirasyon minimòm. Mwen te kòmanse etidye dokiman an ffmpeg e wi, gen tou paramèt la ki pèmèt ou kontwole chaj la sou sistèm nan.

Segondè bon jan kalite imaj ka reyalize nan de fason: swa gwo chaj CPU oswa gwo trafik sortan. Li sanble ke plis chaj processeur a ka pran, mwens bandwidth chanèl la pral bezwen. Oswa ou pa ka chaje processeur a twòp, men Lè sa a, w ap bezwen yon chanèl lajè ak yon gwo espas trafik. Si gen restriksyon sou tou de processeur a ak gwosè a nan kanal la sortan/trafik, Lè sa a, ou pral gen diminye bon jan kalite a nan foto a pou ke emisyon an ale san pwoblèm.

Sèvè mwen an gen aksè a yon kanal lajè 10 Mbit/s. Lajè sa a jis dwat. Men, gen yon limit trafik - 1 TB pa mwa. Se poutèt sa, yo nan lòd yo satisfè restriksyon trafik yo, koule sòtan mwen an pa ta dwe depase ~ 300 KB pou chak segonn i.e. Bitrate nan kouran sortan an ta dwe pa plis pase 2,5 Mbit / s. YouTube, nan chemen an, rekòmande difize nan bitrate sa a.

Pou kontwole chaj la sou sistèm nan, ffmpeg itilize diferan apwòch. Byen ekri sou sa isit la. Mwen te fini itilize de atribi: -crf и -preset.

Faktè To Konstan (CRF) - sa a se yon koyefisyan gras a ki ou ka ajiste bon jan kalite a nan foto a. CRF ka gen valè soti nan 0 a 51, kote 0 se bon jan kalite a nan dosye sous la, 51 se pi move kalite posib. Li rekòmande yo sèvi ak valè soti nan 17 a 28, default la se 23. Avèk yon koyefisyan 17, videyo a pral vizyèlman idantik ak orijinal la, men teknikman li pa pral menm bagay la. Dokimantasyon an di tou ke gwosè videyo final la, tou depann de CRF espesifye a, chanje yon fason eksponansyèl, i.e. ogmante koyefisyan an pa 6 pwen ap double vitès la nan videyo sortan an.

Si w ap itilize CRF ou ka chwazi "pwa" nan foto sortan an, Lè sa a, lè l sèvi avèk prereglaj (-prereglaj) ou ka detèmine ki jan lou processeur a pral chaje. Atribi sa a gen paramèt sa yo:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium - valè default
  • slow
  • slower
  • veryslow

Plis paramèt la espesifye "pi vit", se pi wo chaj la sou processeur a.

Mwen premye chwazi yon prereglaj ki te fondamantalman twò difisil pou processeur mwen an, ak Lè sa a, plis tise byen chwazi chaj la lè l sèvi avèk CRF. Nan ka mwen an, prereglaj la te travay fast, ak pou crf mwen rezoud sou valè a 24.

Konklizyon

Se tout. Kòmandman final la pou kòmanse emisyon an te sa a:

ffmpeg -re -i lecture1.mp4 -vf drawtext="fontfile=OpenSans.ttf:text='Лекция 1: Жонглирование картинами мира':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670" -c:v libx264 -preset fast -crf 24 -g 3 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%

Genyen sèlman de pwen ki pa dekri isit la:

1) -c:v libx264 – espesifye yon codec espesifik pou travay ak dosye sous la.
2) -g 3 – endikasyon eksplisit sou kantite ankadreman kle yo. Nan ka sa a, li espesifye ke chak ankadreman twazyèm yo ta dwe yon ankadreman kle. Valè estanda a se swa 5 oswa 8, men YouTube sèmante epi mande pou omwen 3.

Ou ka wè ki kalite emisyon an te vin ye isit la.

Chaj la sou sèvè a te jan sa a:

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Difize videyo ou yo sou YouTube XNUMX/XNUMX

Dapre done siveyans yo, li klè ke chaj processeur a varye ant 70% ak 95% ak pandan semèn nan emisyon an pa janm rive nan 100%. Sa vle di ke ak anviwònman sa yo processeur a ase.

Pa chaje disk la, mwen ka di ke li prèske pa chaje ak yon HDD regilye yo ta dwe ase pou difize.

Men kantite trafik sortan an enkyete m. Li sanble ke kouran sortan mwen an varye ant 450 ak 650 KB pou chak segonn. Nan yon mwa sa a pral apeprè 1,8 terabytes. Ou ka oblije achte trafik adisyonèl oswa chanje nan yon konfigirasyon ak de nwayo paske ... Mwen pa ta renmen diminye kalite foto a.

***

Kòm yon rezilta, mwen pral di ke mete kanpe tankou yon emisyon nan grate pran apeprè 1-2 èdtan. Anplis, telechaje videyo a sou sèvè a pral pran pi fò nan tan an.

Lansman yon emisyon konsa pa t jistifye tèt li kòm yon zouti maketing. Petèt, si nou ogmante opinyon pou algoritm YouTube ranmase emisyon sa a epi yo kòmanse aktivman montre li nan rekòmandasyon, Lè sa a, yon bagay ta travay deyò. Nan ka mwen an, nan 16 jou nan emisyon kontinyèl li te gade 58 fwa.

Sa se OK. Emisyon an adapte annamoni sou paj prensipal la nan sit entènèt mwen an. Sa a te ban m opòtinite byen vit fòme pwòp opinyon mwen sou konferans la ak konferans yo tèt yo.

Ak yon moman. Li enpòtan pou emisyon an pa vyole copyright pèsonn, sinon li pral bloke. Mwen kalm sou emisyon mwen an paske... Mwen espesyalman te chwazi foure mizik ak itilizasyon gratis, ak otè a nan kontni an chita nan yon òdinatè ki tou pre epi li pa ditou ki opoze ak mwen lè l sèvi avèk kontni li :)

Men, si ou gen yon radyo k ap jwe nan background nan yon kote nan emisyon ou a, oswa ou te itilize tras pi renmen ou pandan koreksyon, oswa ou pran yon sekans videyo ki soti nan yon videyo mizik popilè, seri televizyon oswa fim, Lè sa a, emisyon ou a an danje. Li enpòtan tou ke emisyon an pote omwen yon chaj semantik minim, otreman li ka bloke kòm spam.

***

Se tout sa mwen genyen. Mwen espere manyèl sa a pral sèvi yon moun byen. Oke, si ou gen yon bagay yo ajoute, ekri, mwen pral kontan li adisyon yo ak klarifikasyon nan atik la.

Sous: www.habr.com

Add nouvo kòmantè