jamulus是一个实现远程低延迟语音的工具。jam是指几种乐器即兴合奏,可以是表演,也可以是乐手之间自娱自乐,jamulus自然是一个以这个为目的的工具。
编译
首先看到大大的 Jamulus.pro
就知道,这玩意是个 qmake
项目。
gentoo明面上是调不到qmake,结果找半天才发现在 /usr/lib64/qt/bin
这个地方
qmake
然后 make
就完事了
运行
./Jamulus
就行了,会运行一个小小的客户端。
./Jamulus -s
会运行服务器。
运行依赖于jack系统,所以需要jack服务运行。
这客户端太小了,只有有限的几个功能。服务器稍微好点,好不到哪去。
代码
整体只有5000行头文件和15000行代码,挺小的,包括了服务器和qt客户端,好像这个没什么复杂的。
所有代码都在 src
文件夹里。 libs
里放着两个三方库 opus
和 ~oboe~。
这个软件真的就光录音和转发,其他功能特别有限,和c++实现有关。一个文件是一个系统的adapter,基本就是闭着眼睛用,设置也挺少的,而且很傻瓜。
音频输入,音频流转发,服务发现,房间系统,界面和多语言。基本就这几样了。