Steins;Lab

  • 项目
  • 折腾
  • 笔记
  • 图册
  • 杂谈
  • 文章索引 - 博主自荐博文
  • 关于/留言
Steins;Lab
某团的自留研究所
  1. 首页
  2. 折腾
  3. 正文

搭建 Jamulus 服务器实现乐队在线排练

2024年9月25日 1227点热度 1人点赞 0条评论

最近和伙伴一起调研并试用了 Jamulus,体验丝滑。从此足不出户,就可以一起写段子、Jam 和排练了。

Jamulus 介绍

Jamulus 让您的朋友、乐队或您在网上找到的任何人一起演奏、排练或即兴演奏。用普通宽带连接上提供高品质、低延迟的声音,可以轻松地远程及时地一起演奏。

  • 项目地址: https://jamulus.io/
  • 源码: https://github.com/jamulussoftware/jamulus

Jamulus 附带了一个类似 “大厅” 的目录服务器,甚至可以根据流派找到公共服务器,加入并和陌生人一起 jam。

最主要的是,Jamulus 是 GPL 许可的开放软件!怎么会有人不喜欢 self-hosted 的服务呢。

本文主要是介绍私有服务器的搭建方式和体验分享。

服务端搭建

Jamulus 提供了 Windows、Linux、MacOS 的支持。为了保证远距离的朋友每个人都能开心低延迟地 jam,笔者建议搭建公网服务器。

经过笔者试用,随意选择公有云的最低实例机器即可。最重要的是,服务器要距离每个乐手尽量近。

无 GUI 的安装过程主要主要参考 https://jamulus.io/zh-CN/wiki/Running-a-Server。

本文以 Debian/Ubuntu 发行版为例

1 下载脚本

 curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh

2 给与可执行权限

 chmod +x setup_repo.sh

3 运行脚本安装服务器

 sudo ./setup_repo.sh && sudo apt install jamulus-headless

4 启用服务

 sudo systemctl enable jamulus-headless

5 编辑启动选项

 sudo systemctl edit --full jamulus-headless

完整的启动命令参考
Jamulus 启动参数

笔者的启动参数如下

root@iZbp16e6r7t8sikqsh1trpZ:~# cat /etc/systemd/system/jamulus-headless.service 
[Unit]
Description=Jamulus headless server
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
User=jamulus
Group=nogroup
NoNewPrivileges=true
ProtectSystem=true
ProtectHome=true
Nice=-20
IOSchedulingClass=realtime
IOSchedulingPriority=0

#### Change this to publish this server, set genre, location and other parameters.
#### See https://jamulus.io/wiki/Command-Line-Options ####
ExecStart=/bin/sh -c 'exec /usr/bin/jamulus-headless -s -n -f -T'

Restart=on-failure
RestartSec=30
StandardOutput=journal
StandardError=inherit
SyslogIdentifier=jamulus

[Install]
WantedBy=multi-user.target

备注: 在默认基础上增加了

  • -F 启动小型网络缓冲区
  • -T 启用多线程支持

有兴趣的读者可以研究下,甚至可以自动录音、配置 html 格式的欢迎公告等。

注意:如果你使用的是公有云,记得开放 UDP 端口 22124。

6 重新加载 systemd 并启动服务器

 sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless

接入设备

笔者使用的是 Windows 平台客户端。理论上本地的 asio 设备都可以接入。需要注意的是,笔者发现只能接入 48Khz 采样率的 asio 驱动。强行 44.1Khz 转 48Khz 可能导致缓冲区变大,声音延迟。

如果你有附带 asio 驱动的声卡是最好不过的。否则可能需要 asio4all 或者 FlexASIO 等通用 asio 设备。

笔者使用的是 Focusrite 2i2 Gen3,是完全没有问题的。

Focusrite 的声卡在海鲜市场上保有量巨大,价格非常实惠。

实际体验

