所有分类
  • 所有分类
  • 音乐
  • 照片
  • 新直播
  • 自留地
  • 视频
  • 喜瑞斯

一个陈一发儿音乐电台

http的mp3流媒体链接,基本就是生成一个流媒体链接,然后套各种播放器的壳打开,原理都一样

播放器版,可能要缓冲一会儿才能打开

 

电台的流媒体链接

https://radio.chatcyf.com/chenyifaer.mp3

 

一个陈一发儿电台单页面的播放器

https://www.chatcyf.com/static/radio/

 

以及陈一发儿直播的纯音频转播

地址:https://www.chatcyf.com/live/

 

前些日子想搞个网络版的陈一发儿电台,大概内容就是把读邮件,唱歌,以及精彩的闲聊部分,用纯音频的方式,随机播放推流出去。

说白了,就是个没有画面的网络直播,因为实体FM电台搭建需要各种广播设备,当然还有执照什么的,所以只能搞个网络版的玩玩。

到这里,可能就有人会问,那这个和下载到手机中的mp3音乐有什么区别?

手机中的mp3属于点播性质,就是想听什么就可以点什么听,而这种电台版,讲究的就是一个随缘,我这边随机推流到什么,接收端就只能跟着听什么。

比较适合开车的时候听,至于怎么在车上播放,也是得用手机播放,然后靠蓝牙或者DLNA什么的发送到车上听吧。

毕竟都说在电台中听到的歌比手机手动点播的更好听嘛,未知才有惊喜~

 

至于这玩意还可以干什么,比如这个html5的分享代码,以及成果

成品演示可以看网站首页的播放器模块

代码

<!-- require APlayer -->
<link rel="stylesheet" href="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/APlayer.min.css">
<script src="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/APlayer.min.js"></script>
<!-- require MetingJS -->
<script src="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/Meting.min.js"></script>

<meting-js
	name="陈一发儿电台"
	artist="ChatCYF"
	url="https://radio.chatcyf.com/chenyifaer.mp3"
	cover="https://cdn.chatcyf.com/static/2020/05/1589799830-55c03779d7d1f15.jpg">
</meting-js>

 

又新增了直播转播音频版,效果看上面,这里分享两个音频直播间的html的代码

<!-- require APlayer -->
<link rel="stylesheet" href="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/APlayer.min.css">
<script src="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/APlayer.min.js"></script>
<!-- require MetingJS -->
<script src="https://cdn.chatcyf.com/static/jsdelivr/APlayer/dist/Meting.min.js"></script>

<meting-js
	name="陈一发儿直播音频"
	artist="ChatCYF"
	url="https://radio.chatcyf.com/chatcyf.mp3"
	cover="https://cdn.chatcyf.com/static/2020/05/1589799830-55c03779d7d1f15.jpg">
</meting-js>

 

又或者在欧洲卡车模拟2,或者美国卡车模拟这种游戏里面,可以自定义添加电台

那么也就是说,手动添加完了以后,就可以一边在游戏中开车一边听发酱电台了

使用记事本编辑 我的文档/Euro Truck Simulator 2 文件夹中的 live_streams.sii,按格式添加或者替换

 stream_data[0]: "https://radio.chatcyf.com/chenyifaer.mp3|Chenyifaer|Sim radio|CN|128|0"

游戏内效果这样

 

分享一下搭建的制作流程

买个vps,最好流量大点,用debian或者ubuntu系统,直接这个代码安装

sudo apt-get install icecast2

之后去编辑 /etc/icecast2/icecast.xml

修改你的用户名,密码,端口,等等各种配置,最后记得重启服务

systemctl start icecast2
systemctl restart icecast2

最后nginx添加域名,反代理就行了

更多设置的细节部分点这里:https://www.mfpud.com/topics/12913/

 

接下来说推流部分

使用ubuntu或者debian之类的系统,使用docker,以及搭配 liquidsoap 进行推流到 icecast

比如 mp3 的文件目录是 /www/wwwroot/67373.chatcyf.com

liquidsoap 的目录是 /home/Liquidsoap

先去新建 /home/Liquidsoap 目录,新建一个 radio.liq 文件,内容是

# 将日志输出到控制台,方便在 Docker 中查看
settings.log.stdout.set(true)

# 创建播放列表:
# 1. 目录指定为容器内的 /music(稍后会用 docker 挂载)
# 2. mode="random" 表示随机播放
# 3. reload_mode="watch" 表示监控文件夹,如果你增删了 mp3,它会自动更新列表
music = playlist(mode="random", reload_mode="watch", "/music")

# mksafe 的作用是防止意外断流。如果歌单突然为空,它会推流静音而不是直接断开连接
radio = mksafe(music)

# 将音频流推送到 Icecast 服务器
output.icecast(
  %mp3,                  # 推流格式为 mp3
  host = "8.8.8.8",      # 服务器 IP
  port = 1354,           # 端口
  user = "chatcyf",       # 默认推流用户名
  password = "chenyifaer", # 你的推流密码
  mount = "/chenyifaer.mp3", # 挂载点
  name = "Chenyifaer Radio",
  description = "Chenyifaer Radio",
  radio
)

终端执行

docker run -d \
  --name liquidsoap \
  --restart always \
  -v /www/wwwroot/67373.chatcyf.com:/music:ro \
  -v /root/radio/radio.liq:/etc/liquidsoap/radio.liq:ro \
  savonet/liquidsoap:v2.4.5 \
  /etc/liquidsoap/radio.liq

 

以及在群晖NAS里面,使用虚拟机装了个windows7系统的方案。

安装个音乐播放器,随机播放添加的音频文件,然后使用 butt 这个软件推流到服务器。

不过群晖的虚拟机安装系统后没有声卡驱动,所以找了个虚拟声卡软件,Voicemeeter,这个软件本来是虚拟音频调音台软件,这里只用它虚拟声卡的功能。

推流界面大概这样子

7
没有账号?注册  忘记密码?

社交账号快速登录