Após mais de dois anos de desenvolvimento, foi lançado o Mumble 1.4, uma plataforma voltada para a criação de chats de voz que garantem baixa latência e alta qualidade de transmissão de voz. A principal área de aplicação do Mumble é organizar a comunicação entre jogadores durante a jogabilidade. O código do projeto é escrito em C++ e é distribuído sob a licença BSD. Compilações estão disponíveis para Linux, Windows e macOS.
O projeto consiste em dois módulos — o cliente Mumble e o servidor Murmur. A interface gráfica é baseada em Qt. Para a transmissão de informações de áudio, é utilizado o codec Opus. Uma flexível sistema de controle de acesso é fornecido, por exemplo, é possível criar chats de voz para vários grupos isolados, permitindo a comunicação separada entre os líderes de todos os grupos. Os dados são transmitidos apenas por canais de comunicação criptografados, e a autenticação padrão utiliza chave pública.
Ao contrário dos serviços centralizados, o Mumble permite que os dados dos usuários sejam armazenados em seus próprios servidores, proporcionando controle total sobre a infraestrutura, com a possibilidade de conectar scripts processadores adicionais. Um API especial, baseado nos protocolos Ice e GRPC, está disponível para a criação desses scripts. Também é possível utilizar bancos de dados de usuários existentes para autenticação ou conectar bots de áudio que, por exemplo, podem tocar música. O servidor pode ser gerido através de uma interface web. Os usuários têm acesso a funções de busca de amigos em diferentes servidores.
Dentre as aplicações adicionais, destaca-se a gravação de podcasts colaborativos e o suporte a som direcional em jogos (a fonte de som está ligada ao jogador e vem de sua localização no espaço do jogo), incluindo jogos com centenas de participantes (por exemplo, o Mumble é usado em comunidades de jogadores em Eve Online e Team Fortress 2). Nos jogos, também é suportado o modo overlay, que permite que o usuário veja com qual jogador está conversando e confira o FPS e a hora local.
Principais novidades:
- Foi implementada a possibilidade de desenvolvimento de plugins de uso geral, que podem ser instalados e atualizados independentemente do aplicativo principal. Ao contrário dos plugins embutidos anteriormente fornecidos, o novo mecanismo pode ser aplicado para a implementação de complementos arbitrários e não está limitado aos meios para extrair informações sobre a localização do jogador para a implementação de som posicional.
- Adicionado um diálogo completo de busca de usuários e canais disponíveis em servidor. O diálogo pode ser acionado através da combinação Ctrl+F ou pelo menu. Suporta tanto a busca por máscara quanto o uso de expressões regulares.

- Adicionado um modo de escuta de canal, permitindo que o usuário ouça todos os sons que os participantes do canal ouvem, mas sem se conectar diretamente ao canal. Nesse caso, os usuários ouvintes são refletidos na lista de participantes do canal, mas marcados com um ícone especial (apenas em novas versões, em clientes antigos, esses usuários não são exibidos). O modo é unidirecional, ou seja, se o usuário ouvinte desejar se manifestar, ele precisará se conectar ao canal. Para os administradores do canal, são fornecidos ACLs e configurações para proibir a conexão no modo de escuta.

- Foi adicionado a interface TalkingUI, permitindo entender quem está falando no momento. A interface fornece uma janela pop-up com uma lista dos usuários que estão falando no momento, funcionando como uma dica de ferramenta no modo de jogo, mas destinada ao uso cotidiano por não jogadores.

- Foram adicionados indicadores de restrição de acesso à interface, permitindo entender se o usuário conseguirá se conectar ao canal ou não (por exemplo, se o canal só permite acesso por senha ou está vinculado a um grupo específico no servidor).

- Foi implementado suporte a Markdown em mensagens de texto, que por exemplo, pode ser usado para enviar listas no chat, trechos de código, citações, destacar partes do texto em negrito ou itálico, e formatar links.
- Foi adicionada a possibilidade de reprodução de som estéreo, permitindo servidor envia um fluxo de áudio em modo estéreo, que não será convertido pelo cliente para mono. Essa funcionalidade pode ser utilizada, por exemplo, para criar bots musicais. O envio de áudio do cliente oficial ainda é possível apenas em modo mono.
- Adicionada a capacidade de atribuir apelidos aos usuários, permitindo vincular um nome mais compreensível a usuários que abusam de nomes muito longos ou mudam frequentemente de nome. Os nomes atribuídos podem ser exibidos na lista de participantes como etiquetas adicionais ou substituir completamente o nome original. Os apelidos são vinculados aos certificados do usuário, não dependem do servidor selecionado e não mudam após a reinicialização.

- O servidor recebeu a funcionalidade de enviar um texto de boas-vindas em modo de transmissão usando o protocolo Ice. Adicionada a suporte ao registro no log de ACL e todas as mudanças nos grupos. Adicionadas ACLs separadas para gerenciar o reset de comentários e avatares. Por padrão, o uso de espaços nos nomes de usuários é permitido. A carga no CPU foi reduzida com a inclusão, por padrão, do modo TCP_NODELAY.
- Plugins adicionados para suporte ao som posicional no jogo Among Us e em jogos aleatórios baseados na engine Source. Plugins atualizados para os jogos Call of Duty 2 e GTA V.
- O codec de áudio Opus foi atualizado para a versão 1.3.1.
- Removido suporte ao Qt4, DirectSound e CELT 0.11.0. Removido o tema clássico.


Fonte: opennet.ru





