Pages

Saturday, 25 April 2020

Mumble是一款开源,低延迟,高音质,强加密的语音聊天软件


先来说说 Mumble 是个什么东西,通俗的讲就是 YY 的简洁版,为什么这么说,因为 Mumble 只有语音,没有什么广告,没有什么美女主播.
—— FRT Fuxi Legion Gitbook, 2019

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

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

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

除了加密方面,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。仓库地址:
https://github.com/mumble-voip/mumble

git clone git://github.com/mumble-voip/mumble.git mumble
cd mumble
git submodule update --init
然后确保切换到当前开发分支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 表示只构建服务端 murmur,CONFIG+=optimize 表示构建针对目前服务器环境高度优化的版本。(编译的好处)

编译完成之后,我们就能在 release/ 中找到构建好的 murmurd 二进制程序啦。
执行 release/murmurd -version
输出:
2019-10-24 03:49:34.936 release/murmurd -- Compiled by User
即确认构建成功。

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

No comments:

Post a Comment