Quindi, vuoi trasmettere in streaming i tuoi giochi o forse una webcam ma non ti piacciono servizi come YouTube o twitch. O forse hai problemi di privacy o desideri semplicemente un maggiore controllo sui tuoi contenuti. In questo articolo ti mostrerò come creare un server di streaming in FreeBSD, con Nginx, usando il protocollo RTMP.
Fase uno:installa Nginx
Fortunatamente, la porta Nginx include un modulo che implementa il protocollo RTMP per lo streaming di audio e video su Internet. Per installare il server Nginx esegui:
[gonz@gonz ~]$ su -
Password:
[root@gonz ~]# cd /usr/ports/www/nginx
[root@gonz /usr/ports/www/nginx]# make config install clean
Nella schermata di configurazione della porta, scorri verso il basso e seleziona l'opzione RTMP:
Pochi minuti dopo, la compilazione e l'installazione saranno completate:
Fase 2:configura Nginx
2.a:Directory Webroot
Abbiamo bisogno di una directory webroot da cui Nginx trasmetterà in streaming i nostri contenuti, non mi sento molto creativo, quindi chiamo il mio solo "live":
[root@gonz ~]# mkdir /usr/local/www/live
[root@gonz ~]# chown www:www /usr/local/www/live/
2.b:File di configurazione
Modifica il file /usr/local/etc/nginx/nginx.conf e aggiungi le seguenti righe in alto:
load_module /usr/local/libexec/nginx/ngx_stream_module.so; load_module /usr/local/libexec/nginx/ngx_rtmp_module.so;
Con quelle linee nginx caricherà i moduli necessari per lo streaming.
Se stai usando l'editor ee, premi ctrl-y per trovare "location /" e cambia il percorso webroot con quello creato in precedenza:
location / {
root /usr/local/www/live;
}
Nella parte inferiore del file aggiungi le impostazioni RTMP:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
2.c:Abilita e avvia nginx
Salva le modifiche nel file nginx.conf ed esegui quanto segue:
[root@gonz ~]# /usr/local/etc/rc.d/nginx enable
nginx enabled in /etc/rc.conf
[root@gonz ~]# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
Fase 3:impostazione del software di streaming
Con Nginx pronto per accettare flussi video, dobbiamo configurare il software di trasmissione. Quando stavo imparando a creare un server di streaming, ho letto molti tutorial (soprattutto incentrati su Linux, in particolare Ubuntu) e per questo passaggio tutti consigliano OBS (Open Broadcaster Software) Studio.
Vai al sito Web per scaricare e trovare le istruzioni adatte al tuo sistema operativo desktop. Ho Gentoo Linux su questo laptop e le mie istruzioni non ufficiali per installarlo sono semplici come:
# emerge media-video/obs-studio
Quando avvii OBS, ci sarà una procedura guidata per la prima volta:
La procedura guidata cercherà di aiutarti a determinare le migliori impostazioni in base al tuo computer. La schermata successiva riguarda la risoluzione e la successiva è importante:
Scegli un servizio personalizzato e nel server riempi con RTMP://IP.or.FQDN of your nginx/live
. Lo streamkey è facoltativo.
Testa il tuo stream
Vai in basso a sinistra della finestra OBS e aggiungi una fonte facendo clic sul segno +:
Ho scelto di acquisire una finestra di xterm. Ora con tutto configurato, possiamo iniziare a inviare il nostro stream al server. Nei controlli in basso a destra, fai clic su Avvia streaming, dovresti vedere un blocco verde sulla barra di stato se tutto è corretto:
Ultimo passaggio:guarda il tuo stream
Lo scopo di questo tutorial era di poter trasmettere da qualche parte. Da qualche parte in questo esempio ci sarà lo stesso PC in streaming, nel mio caso sto accedendo con VLC. L'URL che devo aprire è RTMP://IP.or.FQDN.of.your nginx/live
/SuperSecretKey
e questo è tutto:
Questo PC è un po' lento, quindi nel mio xterm ho appena eseguito il gioco ascii-art alienwave per avere qualcosa da mostrare.
Ed è così che ho creato un server di streaming in FreeBSD solo per il divertimento di imparare qualcosa di nuovo.