Modifiche

Da GolemWiki.

NGINX RTMP server

1 737 byte aggiunti, 18:04, 8 ott 2020
aggiunta configurazione nginx
== Come faccio a vedere la diretta? ==
Per vedere la diretta, copia Basta [http://golem.linux.it:8080/stream.html cliccare qui] e premere ''Play''. === E se non mi funziona? ===Copia e incolla il seguente collegamento nel tuo lettore multimediale.
rtmp://golem.linux.it:8081/live/stream
Da quando c'è la pandemia, tuttavia, l'esigenza di trasmettere i nostri incontri si è fatta sempre più pressante, e il nostro caro, vecchio, non-documentato relay RTMP con nginx si è rivelato essere sempre all'altezza di provvedere alle nostre esigenze, riuscendo a reggere lo streaming (uno-a-molti) con almeno 30 persone. Adesso va quantomeno documentato. Vergogna al sysop che non l'ha fatto prima.
=== Per la regia chi trasmette ===
Per trasmettere si deve usare [https://obsproject.com/ OBS Open Broadcaster Software].
'''Attenzione:''' puoi trasmettere solo se il tuo indirizzo IP è specificato nel file di configurazione di nginx: al momento, puoi trasmettere solo da un indirizzo della sottorete IPv6 del GOLEM (<code>2001:470:c844::/48</code>), oppure puoi chiedere al sysop se ti abilita temporaneamente il tuo IPv4 (es. <code>79.11.35.249/32</code>).
 
=== Per il sistemista ===
Si deve installare il relay RTMP ricompilando un modulo specifico per ''nginx 1.13'' (purtroppo questa cosa non è stata documentata a suo tempo, qualcuno vuole farlo ora?).
 
==== Configurazione di nginx ====
Lo streaming avviene nel seguente modo:
* flusso RTMP in ingresso: il flusso audio/video RTMP viene trasmesso da OBS già codificato correttamente, e nginx si occuperà semplicemente di replicarlo e, eventualmente, di incapsularlo (vedere più avanti);
* flusso RTMP in uscita: lo stesso flusso audio/video in ingresso viene inserito in un buffer in memoria (es. 4096k), e viene replicato ai client che si connettono per la riproduzione tramite RTMP;
* lettore multimediale web: nginx, tramite le direttive <code>hls</code> produce un file di playlist ''.m3u8'' e spezza il flusso audio/video che gli giunge tramite RTMP in tanti piccoli file ''.ts'' (numerati in sequenza, e che mano a mano che la diretta procede, vengono eliminati a rotazione). Una semplice pagina web con [https://videojs.com/ video.js] può essere approntata per la riproduzione: il lettore usa il file di playlist per rimanere aggiornato su quali sono gli ultimi "pezzi" ''.ts'', li scarica e li mostra automaticamente in sequenza, senza discontinuità.
 
Configurazione nginx: [[File:rtmp-nginx.conf.gz]]
 
Si notino in particolare le seguenti sezioni:
* http server listen 8080, per esporre la pagina con il lettore multimediale web;
* http server listen 8082, per esporre i file .ts e la playlist .m3u8;
* rtmp server listen 8081, per ricevere la trasmissione da OBS, e per replicarla a chi si collega con un lettore multimediale;
 
[[Category:Officina]]
[[Category:Howto]]

Menu di navigazione