Siar video sampeyan ing YouTube XNUMX/XNUMX

Akhir-akhir iki, minangka hobi, aku wis syuting ceramah saka psikolog aku ngerti. Aku nyunting cuplikan lan nerbitake ing situs webku. Sewulan kepungkur, aku entuk ide kanggo ngatur 24/7 siaran ceramah kasebut ing YouTube. A jenis tematik "saluran TV" darmabakti kanggo wutah pribadi.

Aku ngerti carane nggawe siaran biasa. Nanging kepiye carane supaya dadi siaran file video? Supaya bisa mlaku 24/7, fleksibel, otonomi sabisa, lan ing wektu sing padha ora gumantung ing komputer omahku. Iki sing kudu dakgoleki.

Siar video sampeyan ing YouTube XNUMX/XNUMX

Butuh sawetara dina kanggo nemokake solusi. Aku sinau akeh forum lan macem-macem manual tanpa siaran sandi mung ora bakal bisa. Lan saiki prank wis sukses, aku rumangsa kudu nuduhake solusiku. Iki carane artikel iki muncul.

Ing cendhak, solusi final kaya ing ngisor iki: VPS + ffmeg + skrip bash. Ing potongan kasebut, aku nerangake langkah-langkah sing ditindakake lan ngomong babagan pitfalls sing ditemokake nalika ngatur siaran kasebut.

Langkah 1 - saka ngendi siaran kasebut bakal teka?

Ing wiwitan, kudu mutusake saka ngendi siaran kasebut lan saka ngendi sumbere. Wangsulan: Bab ingkang pisanan sing teka ing atine saka komputer ngarep. Nglumpukake video menyang dhaptar lagu lan miwiti muter ing pamuter video. Banjur jupuk gambar layar lan siaran menyang YouTube. Nanging aku meh langsung nolak pilihan iki amarga ... Kanggo ngleksanakake, sampeyan kudu njaga komputer ing omah kanthi terus-terusan, tegese swara saka coolers sanajan ing wayah wengi lan tambah konsumsi listrik (+100-150 kWh saben wulan). Lan ternyata sampeyan ora bakal bisa nggunakake komputer ing omah sajrone siaran. sembarang gerakan mouse bakal katon ing siaran.

Banjur aku miwiti nggoleki ing sisih layanan awan. Aku nggoleki layanan sing wis siap kanggo ngunggah video utawa, contone, nglebokake link menyang video saka YouTube lan kabeh bakal dikemas dadi siji siaran non-stop. Nanging aku ora nemu sing cocog. Mungkin aku ora nggoleki kanthi apik. Siji-sijine sing cocog karo fungsi kasebut yaiku restream.io, layanan sing mbantu siaran bebarengan menyang sawetara platform. Dheweke katon ngidini sampeyan ngunggah video sampeyan dhewe. Nanging layanan iki digawe kanggo tujuan sing beda-beda lan dheweke ngarepake siaran kasebut mung sawetara jam. Aku mikir yen liwat layanan iki bakal bisa kanggo ngatur siaran babak-jam, iku bakal njupuk kanggo puluhan, utawa malah atusan dolar saben sasi. Nanging aku isih pengin ngatur siaran kasebut kanthi gratis utawa kanthi investasi finansial minimal.

Dadi cetha yen kanggo siaran iku perlu utawa piranti kapisah utawa malah komputer kapisah. Aku mikir babagan kaya Raspberri Pi. Lan apa? Dheweke ora duwe cooler. Aku ngrekam video ing flash drive, kepasang ing kabel Ethernet lan supaya iku dumunung nang endi wae ing panggonan secluded lan siaran. Pilihan. Nanging aku ora duwe papan dhewe utawa pengalaman nggarap, mula aku uga nolak pilihan iki.

Akibaté, aku teka tengen diskusi tartamtu ngendi padha rembugan nggawe server dhewe siaran. Iku ora persis apa aku iki looking for, nanging aku entuk gagasan utama - sampeyan bisa nggunakake server! Ing diskusi kasebut, disaranake nggunakake kombinasi VPS + nginx + OBS. Dadi cetha yen kombinasi iki bisa uga cocog karo aku. Siji-sijine sing mbingungake aku yaiku aku ora tau ngatur server lan aku rumangsa duwe server darmabakti dhewe sing mbingungake lan larang. Aku mutusaké kanggo mangerteni carane akeh iku bakal biaya kanggo nyewa server karo konfigurasi minimal lan pleasantly kaget.

