首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NAS玩出花儿~Docker搭建一个专属广播电台?!

厌倦了千篇一律的流媒体服务?想要一个只播放你喜欢的音乐、只属于你和朋友的小众电台?那么你一定不能错过 Airstation —— 一个优雅、轻量、纯净的在线电台自托管方案。

本文将带你从 0 到 1,完整部署这个支持 HLS 流媒体、FFmpeg 转码、Docker 一键部署的开源神器。无论你是 NAS 玩家、家庭媒体中心爱好者,还是想玩点“音乐黑科技”的工程宅——你都能轻松拥有属于自己的网络广播站。

关于Airstation

Your own online radio station.

Airstation 是一个自托管的在线电台(流媒体音频服务) 项目,适合家庭NAS音乐播放、私人播客发布、团队内部广播、户外活动播音或远程音乐分享等多种场景,帮助你快速搭建属于自己的专属音频广播站。

支持通过 Web 上传音乐

提供播放队列管理和极简的听众播放界面

使用 HLS (HTTP Live Streaming) 协议进行音频流传输

数据存储使用 SQLite

后端音频处理使用 FFmpeg

支持 Docker 一键部署

可部署为私人的广播站 / 在线音乐库

部署流程

本文以威联通NAS为部署演示平台,通过Docker Compose进行部署。

部署代码如下:

version: '3' # 最新版Docker Compose删除该行services: airstation:   image: cheatsnake/airstation:latest   container_name: airstation   ports:     - "7331:7331" # 冒号左侧端口可自定义   volumes:     - /share/Container/airstation/database:/app/storage # 数据库相关     - /share/Container/airstation/static:/app/static # 音乐文件等的存储位置   environment:     - AIRSTATION_SECRET_KEY=ydxian666 # 控制面板登陆密码,别设置太短否则启动不成功     - AIRSTATION_JWT_SIGN=pMH51SoPKtJE6K0DQluq # 签发 JWT 会话令牌的密钥,这个自己去生成   restart: always# docker容器健康检查,我一般会选择删除该部分   healthcheck:     test: ["CMD", "wget", "--spider", "-q", "http://localhost:7331/"]     interval: 10s     timeout: 5s     retries: 3     start_period: 10s

关于文件映射目录,冒号左侧大家根据实际情况进行替换。

关于环境变量- AIRSTATION_JWT_SIGN,可以用以前介绍的工具合集IT-TOOLS生成,也可通过openssl rand -base64 32命令来生成。

将代码修改完毕后,打开威联通的Docker管理工具Container Station,创建新的应用程序。将代码复制粘贴进框内,一定注意格式对齐!检查无误后进行创建,如下图所示。

这里也附带上 docker run 命令吧:

docker run -d \--name airstation \-p 7331:7331 \-v /share/Container/airstation/database:/app/storage \-v /share/Container/airstation/static:/app/static \-e AIRSTATION_SECRET_KEY=ydxian666 \-e AIRSTATION_JWT_SIGN=pMH51SoPKtJE6K0DQluq \--restart=always \ cheatsnake/airstation:latest

使用介绍

若按上文代码部署完毕,即可浏览器打开项目。

要注意的是Airstation具备两个访问界面。

第一个是管理员专属的控制面板,浏览器输入NAS_IP:7331/studio/,注意最后这个斜杠一定不要省略,这非常重要!!!下图可以看到我反代之后访问控制面板也是如此。

第二个界面就是普通的用户界面,输入NAS_IP:7331或者反代后的域名即可。

要想放歌,需要进入控制面板中。

面板很简单,很纯粹,截图如下。并且要注意的的是,顶部进度条有播放进度时才会生效,在第二用户界面用户才可选择播放。

图标表示当前在线人数,因为我要做测试,Safari和Chrome各打开一个网址,因此显示俩人。

右侧的曲库我们可以直接关联已有的曲库,也可后期点击Add添加,实际上传目录是位于/share/Container/airstation/static/track下。Delete为删除。

选中列表中的歌曲,并点击Queue即可添加到左侧的播放列表。

播放列表可以点击骰子随机打乱播放顺序,点击Clera会清空播放列表,但对基础文件并无影响。

还有一些注意事项:

播放界面不显示歌词、歌手。第二界面默认是暂停,需要手动点击才会播放;。不支持进度条拖动,播放进度同咱们在直播平台看直播一样(暂停不能保存进度)。

最后

新项目,大家可以去提提建议等参与下。

差不多就这些,感兴趣的可以自建个用用看~

感谢观看,本文完。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oc1arN9jcCEzJANDD9kRzizg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券