Nell'ultimo articolo abbiamo visto come installare un server per fare dirette video per fare dirette uno a molti con feedback tramite chat testuale.

In gruppi più piccoli però è più comodo e immediato fare videochiamate in cui tutti possano intervenire con audiovideo: per fare questo usando software libero possiamo usare jitsi meet, una piattaforma che fa uso dello standard WebRTC.

In questo modo, chi vuole partecipare alla videochiamata non deve fare altro che collegarsi al server con un qualsiasi browser moderno e creare una stanza o unirsi ad una stanza esistente, senza bisogno di nessun tipo di registrazione.

Se questo modello di videochiamata interessa, ma si è pigri, si può andare su https://iorestoacasa.work/ e sfruttare le istanze jitsi messe a disposizione da volontari per il periodo di emergenza. Dato però che non siamo pigri, possiamo continuare a leggere questo articolo per vedere come installare una propria istanza.

Installazione

Requisiti

L'installazione di jitsi dovrà avvenire su un server con buona disponibilità di banda; per videochiamate tra piccoli gruppi (~10 persone) può bastare un qualsiasi VPS economico, mentre se si pensa di offrire un servizio pubblico conviene rispettare i requisiti indicati su https://iorestoacasa.work/voglio-contribuire.html .

Server web, certificati, ecc.

Innanzitutto, è necessario installare un server web a scelta tra apache e nginx: noi abbiamo scelto nginx (per poterlo usare anche come server di streaming, seguendo l'articolo di Fabrixxm).

Usare il proprio metodo preferito per ottenere dei certificati ssl; jitsi si aspetta di trovarli nei file /etc/ssl/jitsi.example.org.key per la chiave e /etc/ssl/jitsi.example.org.crt per il certificato pubblico (completo di certificato intermedio).

Controllare poi che /etc/hosts abbia il FQDN configurato su localhost e aggiungerci una voce Dev-VideoConf-Jitsi per prevenire dei problemi di connessione SCTP:

127.0.1.1       jitsi.example.org jitsi
127.0.0.1       localhost Dev-VideoConf-Jitsi
::1             localhost ip6-localhost ip6-loopback

Jitsi

Purtroppo jitsi non è disponibile in Debian, ma gli sviluppatori forniscono un repository con dei pacchetti .deb aggiornati: aggiungere tale repository in /etc/apt/sources.list.d/jitsi.list:

deb https://download.jitsi.org stable/

e abilitare la relativa chiave di firma:

# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add

Aggiornare apt ed installare jitsi:

# apt update
# apt install jitsi-meet

Verranno poste le seguenti domande:

The hostname of the current installation:
rispondere con l'FQDN della macchina <server>.<dominio>
SSL certificate for the Jitsi Meet instance
rispondere “I want to use my own certificate”
Full local server path to the SSL key file:
rispondere /etc/ssl/jitsi.example.org.key
Full local server path to the SSL certificate file:
rispondere /etc/ssl/jitsi.example.org.crt

(attenzione, per questi ultimi due abbiamo avuto problemi nell'usare valori diversi dal default e abbiamo preferito copiare i file nella posizione attesa piuttosto che cercare di risolverli.)

Se il server che si sta usando usa nat (come fanno alcuni fornitori di VPS per fornire indirizzi pubblici riassegnabili a macchine diverse), aggiungere le seguenti righe a /etc/jitsi/videobridge/sip-communicator.properties:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<iplocale>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<ip pubblico>

(ad esempio <ip locale> sarà qualcosa come 192.168.42.23)

E riavviare il servizio videobridge2:

# service videobridge2 restart

Conclusioni

Il nostro server è pronto, a questo punto basta aprire https://jitsi.example.org con un qualunque browser con supporto webrtc, creare una stanza, passare l'indirizzo ai propri amici e parlare a piacere.

Non è però tutto qui: in articoli successivi vedremo come usare jitsi come fonte per streaming o registrazioni, per avere uno strumento semplice per organizzare conferenze da remoto o realizzare progetti creativi.