Siar video sampeyan ing YouTube XNUMX/XNUMX

Prices dituduhake ing rubles Belarusian lan iki mung crumbs. Kanggo ngerti, 8 rubel Belarus kira-kira 3.5 dolar utawa 240 rubel Rusia. Kanggo sasi nggunakake komputer full-fledged sing diuripake 24/7 lan akses Internet cepet. Kanggo sawetara alasan, panemuan iki dadi bungah banget kanggo aku lan sawetara dina aku mlaku-mlaku kanthi seneng banget, kaya bocah sing nemokake roket ruang angkasa :)

Miturut cara, aku njupuk kauntungan saka tawaran situs pisanan sing Google menehi kula kanggo pitakonan "VPS rental". Mbok menawa ana malah luwih solusi budget, nanging rega iki cocog kula lan aku ora katon luwih.

Nalika nggawe server, sampeyan bisa milih sistem operasi sing bakal mbukak. Sampeyan bisa ngatur siaran ing sistem apa wae sing kadhaptar lan nggawe pilihan adhedhasar preferensi lan kemampuan finansial (kanggo server Windows padha njaluk ragad tambahan). Aku milih CentOS. Mung amarga aku wis sethitik pengalaman karo sadurunge.

Siar video sampeyan ing YouTube XNUMX/XNUMX

Langkah 2 - persiyapan server

Babagan pisanan sing sampeyan butuhake sawise nggawe server yaiku nyambungake liwat SSH. Kaping pisanan, aku nggunakake PuTTy, nanging banjur nggunakake Aplikasi Shell Aman, sing mlaku ing Google Chrome. Pranyata luwih trep kanggoku.

Banjur aku ngganti jeneng host, nyiyapake sinkronisasi wektu ing server, nganyari sistem, tinkered karo iptables ... lan nindakake akeh liyane, nanging ora amarga iku perlu. Aku mung kasengsem ing nyetel server lan makarya kanggo kula. Aku seneng yen wis rampung :)

Ing ngisor iki langkah-langkah sing kudu ditindakake:

  1. Sambungake repositori EPEL.
  2. Nggawe server FTP (Aku milih vsftp).
  3. Instal ffmpeg.

Aku ora bakal menehi prentah kanthi rinci; pandhuan iki rada konseptual kanggo ngirim rencana tumindak umum. Yen sampeyan duwe masalah karo langkah apa wae, bisa dirampungake kanthi cepet kanthi nggunakake pitakon mesin telusur kaya "CentOS nyambung EPEL" utawa "CentOS nginstal server FTP". Lan ing pranala pisanan sampeyan bisa nemokake instruksi langkah-langkah kanthi rinci.

Dadi, kaya sing dakcritakake sadurunge, aku butuh kombinasi VPS + nginx + OBS. VPS - siap. Nanging pitakonan wiwit muncul ing titik liyane. OBS minangka program siaran, Open Broadcaster Software. Lan mung dianggo karo lepen i.e. contone, njupuk gambar saka webcam lan siaran. Utawa ngrekam layar. Utawa siaran sing wis aktif dialihake menyang situs liya. Nanging aku ora duwe stream, aku mung duwe set file video sing kudu digawe stream.

Aku miwiti ngeduk arah iki lan ketemu ffmpeg. FFmpeg minangka kumpulan perpustakaan gratis lan open source sing ngidini sampeyan ngrekam, ngowahi, lan stream audio lan video digital ing macem-macem format.

Lan aku kaget banget carane ffmpeg bisa nindakake. Yen sampeyan pengin, iku bakal extract swara saka video. Yen sampeyan pengin, iku bakal Cut metu pecahan video tanpa recoding. Yen sampeyan pengin, iku bakal ngowahi saka siji format liyane. Lan akeh, luwih akeh. Supaya sampeyan bisa nemtokake file kasebut, bakal diowahi dadi stream lan ngirim menyang YouTube dhewe. Mekaten, rante dirakit. Kabeh sing isih ana yaiku ngrampungake nuansa.

Langkah 3 - persiyapan siaran

Kita nggawe siaran ing YouTube. Ing tataran iki kita mung butuh link lan tombol siaran. Ing gambar ing ngisor iki padha disorot abang.

Siar video sampeyan ing YouTube XNUMX/XNUMX

luwih upload file video menyang server, kang kita rencana kanggo siaran. Bener, FTP mung dibutuhake kanggo tahap iki. Yen sampeyan duwe cara liya sing trep kanggo ngunggah file menyang server, sampeyan ora kudu nyiyapake server FTP.

