Mumble — это приложение для передачи голоса по IP (VoIP), в первую очередь предназначенное для использования геймерами и похожее на такие программы, как TeamSpeak . [6]
Mumble использует архитектуру клиент-сервер , которая позволяет пользователям общаться друг с другом через один и тот же сервер. [7] Он имеет очень простой административный интерфейс, отличается высоким качеством звука и низкой задержкой . Все общение зашифровано. [8]
Mumble — это бесплатное программное обеспечение с открытым исходным кодом , кроссплатформенное и распространяемое на условиях лицензии BSD-3-Clause . [5]
Сервер Mumble (называемый Murmur ) имеет корневой канал и иерархическое дерево каналов под ним. Пользователи могут временно подключать каналы для создания более крупных виртуальных каналов. Это полезно во время крупных мероприятий, когда небольшая группа пользователей может общаться в чате в одном канале, но они подключены к общему каналу с другими пользователями, чтобы слышать объявления. Он также подходит для командных шутеров от первого лица (FPS). Каждый канал имеет связанный набор групп и списков управления доступом , которые контролируют разрешения пользователей. Система поддерживает множество сценариев использования за счет дополнительной сложности настройки. [9]
Mumble использует аудиокодек Opus с малой задержкой начиная с версии 1.2.4, [10] кодек, пришедший на смену предыдущим настройкам по умолчанию Speex и CELT . Эта и остальная часть конструкции Mumble обеспечивают коммуникацию с малой задержкой, что означает более короткую задержку между тем, когда что-то сказано на одном конце, и тем, когда это слышно на другом. Mumble также включает функцию эхоподавления , чтобы уменьшить эхо при использовании динамиков или звукового оборудования низкого качества.
Mumble подключается к серверу через канал управления TLS , при этом звук передается по UDP, зашифрованному с помощью AES в режиме OCB . [11] Начиная с версии 1.2.9 Mumble теперь предпочитает наборы шифров ECDHE + AES-GCM , если это возможно, обеспечивая идеальную прямую секретность. [12] Хотя аутентификация пользователей по паролю поддерживается, начиная с версии 1.2.0 от нее обычно отказываются в пользу строгой аутентификации в форме сертификатов открытых ключей. [13]
Имеется встроенное наложение для использования в полноэкранных приложениях. [8] Наложение показывает, кто говорит и на каком связанном канале он находится. Начиная с версии 1.0, пользователи могли загружать аватары, чтобы представлять себя на наложении, создавая более персонализированный опыт. Начиная с версии 1.2, наложение работает с большинством приложений Direct3D 9/10 и OpenGL в Windows и имеет поддержку OpenGL для Linux и Mac OS X. [14] Позже была добавлена поддержка приложений DirectX 11.
В некоторых играх Mumble изменяет звук, позиционируя голоса других игроков в соответствии с их относительным положением в игре. [8] Это включает в себя не только ощущение направления, но и расстояния.
Чтобы реализовать это, Mumble отправляет внутриигровую позицию каждого игрока игрокам в той же игре с каждым аудиопакетом. Mumble может собирать необходимую для этого информацию двумя способами: он либо считывает необходимую информацию непосредственно из памяти игры, либо игра сама предоставляет ее через так называемый интерфейс плагина ссылки.
Плагин link предоставляет играм возможность самостоятельно предоставлять информацию, необходимую для позиционного звука, включая небольшой фрагмент исходного кода, предоставленный проектом Mumble. [15] Несколько громких игр реализовали эту функциональность, включая многие игры на базе Source Engine от Valve ( Team Fortress 2 , Day of Defeat: Source , Counter-Strike: Source , Half-Life 2: Deathmatch ) [16] [ 17] и Guild Wars 2 . [18] [19]
Для Mumble доступны сторонние мобильные приложения, такие как Mumble для iOS, Plumble для Android (F-Droid, Google Play, примечание: выпуск прекращен в 2016 г.) и Mumla (F-Droid, Google Play).
Mumble вписывается в существующие технологические и социальные структуры. Таким образом, сервер полностью управляется удаленно через ZeroC Ice . [20] Можно манипулировать пользовательскими каналами, а также экземплярами виртуальных серверов. Проект предоставляет ряд примеров скриптов, иллюстрирующих возможности интерфейса [21] , а также готовые скрипты, предлагающие такие функции, как аутентификация пользователей с использованием существующей базы данных phpBB или Simple Machines Forum . [22] Сервер Murmur по умолчанию использует порты 64738 TCP и UDP . Номер порта относится к адресу функции сброса на Commodore 64 .
Альтернативная минималистская реализация mumble-сервера (Murmur) называется uMurmur. [23] Предназначен для установки на встраиваемые устройства с ограниченными ресурсами, такие как, например, бытовые шлюзы под управлением OpenWrt . [24]
Как и многие другие клиенты VoIP, серверы Mumble можно арендовать или разместить локально. Для локального размещения сервера Mumble необходимо загрузить Murmur (входит в качестве опции в установщик Mumble) и запустить его. Настройка сервера осуществляется путем редактирования файла конфигурации. Файл конфигурации содержит информацию об имени сервера, аутентификации пользователя, ограничениях качества звука и порте.
Для администрирования сервера изнутри требуется, чтобы пользователю были предоставлены права администратора, или это также можно сделать, войдя в учетную запись SuperUser. Администраторы сервера могут добавлять или редактировать комнаты, управлять пользователями и просматривать информацию о сервере.