Betaalmethoden Abuse

Hoe je video's uitzenden op YouTube met VPS

21.06.2023, 18:55

Hoe kunnen we ervoor zorgen dat het een video-uitzending is? Het moet 24/7, flexibel en zo autonoom mogelijk zijn en op geen enkele manier afhankelijk van je computer. Daar gaan we het nu over hebben.

Stap 1 - een server kiezen

De ideale oplossing is om een virtuele server te huren. Je kunt VPS/VDS kiezen uit het aanbod op onze website. De prijzen zijn democratisch. De kwaliteit is hoog.

Stap 2 - serverconfiguratie

Nadat je een server hebt aangemaakt, moet je er eerst verbinding mee maken via SSH. Je kunt hiervoor de Secure Shell App gebruiken, die draait in Google Chrome. Daarna moet je de hostnaam veranderen, tijdsynchronisatie instellen, het systeem updaten, iptables configureren en een paar andere acties uitvoeren. Hoewel deze stappen niet vereist zijn, vond ik het interessant om de server te configureren en de voldoening te krijgen van het succesvol voltooien van de taken.

Er zijn een paar specifieke stappen die gevolgd moeten worden:

  1. Verbind de EPEL repository.
  2. Installeer een FTP-server(vsftp).
  3. Installeer ffmpeg.

ffmpeg is een gratis en open source verzameling bibliotheken waarmee je digitale audio- en video-opnamen in verschillende formaten kunt opnemen, converteren en overzetten.

Met ffmpeg kun je geluid uit een video halen, een videofragment knippen zonder transcodering, converteren van het ene formaat naar het andere en nog veel meer. Een bestand kan bijvoorbeeld geconverteerd worden naar een stream en omgeleid worden naar YouTube.

Je moet een aantal specifieke stappen volgen en de juiste tools gebruiken om de server in te stellen voor het streamen en converteren van de video.

Stap 3 - De uitzending opzetten

Laten we vervolgens een YouTube-uitzending maken. Hiervoor hebben we een uitzendlink en een sleutel nodig die we moeten gebruiken in de stap voor het instellen van de uitzending. Het is het makkelijkst om deze snel te vinden op de YouTube pagina waar de uitzending wordt gemaakt.

Vervolgens moeten we de videobestanden die we willen uitzenden uploaden naar de server. Als je een handigere manier hebt om bestanden te uploaden, hoef je geen FTP-server op te zetten.

Om de uitzending te starten, moeten we ffmpeg uitvoeren met een paar attributen. Het maken van een kort commando voor dit doel was een ingewikkeld proces, maar als het goed is, zou YouTube de stream die wordt gestreamd succesvol moeten detecteren.

Zodra YouTube de stream heeft gedetecteerd, klik je op de knop "Start Broadcast" in het configuratiescherm en wordt de uitzending succesvol gestart.

Stap 4 - Offline

Het bovenstaande script zal je helpen om een 24/7 uitzending te maken van videobestanden. Het is belangrijk om het proces op de achtergrond uit te voeren met het commando nohup bash. Nu kunt u uw uitzending aanpassen en laten lopen, ongeacht uw aanwezigheid. Vergeet niet dat de sleutel tot je uitzending in het juiste commando moet staan.

Opdracht 1... (start uitzending van lecture1.mp4 bestand)

Opdracht 2... (start uitzending van lecture2.mp4)

Commando 3... (start uitzending van lecture3.mp4) bash start.sh

Scriptversie:

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 $

We wensen u een succesvolle uitzending!

Stap 5 - ffmpeg fine-tunen

Laten we wat fine-tuning doen voor een betere uitzending

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%

In dit voorbeeld wordt de tekst "Lecture 1" in het midden van de video geplaatst. De lettergrootte is 30 pixels. De achtergrond van de tekst is transparant met een zwarte streep.

Je moet de tekst in de opdracht voor elke lezing wijzigen. Om dit proces te automatiseren en handmatige invoer overbodig te maken, moet je een .sh-bestand maken met een lijst van alle lezingen en hun namen. Zoals dit:

lecture1.mp4 Lezing 1
lecture2.mp4 Lezing 2
lecture3.mp4 Lezing 3

Vervolgens moeten we een script schrijven dat dit bestand leest en automatisch tekst aan de video toevoegt.

Hier is zo'n script:

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

In dit script lezen we elke regel uit het bestand lectures .txt, waarbij we de bestandsnaam en de titel van de lezing markeren. Daarna gebruiken we het ffmpeg commando om de tekst aan de video toe te voegen.

Nu hebben we dus een uitzending met collegetitels, wat het overzichtelijker maakt voor kijkers en het makkelijker maakt voor hen om de inhoud te vinden die ze nodig hebben.