Jamulus 运行的非常丝滑。为了延迟,音质码率可能不会太高。笔者和服务器的 Ping 为 30ms,在 Jamulus 监听自己声音延迟为 50ms,是完全可以接受的,几乎感受不到延迟。

笔者的开放了位于杭州的公益服务器给大家使用,希望您和伙伴能一起玩得开心。

相关

标签: 暂无
最后更新:2024年9月25日

SPtuan

SPtuan 是一名普通的工程师,最大的愿望是度过平静的时光。 当前从事网络/CDN/对象存储研发。

点赞
< 上一篇
0 0 votes
文章评分
Subscribe
Login
提醒
guest

guest

0 评论
最新
最旧 得票最多
Inline Feedbacks
View all comments

SPtuan

SPtuan 是一名普通的工程师,最大的愿望是度过平静的时光。
当前从事网络/CDN/对象存储研发。

  • Jamulus 介绍
  • 服务端搭建
  • 接入设备
  • 实际体验
分类
  • Uncategorized
  • 图册
  • 学习笔记
  • 库
  • 折腾
  • 杂谈
  • 瞎**扯
  • 碎碎念
  • 项目跟踪
最近评论
SPtuan 发布于 2 个月前(03月22日) 书签: 关于 disk-io 的经验, 异步/同步 io 系统设计的经验 https://you...
SPtuan 发布于 2 个月前(03月21日) 如果公司不是对外提供这些服务的,这种岗位都是 infra 部门,平均年龄确实会大一些。尤其构建和维护...
HUA 发布于 2 个月前(03月19日) 想请问博主对于国内CDN行业,以及CDN调度、DNS托管类服务相关岗位的看法,以及是否还推荐校招新人...
SPtuan 发布于 3 个月前(02月03日) 2025 注: 长辈对于只身去深圳的担忧,更多地来自于 80s/90s 治安情况。近几年了解了严打...
SPtuan 发布于 4 个月前(01月16日) 哈哈,100就100吧,新年快乐!
热门主题 & 页面
  • 全球互联网拓扑探索 (1) : 互联网是如何工作的
  • PYNQ上手体验:以目标检测应用为例
  • 动手做!基于nRF24L01P的Arduino无线通信
  • [实验]VPS搭建ss服务中转实现纯ipv6访问网络-校园网免流量
  • Intel Movidius Neural Compute Stick - 英特尔Movidius神经计算棒上手体验
归档
  • 2025 年 5 月
  • 2025 年 3 月
  • 2024 年 12 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 5 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 4 月
  • 2023 年 1 月
  • 2022 年 12 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 2 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 2 月
  • 2021 年 1 月
  • 2020 年 9 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 1 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 5 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2019 年 2 月
  • 2018 年 12 月
  • 2018 年 10 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 5 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 11 月
  • 2017 年 9 月
  • 2017 年 7 月
  • 2017 年 6 月
  • 2017 年 5 月
  • 2017 年 4 月
  • 2017 年 3 月
  • 2017 年 2 月
  • 2017 年 1 月
  • 2016 年 12 月
  • 2016 年 11 月
  • 2016 年 10 月
  • 2016 年 9 月
  • 2016 年 8 月
  • 2016 年 7 月
  • 2016 年 6 月
  • 2016 年 5 月
  • 2016 年 4 月
  • 2016 年 3 月
  • 2016 年 2 月
  • 2016 年 1 月
  • 2015 年 12 月
  • 2015 年 11 月
  • 2015 年 9 月

友情链接:

Blessing Studio hahaschool 绘枫和畅 魔法少女Fandy monsterx Clarke的博客 Luminous’ Home Shintaku's Blog
蓝黑的博客 haruhi.club Yida的博客 Bo2SS 涛叔 TangBao 同和君Hocassian

Steins;Lab 团子神社 zdfmc.net

steinslab.io built with ❤. Thanks for all 2015-2025.

Theme Kratos Made By Seaton Jiang

wpDiscuz