Kita ngirim stream menyang YouTube. Kanggo miwiti siaran, sampeyan kudu mbukak ffmpeg kanthi sawetara atribut. Iki minangka printah paling cendhak sing dakkarepake:

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

Dekoding atribut-re – nuduhake yen file kudu diowahi dadi stream.

-i - nuduhake file sing kudu diputer. Penting yen printah kasebut diluncurake saka direktori sing padha ing ngendi file video kasebut dhewe. Yen ora, sampeyan kudu nemtokake link absolut menyang file, kayata /usr/media/lecture1.mp4.

-f – nyetel format file output. Ing kasusku, ternyata ffmpeg ngowahi fileku saka mp4 dadi flv kanthi cepet.

Lan ing pungkasan kita nuduhake data sing dijupuk saka YouTube ing kaca setelan siaran, yaiku. alamat sing kudu sampeyan transfer data, lan tombol siaran, supaya siaran ditampilake khusus ing saluran sampeyan.

Yen sampeyan nindakake kabeh kanthi bener, banjur sawise nglakokake printah iki, YouTube bakal ndeleng stream sing dikirim. Kanggo miwiti siaran, sampeyan mung kudu ngeklik tombol "Mulai Siaran" ing YouTube dhewe.

Langkah 4 - nambah otonomi

Sugeng rawuh! Saiki sampeyan ngerti carane miwiti siaran saka file video. Nanging iki ora cukup kanggo siaran XNUMX/XNUMX. Penting yen sawise video pisanan rampung muter, video sabanjure langsung diwiwiti, lan nalika kabeh video ditampilake, puter maneh diwiwiti maneh.

Aku teka munggah karo pilihan ing ngisor iki: nggawe file .sh kang aku wrote printah kanggo saben file video lan ing pungkasan banget dituduhake printah kanggo mbukak script padha maneh. Asil rekursi kaya iki:

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

Lan, ya, iku bisa. Wareg karo awakku dhewe, aku ngluncurake siaran tes lan turu.

Ing wayah esuk ana kejutan sing ora nyenengake nunggu aku. Ternyata siaran kasebut mung sawetara menit lan rampung kanthi cepet nalika aku mateni komputer. Penyelidikan nuduhake yen printah sing diluncurake kanthi cara iki ditindakake nalika pangguna mlebu menyang server. Sanalika aku pedhot, printah sing aku mlaku padha diselani. Kanggo nyegah kedadeyan kasebut, cukup ing ngarepe tim bash nambah printah nohup. Iki bakal ngidini proses mlaku mlaku preduli saka ngarsane.

Versi minimal pungkasan saka skrip katon kaya iki:

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 $

Where start.sh file kang script iki ditulis. Lan file iki kudu ana ing direktori sing padha karo file video.

Nambahake tandha dolar ing pungkasan ngidini proses bisa mlaku ing latar mburi supaya sampeyan bisa terus nggunakake konsol tanpa ngganggu siaran.

Bonus kasebut kalebu barang-barang ing ngisor iki:

  • Sampeyan bisa ngalih puter maneh file kanthi manual. Kanggo nindakake iki, sampeyan kudu "mateni" proses ffmpeg sing lagi mlaku. Sawise iki, puter maneh file sabanjure saka dhaptar bakal diwiwiti kanthi otomatis.
  • Video anyar bisa ditambahake menyang siaran tanpa mandhegake siaran kasebut. Mung upload video menyang server, nambah printah kanggo mbukak file iki ing script, lan nyimpen. Mekaten. Ing babak puter maneh sabanjure, file anyar bakal disiarake bebarengan karo file lawas.

Langkah 5 - ngatur ffmpeg

Ing asas, kita bisa wis mandheg ana. Nanging aku pengin nggawe siaran luwih ramah kanggo pamirsa.

Contone, yen ana wong menyang siaran, wiwit nonton, seneng lan pengin nonton ceramah iki wiwit wiwitan, nanging siaran kasebut ora ngidini mundur. Kanggo nonton ceramah saka wiwitan, wong kudu pindhah menyang situs webku lan entuk rekaman ceramah sing diminati. Kepiye carane sampeyan bisa nemtokake kuliah sing disenengi dheweke? Wis ana 16 ceramah ing situs kasebut lan mung luwih akeh saben minggu. Aku sing malah aku, sing nggawe film lan nyunting kabeh ceramah iki, ora bakal bisa kanggo nemtokake saka pecahan acak kang kuliah. Mulane, saben kuliah kudu ditunjuk.

