Mokėjimo būdai Abuse

Kaip transliuoti vaizdo įrašus "YouTube" naudojant VPS

21.06.2023, 18:55

Kaip galime įsitikinti, kad tai yra vaizdo transliacija? Ji turėtų būti 24 valandas per parą, 7 dienas per savaitę, lanksti, kuo savarankiškesnė ir niekaip nepriklausyti nuo kompiuterio. Apie tai ir kalbėsime toliau.

1 žingsnis - serverio pasirinkimas

Idealus sprendimas - išsinuomoti virtualų serverį. VPS / VDS galite rinktis iš mūsų svetainėje siūlomų tarifų. Kainos yra demokratiškos. Kokybė yra aukšta.

2 žingsnis - serverio konfigūravimas

Sukūrus serverį, pirmiausia reikia prie jo prisijungti per SSH. Galite naudoti "Secure Shell" programą, kuri veikia "Google Chrome" naršyklėje. Po to reikia pakeisti prieglobos vardą, nustatyti laiko sinchronizavimą, atnaujinti sistemą, sukonfigūruoti iptables ir atlikti keletą kitų veiksmų. Nors šie veiksmai nėra būtini, man buvo įdomu konfigūruoti serverį ir patirti pasitenkinimą sėkmingai atlikus užduotis.

Yra keletas konkrečių veiksmų, kuriuos reikia atlikti:

  1. Prijunkite EPEL saugyklą.
  2. Įdiekite FTP serverį(vsftp).
  3. Įdiekite ffmpeg.

ffmpeg yra nemokamas atvirojo kodo bibliotekų rinkinys, leidžiantis įrašyti, konvertuoti ir perduoti įvairių formatų skaitmeninius garso ir vaizdo įrašus.

Naudodami ffmpeg galite iš vaizdo įrašo išgauti garsą, iškirpti vaizdo įrašo fragmentą be perkodavimo, konvertuoti iš vieno formato į kitą ir atlikti daug kitų veiksmų. Pavyzdžiui, failą galima konvertuoti į srautą ir nukreipti į "YouTube".

Jums reikia atlikti tam tikrus konkrečius veiksmus ir naudoti atitinkamus įrankius, kad nustatytumėte serverį srautui transliuoti ir konvertuoti vaizdo įrašą.

3 veiksmas - transliacijos nustatymas

Toliau sukurkime "YouTube" transliaciją, tam mums reikės transliacijos nuorodos ir rakto, kurį turėsime naudoti transliacijos sąrankos žingsnyje. Lengviausia juos greitai rasti "YouTube" puslapyje, kuriame kuriama transliacija.

Tada turime įkelti į serverį vaizdo failus, kuriuos norime transliuoti. Jei turite patogesnį failų įkėlimo būdą, FTP serverio kurti nereikia.

Norėdami pradėti transliaciją, turime paleisti ffmpeg su keliais atributais. Šiam tikslui sukurti trumpą komandą buvo gana sudėtingas procesas, tačiau, jei jis atliktas teisingai, "YouTube" turėtų sėkmingai aptikti transliuojamą srautą.

Kai "YouTube" aptiks srautą, valdymo skydelyje spustelėkite mygtuką "Pradėti transliaciją" ir transliacija bus sėkmingai pradėta.

4 veiksmas - neprisijungus prie interneto

Aukščiau pateiktas scenarijus padės jums sukurti 24/7 transliaciją iš vaizdo įrašų failų. Svarbu paleisti procesą fone naudojant komandą nohup bash. Dabar galite pritaikyti savo transliaciją ir leisti jai veikti nepriklausomai nuo jūsų buvimo. Nepamirškite, kad jūsų transliacijos raktas turi būti įrašytas atitinkamoje komandoje.

1 komanda... (paleisti paskaitos1.mp4 failo transliaciją)

2 komanda... (pradėti transliuoti paskaita2.mp4 failą)

3 komanda... (pradėti transliuoti paskaita3.mp4) bash start.sh

Scenarijaus versija:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY% nohup bash start.sh $

Linkime sėkmingos transliacijos!

5 veiksmas - tikslus ffmpeg derinimas

Atlikime keletą smulkesnių derinimų, kad transliacija būtų geresnė

ffmpeg -re -i lecture1.mp4 -vf "drawtext=text='Lecture 1':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%

Šiame pavyzdyje tekstas "1 paskaita" bus uždėtas vaizdo įrašo centre. Šrifto dydis - 30 pikselių. Teksto fonas bus skaidrus su juodu brūkšniu.

Kiekvienos paskaitos tekstą turėsite pakeisti komandoje. O kad šį procesą automatizuotumėte ir atsikratytumėte rankinio įvedimo, turėsite sukurti .sh failą su visų paskaitų sąrašu ir jų pavadinimais. Pavyzdžiui, taip:

Paskaita1.mp4 1 paskaita
lecture2.mp4 2 paskaita
lecture3.mp4 3 paskaita

Tada reikia parašyti scenarijų, kuris perskaitys šį failą ir automatiškai pridės tekstą prie vaizdo įrašo.

Štai toks scenarijus:

while read line; do
    file=$(echo $line | cut -d' ' -f1)
    text=$(echo $line | cut -d' ' -f2-)
    ffmpeg -re -i $file -vf "drawtext=text='$text':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
done < lectures.txt

Šiame scenarijuje skaitome kiekvieną lectures .txt failo eilutę, išskirdami failo pavadinimą ir paskaitos pavadinimą. Tada naudodami komandą ffmpeg į vaizdo įrašą pridedame tekstą.

Taigi dabar turime transliaciją su paskaitų pavadinimais, todėl žiūrovams bus patogiau ir lengviau rasti reikiamą turinį.