网络电台管理套件AzuraCast
昨天杨浦又出现了疫情
所以本周筛查调整为了三次
本文完成于
4
月,等8
月份想起准备发布时才发现,由于版本的变更,原来的截图基本上都已不可用,相当于又重写了一遍,😂,至于为什么这么拖拉?老苏在文末会有交代。
什么是 AzuraCast ?
AzuraCast
是一个自托管的一体化网络广播管理套件。使用其简单的安装程序和强大而直观的网络界面,您可以在几分钟内启动一个完全正常工作的网络广播电台。AzuraCast
适用于所有类型和规模的网络广播电台,甚至可以在最实惠的VPS
网络主机上运行。AzuraCast
目前是测试版软件,支持Web
广播的两个黄金标准:IceCast(v2.4)
和ShoutCast(v2)
。
老苏个人觉得,AzuraCast
作为音频直播,可以搭一个,用来给家里的小朋友讲讲故事,或者播放背景音乐都是很不错的,当然这点功能用 Audiobookshelf
做点播也是可以的。
官网提供了演示:https://demo.azuracast.com/
- Username:
demo@azuracast.com
- Password:
demo
命令行安装
在群晖上以 Docker 方式安装。
如果你是以
root
或者具有root
权限的用户登录,可以不需要加前面的sudo
下载镜像
考虑到镜像比较大,而且镜像库不是我们常用的 dockerhub
,而是 ghcr.io
,所以老苏强烈建议你先下载好镜像,而不是通过脚本下载。
老苏用过多合一的镜像
ghcr.io/azuracast/azuracast:stable
,也用过单独的版本
需要注意的是,老苏下载的是稳定版(stable
),这个多合一容器中包含整个应用程序、数据库、缓存以及广播控件;
用 SSH
登录带群晖,通过命令行方式下载
1 | # 下载镜像 |
ghcr.io
的镜像如何下载,可以参考『 下一代协作型知识库AFFiNE 』的相关章节
最好是镜像下载成功了才开始执行下面的操作,当然这不是必须的,只是老苏的个人建议
下载脚本
SSH
客户端命令行中依次执行下面的命令
1 | # 新建文件夹 azuracast 和 子目录 |
如果不修改
stations
目录权限,在创建电台时,有可能会显示没有创建目录的权限
配置端口
接下来开始配置端口,我们打算用 2080(http)
、 2443(https)
、2022(sftp)
端口,如果你的这几个端口已使用,可以试试其他的端口
1 | # 查看端口占用 |
这一步会在当前目录生成 .env
文件,现在查看到的文件内容
指定目录
新建 docker-compose.override.yml
文件,内容如下:
1 | services: |
将其上传到 azuracast
目录
服务配置
1 | # 设置镜像的版本 |
- 需要选择版本,
Roling Release
或者Stable
,老苏输入了小写y
,选择了Stable
版本; - 选择了不更新脚本,输入了小写的
n
;
如果直接退出说明下载脚本遇到了问题,一般都是 curl
错误,例如:
curl: (35) Unknown SSL protocol error in connection to raw.githubusercontent.com:443
,curl: (28) Operation timed out after 300361 milliseconds with 0 out of 0 bytes received
如果你的网络支持科学上网,下面的内容可能会有帮助
1 | # 加入白名单 |
如果安装失败继续执行 sudo ./docker.sh install
但是需要注意版本的选择,这次
y
是选择Stable
版本,下一次则是N
才是Stable
版本,一定要看仔细
中间也会有 .FileNotFoundError
报错,但是程序如果可以继续执行的话,就可以不用管
选择语言 zh_CN
AzuraCast
安装都选择 no
有可能会遇到 AzuraCast.ERROR
但只要看到 Creating azuracast ... done
就成功了
除了下载了所需的镜像外,还生成了一些设置文件
如果环境稳定,也会帮你完成镜像的安装,如果一切正常,你可以跳到
运行
章节,否则的话,请继续往下看
编辑环境
用 vi
编辑 .env
文件,启用下面的内容
需要注意,现在的
.env
文件和开始的.env
文件不同,增加了大量中文的注释
1 | AZURACAST_PUID=1000 |
如果你不习惯 vi
编辑器,可以在 File Station
中,将 .env
重命名为 .env.txt
然后再编辑,记得完成后重命名为 .env
一键启动
需要先停止然后再启动,以便后面修改的内容生效
1 | # 一键停止 |
如果反复启动都存在问题,建议用 sudo docker-compose down -v
清除干净再启动
运行
在浏览器中输入 http://群晖IP:2080
就能看到注册管理员用户界面
软件会自动显示中文,不需要另外设置
只有都符合要求时,才会出现 创建账号
按钮
登录后进入设置向导,带星号的是必填的,【个人资料】中,老苏就改了下面两项,其他的都是用的默认值,请根据自己的需要设置
- 名称:例如
laosu radio
; - 时区:选
Asia/Shanghai(UTC+8)
;
【自动DJ】中,老苏勾选了 允许歌曲请求
最后是一些系统设置
- 网站基础网址:例如:
http://群晖IP:2080
- 保留的播放历史记录天数:选了
最近 14 天
- 如果你使用了反代,一定要勾选
使用网络代理进行广播
设置完成
上传 音乐文件
勾选所有上传的文件
保存为播放列表
只有将音乐添加到播放列表中才能流式传输
开始电台,来启动广播服务和 AutoDJ
服务
点 开始电台
按钮
在 公开页面
中就能看到了并进行收听了
当然,AzuraCast
的功能远不止这些,有兴趣可以深入研究。
遗留问题
老苏在 PC
浏览器中没有声音(试过 chrome
、safari
、Edge
),浏览器中显示有声音,但是听不到,也尝试过启用 Enable HTTP Live Streaming (HLS)
,结果时一样的
但是在手机浏览器中则正常(试过小米浏览器和 Edge
,不过音量偏小),实在有些不解,这也是为什么从 4
月份拖到现在的主要原因。
次要原因了么是 AzuraCast
的安装过程中对网络有较高的要求,如果没有稳定的科学上网环境,会让原本简单的安装变得繁琐且易出错。
参考文档
AzuraCast/AzuraCast: A self-hosted web radio management suite, including turnkey installer tools for the full radio software stack and a modern, easy-to-use web app to manage your stations.
地址:https://github.com/AzuraCast/AzuraCastInstalling AzuraCast on a Synology NAS | AzuraCast Docs
地址:https://docs.azuracast.com/en/getting-started/installation/synologyHelp with installing Azuracast on Synology Docker · Issue #3407 · AzuraCast/AzuraCast
地址:https://github.com/AzuraCast/AzuraCast/issues/3407配置 HTTPS 的公共站点上没有声音 · 问题 #1786 · AzuraCast/AzuraCast
地址:https://github.com/AzuraCast/AzuraCast/issues/1786