Opsi kanggo nambah katrangan menyang file video sumber ing program panyuntingan ora cocog karo aku. Sampeyan perlu kanggo mesthekake yen file asli digunakake. Supaya nyengkuyung siaran kasebut mbutuhake gerakan awak sethithik saka aku.

Ternyata ffmpeg uga bisa nulungi aku. Wis atribut khusus -vf, sing ngidini teks diselehake ing video. Kanggo nambah teks menyang video, sampeyan kudu nambahake fragmen ing ngisor iki menyang printah:

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

Panjelasan paramèterfontfile= - link menyang file font. Tanpa iki, caption ora bakal ditambahake menyang video kasebut. Cara paling gampang yaiku nyelehake file font ing folder sing padha karo video kasebut. Utawa sampeyan kudu nemtokake path lengkap menyang file.

text= - nyatane, teks dhewe sing kudu diselehake ing ndhuwur video.

fontsize= - ukuran font ing piksel.

fontcolor= - werna font.

borderw= – kekandelan saka njelaske nganggo bentuk garis watara teks ing piksel (Aku duwe teks putih karo outline ireng 1 piksel nglukis).

bordercolor= - werna outline.

x= и y= - koordinat teks. Titik 0;0 dumunung ing pojok kiwa ndhuwur. Koordinatku dipilih kanthi cara supaya teks diselehake ing pojok kiwa ngisor kanthi resolusi video 1280x720 piksel.

Katon kaya mangkene:

Siar video sampeyan ing YouTube XNUMX/XNUMX

Langkah 6 - nemtokake kualitas siaran

Mekaten, siaran wis siyap. Siaran FFmpeg, file diputer, kehadiranku ora perlu kanggo siaran. Malah saben kuliah ditandatangani. Katon kaya ngono.

Nanging siji nuansa liyane muncul - Aku milih konfigurasi server minimal lan ora narik siaran kasebut. Konfigurasi server: 1 inti (kaya 2.2 GHz), 1 gigabyte RAM, 25 GB SSD. Ana cukup RAM, nanging prosesor meh rampung dimuat ing 100% (lan ing kaping malah 102-103% :) Iki mimpin kanggo pembekuan siaran saben sawetara detik. Ora becik.

Sampeyan mung bisa njupuk konfigurasi sing luwih larang kanthi rong intine, untunge, kanthi teknologi maya, ngganti konfigurasi server ditindakake kanthi mencet sawetara tombol. Nanging aku wanted kanggo pas karo kapasitas konfigurasi minimal. Aku miwiti sinau dokumentasi ffmpeg lan ya, ana uga setelan sing ngidini sampeyan ngatur beban ing sistem kasebut.

Kualitas gambar sing dhuwur bisa digayuh kanthi rong cara: beban CPU sing dhuwur utawa lalu lintas metu sing dhuwur. Pranyata yen luwih akeh beban sing bisa ditindakake prosesor, bandwidth saluran kurang dibutuhake. Utawa sampeyan ora bisa mbukak prosesor kakehan, nanging sampeyan kudu saluran sudhut karo headroom lalu lintas gedhe. Yen ana watesan ing prosesor lan ukuran saluran / lalu lintas sing metu, mula sampeyan kudu nyuda kualitas gambar supaya siaran kasebut lancar.

Serverku nduweni akses menyang saluran amba 10 Mbit / s. Jembar iki pas. Nanging ana watesan lalu lintas - 1 TB saben sasi. Mulane, supaya bisa ketemu watesan lalu lintas, aliran metu sandi ngirim ora ngluwihi ~300 KB per detik i.e. Laju bit saka stream metu ngirim ora luwih saka 2,5 Mbit/s. YouTube, kanthi cara, nyaranake siaran ing bitrate iki.

Kanggo ngatur beban ing sistem, ffmpeg nggunakake macem-macem pendekatan. Ditulis kanthi apik babagan iki kene. Aku pungkasane nggunakake rong atribut: -crf и -preset.

Faktor Rate Konstan (CRF) - iki minangka koefisien thanks kanggo sampeyan bisa nyetel kualitas gambar. CRF bisa duwe nilai saka 0 nganti 51, ing ngendi 0 minangka kualitas file sumber, 51 minangka kualitas paling awon. Disaranake nggunakake nilai saka 17 nganti 28, standar yaiku 23. Kanthi koefisien 17, video kasebut bakal katon identik karo asline, nanging sacara teknis ora bakal padha. Dokumentasi uga nyatakake yen ukuran video pungkasan, gumantung saka CRF sing ditemtokake, owah-owahan kanthi eksponensial, yaiku. nambah koefisien 6 TCTerms bakal pindho bitrate video metu.

