MENU

开源 VoIP 解决方案 — Mumble 编译安装教程

2019 年 10 月 24 日 • 技术阅读设置

Mumble 是一款开源,低延迟,高音质,强加密的语音聊天软件,主要用于开黑(?)交流。(或者一些申必的黑暗聊天)

先来说说 Mumble 是个什么东西,通俗的讲就是 YY 的简洁版,为什么这么说,因为 Mumble 只有语音,没有什么广告,没有什么美女主播,没有什么吃鸡战队巴拉巴拉……

—— FRT Fuxi Legion Gitbook, 2019

如果只觉得就是个自建 yy 的话…… Mumble 客户端与服务器之间的整个通信始终是强制加密的,无法禁用。其协议控制通道默认使用 256 位 AES-SHA 进行 TLS 加密,承载语音和位置音频的语音通道默认使用 OCB-AES 128 位加密。连接使用数字证书相互认证,就像浏览器中的 https 连接一样。

(非常适合安全的搞事情)

(粉碎棱镜!保护你自己的安全、隐私和自由!让我们逃离所有类似于棱镜计划、XKeyscore 和时代计划的全球信息监控项目!)(Anankke 错乱)

除了加密方面,Mumble 另一个优点是低延迟高音质,不仅使用了语音压缩,还使用 OPUS、CELT 和 Speex,还使用语音预处理来消除噪声并提高清晰度。 Mumble 还为支持的游戏提供了位置音频,这意味着其他玩家的声音将来自其角色在游戏中所处的方向。(当然坏处就是对网络质量要求非常非常高,稍有颠簸丢包就会导致掉线重连)

虽然大部分时候,主流的 Linux 发行版的包管理器都可以直接安装 murmur 服务端,也就是 mumble-server,但是因为版本更新不及时或者性能/网络需求等原因,某些时候 Anankke 可能需要编译安装 Mumble 服务器。

在 Debian 9 发行版编译安装 Mumble 服务器

准备工作

Mumble 依赖于 Qt,我们需要先安装依赖和编译工具。

apt-get install build-essential pkg-config qt5-default qttools5-dev-tools libqt5svg5-dev \
                libboost-dev libasound2-dev libssl-dev \
                libspeechd-dev libzeroc-ice-dev libpulse-dev \
                libcap-dev libprotobuf-dev protobuf-compiler \
                libogg-dev libavahi-compat-libdnssd-dev libsndfile1-dev \
                libg15daemon-client-dev libxi-dev

获取源码

获取 Mumble 源码的最好方法是使用 Git。Mumble 开源在 Github。仓库地址

首先你要确保安装了 git

apt-get install git

然后克隆源码,并初始化子模块。

git clone git://github.com/mumble-voip/mumble.git mumble
cd mumble
git submodule init
git submodule update

然后确保切换到当前开发分支 master

git checkout --track -b master origin/master

编译安装 Murmur

首先安装 Qt Creator, Qt5 和 protobuf 编译器。

apt-get install qtcreator

然后进行构建。

qmake -recursive main.pro CONFIG+=no-client CONFIG+=optimize
make release

CONFIG+=no-client 表示只构建服务端 murmurCONFIG+=optimize 表示构建针对目前服务器环境高度优化的版本。(编译的好处)

编译完成之后,我们就能在 release/ 中找到构建好的 murmurd 二进制程序啦。

执行 release/murmurd -version

输出:

<F>2019-10-24 03:49:34.936 release/murmurd -- Compiled by User

即确认构建成功。

这个时候安装就完成了,可以使用软连接安装到 path 中。