Torino ITA)
+39 01119115797
info@netpic.it

Streaming con Facebook di una sessione BigBlueButton

Streaming con Facebook di una sessione BigBlueButton

Perché fare streaming di una sessione

BigBlueButton implementa le funzionalità di web conference di base, consente la connessione di un certo numero di utenti, ma indipendentemente dalla risorse hardware a disposizione, se si ha l’esigenza di distribuire il contenuto a centinaia o addirittura migliaia di utenti di una singola sessione (lezione o conferenza che sia) lo strumento che si può utilizzare è lo streaming  RTMP., ovvero lo Real Time Messaging Protocol, uno stack pensato per effettuare lo streaming su internet di contenuti audio/video.

Sappiamo bene che il fulcro delle funzionalità di BigBlueButton risiede nel coinvolgimento degli utenti, fornendo strumenti quali la chat, lavagna multiutente, note condivise, sondaggi, stanze per sottogruppi di lavoro. Ma questo strumento funziona bene per sessioni di piccole e medie dimensioni e attualmente si sconsiglia, proprio per la struttura globale del progetto, di superare i 100 utenti nella stessa sessione. Inoltre è bene usare le pratiche di risparmio risorse hardware e di banda, attivando la webcam solo per il moderatore e limitando l’uso della voce agli utenti quando necessario. Anche lo sharing del desktop può impattare molto sulle performance per quello consigliamo di usare il più possibile la condivisione di documenti, se possibile in formato PDF.

A volte, tuttavia, si desidera trasmettere una sessione a un numero molto maggiore di utenti. Ovviamente saranno utenti passivi, potranno solo seguire la sessione ma non interagire, ma questo è reso possibile grazie ad uno strumento sviluppato per BigBlueButton che si può facilmente integrare sul server su cui girà.

Questo progetto è bbb-streaming ed il codice necessario può essere scaricato dalla home del progetto.
Installarlo è semplice e normalmente il nostro server ha già i prerequisiti necessari, ma nel caso non li avesse, questi sono i passaggi per adattare la nostra distribuzione Ubuntu 16.

I. Installare Docker (se non già presente sul sistema)

# apt install apt-transport-https ca-certificates curl software-properties-common
# apt install apt-transport-https ca-certificates curl software-properties-common

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable”
# apt update
# apt install docker-ce

2. Installare Docker Compose (se non già presente sul sistema)

# curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

3. Scaricare bbb-streaming

# wget -O docker-compose.yml https://raw.githubusercontent.com/manishkatyan/bbb-streaming/master/examples/docker-compose.yml.example

4 .Adattare la configurazione al nostro sistema

# nano docker-compose.yml

(Configurazioni minime)
BBB_URL - URL to BBB including http/https e.g. https://your_BigBlueButton_server/bigbluebutton/api
BBB_MEETING_ID - ID of the BBB Meeting (You can get the ID via an API call: https://your_bbb_server/bigbluebutton/api/getMeetings?checksum=)
BBB_SECRET - Secret of your BBB installation (You can get the secret with: bbb-conf --secret)
BBB_STREAM_URL - URL of your streaming server including rtmp. (Example Youtube: rtmp://a.rtmp.youtube.com/live2/wf24-fttr-0228-uvas-d5hh, Facebook: rtmps://live-api-s.facebook.com:443/rtmp/3723139434365952?s_bl=1&s_ps=1&s_psm=1&s_sw=0&s_vt=api-s&a=Abzo1Ejb-3Wh_7qt)
BBB_VIEWER_STREAM_URL - URL for your users to view live streaming. This would be displayed in public chat.

Per ottenere i parametri indispensabili (BBB_STREAM_URL) occorre avere disposizione un servizio di streaming. Basta che supporti la trasmissione con il protocollo RTMP. Il metodo più semplice è farlo con Facebook, fino a 8 ore di trasmissione in streaming e con numerose possibilità di interazione. Vediamo come ottenere i parametri necessari per lo streaming proprio con Facebook 

Sul nostro profilo Facebook, ma meglio se disponiamo di una Pagina, clicchiamo su Crea >> In Diretta

A questo punto ci sono tre sistemi per trasmettere, il nostro è “Usa una chiave per lo streaming”

In basso verranno indicati i parametri per la configurazione della diretta streaming

La combinazione dell’URL del server e della Chiave per lo streaming ci permette di ottenere il BBB_STREAM_URL

5. Avviare il live streaming da BigBlueButton

A questo punto, una volta adattato il nostro file docker-compose.yml, abbiamo tutto per avviare il docker-compose:

# docker-compse up -d

6. Avviare la trasmissione in diretta su Facebook

Se tutto ha funzionato possiamo avviare la trasmissione in diretta su Facebook

Nello stesso momento sulla piattaforma BigBlueButton avremo lo streaming da Facebook connesso in piattaforma come utente (Live).

Inoltre, se configurata l’opzione “BBB_VIEWER_STREAM_URL”, sarà possibile vedere il link per raggiungere direttamente la diretta in streaming su Facebook. Le politiche di ritrasmissione della diretta saranno gestite direttamente dalle opzioni di Facebook.
Un piccolo consiglio, se trasmettete la diretta da una Pagina, sarà un evento pubblico, se invece ritrasmette come Profilo Utente potete limitare la visione dell’evento a specifici gruppi di utenti.
Ci sono anche delle controindicazioni che è bene conoscere:

  • bisogna tenere conto delle latenze, ma normalmente se la connessione è fluida non rappresentano un problema.
  • se la connessione a BigBlueButton viene persa, lo streaming si interrompe, va riconnesso manualmente
  • quando si utilizzano i sottogruppi di lavoro, nella schermata di streaming comparirà una finestra di popup di invito e non saremo in grado di tornare alla conferenza. E’ sconsigliato usarli.

7. Verificare la connessione e la riproduzione sulla diretta Facebook

A questo punto possiamo vedere Facebook ritrasmette la nostra sessione di BigBlueButton. Ma sulla piattaforma avremo un solo utente connesso con grande risparmio di risorse di sistema e la possibilità di raggiungere un elevato numero di utenti.

Esiste ovviamente la possibilità di fare streaming attraverso altri servizi, quello che è importante è ampliare le possibilità di servizio di BigBluButton che ancora una colta colpisce per l’estrema potenza e versatilità.