Yen nggunakake CRF sampeyan bisa milih "bobot" saka gambar metu, banjur nggunakake prasetel (-preset) sampeyan bisa nemtokake carane akeh banget prosesor bakal dimuat. Atribut iki nduweni paramèter ing ngisor iki:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium - nilai standar
  • slow
  • slower
  • veryslow

Parameter "luwih cepet" ditemtokake, luwih dhuwur beban ing prosesor.

Aku pisanan milih prasetel sing Sejatine banget angel kanggo prosesor sandi, lan banjur liyane sacoro apik milih mbukak nggunakake CRF. Ing kasusku, prasetel bisa digunakake fast, lan kanggo crf aku netepake nilai 24.

kesimpulan

Mekaten. Prentah pungkasan kanggo miwiti siaran yaiku:

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/%КЛЮЧ_ТРАНСЛЯЦИИ%

Mung ana rong titik sing ora diterangake ing kene:

1) -c:v libx264 – nemtokake codec tartamtu kanggo nggarap file sumber.
2) -g 3 – pratondo eksplisit saka nomer pigura tombol. Ing kasus iki, ditetepake manawa saben pigura katelu kudu dadi pigura kunci. Nilai standar yaiku 5 utawa 8, nanging YouTube sumpah lan njaluk paling ora 3.

Sampeyan bisa ndeleng apa kualitas siaran kasebut kene.

Beban ing server kaya ing ngisor iki:

Siar video sampeyan ing YouTube XNUMX/XNUMX

Siar video sampeyan ing YouTube XNUMX/XNUMX

Adhedhasar data ngawasi, jelas yen beban prosesor kisaran saka 70% nganti 95% lan sajrone minggu siaran ora tau tekan 100%. Iki tegese karo setelan iki prosesor cukup.

Kanthi mbukak disk, aku bisa ujar manawa meh ora dimuat lan HDD biasa kudu cukup kanggo siaran.

Nanging jumlah lalu lintas sing metu saya kuwatir. Pranyata stream metu sandi kisaran saka 450 kanggo 650 KB per detik. Ing sasi iki bakal dadi udakara 1,8 terabyte. Sampeyan bisa uga kudu tuku lalu lintas tambahan utawa ngalih menyang konfigurasi kanthi rong inti amarga ... Aku ora pengin nyuda kualitas gambar.

***

Akibaté, aku bakal ujar manawa nyiyapake siaran kasebut saka awal butuh udakara 1-2 jam. Kajaba iku, ngunggah video menyang server bakal njupuk paling wektu.

Peluncuran siaran kasebut ora mbenerake dhewe minangka alat marketing. Mbok menawa, yen kita nambah tampilan supaya algoritma YouTube njupuk siaran iki lan wiwit aktif nuduhake ing Rekomendasi, banjur soko bakal bisa. Ing kasusku, ing 16 dina siaran terus-terusan ditonton kaping 58.

Iku OK. Siaran kasebut cocog kanthi harmoni ing kaca utama situs webku. Iki menehi kesempatan kanggo cepet nggawe pendapat dhewe babagan dosen lan ceramah dhewe.

Lan siji wayahe. Penting yen siaran kasebut ora nglanggar hak cipta sapa wae, yen ora bakal diblokir. Aku tenang babagan siaranku amarga ... Aku khusus milih sisipan musik kanthi panggunaan gratis, lan penulis konten kasebut lungguh ing komputer sing cedhak lan ora nglawan aku nggunakake konten dheweke :)

Nanging yen sampeyan duwe radio sing diputer ing latar mburi ing endi wae ing siaran sampeyan, utawa sampeyan nggunakake trek favorit nalika nyunting, utawa njupuk urutan video saka video musik, serial TV utawa film sing populer, siaran sampeyan ana ing risiko. Sampeyan uga penting yen siaran kasebut ngemot paling sethithik beban semantik, yen ora, bisa uga diblokir minangka spam.

***

Aku mung duwe. Mugi manual iki bakal ngawula wong uga. Inggih, yen sampeyan duwe soko kanggo nambah, nulis, aku bakal seneng maca tambahan lan klarifikasi kanggo artikel.

Source: www.habr.com

Add a comment