O Jitsi Meet é um software gratuito e de código aberto que permite criar e implantar soluções de videoconferência. O Jitsi Meet é baseado na tecnologia de padrão aberto WebRTC para conferências baseadas em navegador. Além disso, com o Jitsi, você pode usar aplicativos cliente para Linux, macOS, Windows, iOS e Android para realizar videoconferências.
Aviso!
Observe que o Jitsi Meet não pode ser usado como uma plataforma de videoconferência completa. É uma solução gratuita projetada para demonstrar os recursos do serviço baseado em nuvem do 8×8. Os desenvolvedores do Jitsi não planejam adicionar recursos de nível empresarial em seus produtos, enquanto a implementação de recursos essenciais de negócios como integração Active Directory/LDAP, passagem de NAT, suporte SIP, gravação de conferência etc. requer instalação e configuração de plug-ins e software adicionais pacotes. Além disso, o Jitsi não fornece vários recursos básicos, como agendamento de reuniões (todas as reuniões do Jitsi são, na verdade, salas virtuais).
Finalmente, a instalação e manutenção do Jitsi Meet requer programação avançada e habilidades de administração do Linux.
Compare o Jitsi com a plataforma de colaboração de vídeo local TrueConf Server
Deseja implantar o Jitsi Meet? Você veio ao lugar certo! Leia este guia para saber como instalá-lo e configurá-lo.
Tabla de contenido
Requisitos de sistema
Os seguintes pacotes são necessários para a instalação do Jitsi Meet:
- gnupg2
- nginx-full
- sudo
- OpenJDK 8/OpenJDK 11
Abaixo você encontra a lista de portas que você precisará abrir em seu sistema operacional ou encaminhar para uma rede externa:
- 80/tcp – para verificar/renovar o certificado SSL com Let’s Encrypt
- 443/tcp – para acesso geral ao Jitsi Meet
- 10000/udp – para comunicação de áudio e vídeo em sua rede
- 22/tcp – se você usar SSH para se conectar ao servidor (é um valor padrão, se você usar uma porta diferente, especifique-o em vez de 22).
O Jitsi Meet pode ser implantado no Debian/Ubuntu e no openSUSE. Por exemplo, neste artigo vamos instalar o Jitsi Meet no Debian 10.
sudo -V
e instalá-lo usando apt install sudo
como usuário root. Se você quiser adicionar um usuário com o nome de usuário user
ao grupo sudo
, use sudo usermod -a -G sudo user
.Módulos básicos do Jitsi Meet
Jicofo é um componente XMPP. É um processo responsável por conectar aplicativos clientes a videoconferências. Durante as conferências, ele pode enviar convites, realizar balanceamento de carga ao usar vários servidores XMPP, etc. O Jicofo possui sua própria API HTTP /about/health
que permite verificar o status do Jicofo.
Jitsi Videobridge é um componente chave do sistema. Ao transmitir vídeo e áudio entre os participantes, ele atua como intermediário, ou seja, realiza a terminação RTP/RTCP e define os limites de bitrate em ambas as direções para cada cliente. O Jitsi Videobridge contém sua própria API HTTP (/colibri/debug
) para monitoramento.
Baseado na arquitetura Simulcast , o Jitsi Videobridge não é responsável pela transcodificação e consome relativamente poucos recursos de CPU. No entanto, o Simulcast aumenta significativamente a carga do lado do cliente em comparação com outras arquiteturas.
Várias pontes de vídeo podem ser conectadas ao sistema de videoconferência Jitsi com cada nova conferência atribuída a uma delas.
Jigasi – ramal externo projetado para participar de conferências Jitsi via telefonia SIP (é necessário um ramal separado).
Jibri é um conjunto de ferramentas para gravar e/ou transmitir uma reunião hospedada no Jitsi Meet. Ele funciona iniciando uma instância do Chrome renderizada em um framebuffer virtual e capturando e codificando a saída com ffmpeg. Destina-se a ser executado em uma máquina separada (ou uma máquina virtual), sem outros aplicativos usando os dispositivos de vídeo ou áudio. Um Jibri suporta apenas uma gravação ao mesmo tempo.
Prosody é um servidor XMPP multiplataforma escrito em Lua.
Etapa 1: Instalando Pacotes Adicionais
- Obtenha uma lista de atualizações disponíveis para todos os pacotes dos repositórios conectados ao seu sistema operacional:
1 |
sudo apt update |
2. Instale os pacotes necessários:
- apt-transport-https. Como o repositório Jitsi requer uma conexão HTTPS, você precisa instalar o pacote apt-transport-https para que o APT estabeleça uma conexão HTTPS com o repositório Jitsi.
- gnupg2. Necessário para trabalhar com chaves PGP.
- nginx-full. Servidor web de alto desempenho. Requer que o instalador configure um host virtual no servidor web para manter o Jitsi Meet.
- curl. Ferramenta de linha de comando para transferência de dados com sintaxe de URL. É necessário para baixar a chave PGP.
- ufw. Firewall para abrir portas.
1 |
sudo apt install apt-transport-https gnupg2 nginx-full curl ufw -y |
Etapa 2: configurar um nome de domínio
Para a operação correta do Jitsi Meet, o nome do host do sistema deve corresponder ao nome de domínio que será usado para sua instância do Jitsi Meet.
- Escolha o domínio que será usado para o seu servidor. Por exemplo,
myjitsi.example.org
. - Para configurar o nome de domínio, use o utilitário hostnamectl do kit de ferramentas systemd para gerenciar o nome do host do sistema:
1 |
sudo hostnamectl set-hostname myjitsi.example.org |
3. Adicione o mesmo nome de domínio ao arquivo /etc/hosts:
1 2 3 |
127.0.0.1 localhost x.x.x.x myjitsi.example.org |
onde x.x.x.x.x é o endereço IP público do seu servidor.
Etapa 3: configurar o firewall
Para conectar usuários à sua instância do servidor Jitsi Meet, você precisa configurar o firewall abrindo as portas necessárias com ufw. Para fazer isso, execute os comandos abaixo na seguinte sequência:
1 2 3 4 5 6 7 8 9 |
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10000/udp sudo ufw allow 22/tcp sudo ufw enable |
Verifique o status do firewall com este comando:
1 |
sudo ufw status verbose |
Se essas portas estiverem abertas, você verá a seguinte saída:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 10000/udp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) 10000/udp (v6) ALLOW Anywhere (v6) |
Etapa 4: Adicionando o pacote Jitsi à lista de repositórios
- Use curl para importar a chave GPG oficial do repositório Jitsi:
1 |
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg' |
2. Adicione um link para um repositório estável:
1 |
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null |
Etapa 5: Instalando o Jitsi Meet
Antes do processo de instalação, obtenha uma lista de pacotes disponíveis no repositório Jitsi:
1 |
sudo apt update |
Instale o Jitsi Meet:
1 |
apt install jitsi-meet |
Você também será solicitado a inserir o nome do host da sua instância do Jitsi Meet. Se você tiver um domínio, poderá usar seu nome de domínio, por exemplo, myjitsi.example.org. Alternativamente, você pode inserir o endereço IP do seu computador (se for estático).
Este nome de host será usado para configurar o host virtual no Jitsi Meet, bem como para conectar usuários a conferências.
Você pode gerar um certificado SSL autoassinado ou rejeitar essa opção se já tiver um certificado comercial e for usá-lo.
Etapa 6: autenticação do usuário
Por padrão, o Jitsi Meet é configurado para que qualquer usuário possa se conectar ao seu servidor e criar uma conferência. No entanto, você pode alterar esse cenário e permitir que apenas usuários autorizados criem conferências. Nesse caso, ao criar uma nova sala, o Jitsi Meet solicitará nome de usuário e senha. Para fazer isso, você precisará editar os arquivos de configuração.
Nos exemplos a seguir, a variável your_hostname
será usada no lugar do nome de domínio.
Ativar autenticação obrigatória
- Usando qualquer editor de texto, abra o arquivo
/etc/prosody/conf.avail/[your_hostname].cfg.lua
2. Encontre a linha authentication = "anonymous"
no bloco VirtualHost "[your_hostname]"
e substitua-a pela seguinte linha:
1 |
authentication = "internal_hashed" |
Isso limitará o acesso de usuários anônimos à sua plataforma e introduzirá autenticação obrigatória por nome de usuário e senha.
3. Adicione a seguinte seção no final do arquivo:
1 2 3 4 5 6 7 |
... VirtualHost "guest.your_hostname" authentication = "anonymous" c2s_require_encryption = false |
Isso permite que usuários anônimos participem de uma conferência criada por um usuário autenticado no servidor. O convidado deve saber o endereço e a senha exclusivos da conferência (se estiver definido).
4. Abra outro arquivo etc/jitsi/meet/your_hostname-config.js
em um editor de texto e descomente a linha // anonymousdomain: 'guest.example.com'
, substitua guest.example.com
pelo seu nome de host real do Jitsi Meet.
Esses dados são necessários para indicar ao Jitsi Meet qual hostname interno deve ser usado para convidados não autenticados.
Depois disso, especifique o domínio que será usado para executar o Jicofo nas configurações do componente. Para instalações de conferência, o Jicofo usará apenas domínios registrados.
Para concluir as alterações de configuração, adicione a seguinte linha ao arquivo
1 2 3 |
/etc/jitsi/jicofo/sip-communicator.properties org.jitsi.jicofo.auth.URL=XMPP:your_hostname |
Criando contas de usuário
Use o utilitário prosodyctl para criar usuários:
1 |
sudo prosodyctl register <username> your_hostname <password> |
Reinicie os serviços do systemd para aplicar as alterações:
1 |
sudo systemctl restart jitsi-videobridge2 prosody jicofo |
Ao criar uma sala no Jitsi Meet, agora você precisará inserir seu nome de usuário e senha.
Etapa 7: Introdução ao Jitsi Meet
Após a conclusão da instalação, inicie um navegador da Web (por exemplo, Firefox, Chrome ou Safari) e digite o nome do host ou endereço IP na barra de endereços.
Se você usou um certificado autoassinado, seu navegador da Web solicitará que você confirme se confia no certificado. Se você se conectar ao Jitsi usando um aplicativo móvel iOS ou Android, a tentativa de conexão pode acabar com um erro de certificado autoassinado neste momento.
Você pode ver uma página da Web convidando você a iniciar uma nova reunião:
Certifique-se de que você pode criar uma reunião com êxito. Compartilhe o link, certifique-se de que outros membros possam entrar também e que todas as portas foram abertas corretamente.