Image

(最后一次变更: 23.04.2024)

Debian 12 Linux Radio stream (rtmp) (Opam, gd, ffmpeg, Liquidsoap)

在本指南中,我们将创建自己的网络广播并开始在 Youtube 或 Rutube (RTMP) 上广播,添加背景动画并准备播放列表。 在本指南中,我们以 root 身份安装,如果您有普通用户,请使用 sudo 命令。

您可以在 VPS 服务器订单上订购具有此配置的现成服务器。


最常见的问题:

  • 我们希望所有数据都在我们身边。 你们能对我们的设备进行所有这些调整吗?

    是的,您可以通过以下命令在您的设备上订购此配置的安装和配置 关联.


此配置结果的片段:



1. 安装必要的软件包:

apt update
apt upgrade
apt-get install libfreetype6-dev
apt-get install opam
opam init

eval $(opam env)

opam switch create cs3110-2022fa ocaml-base-compiler.4.14.0

eval $(opam env)

opam depext gd ffmpeg liquidsoap
opam install gd ffmpeg liquidsoap

eval $(opam env)

2. 创建音乐、背景视频文件夹:

mkdir /home/radio
mkdir /home/radio/music

3. 让我们为广播电台本身创建一个配置文件:

nano /home/radio/radio1.liq

# permission to run the script from the root user
settings.init.allow_root.set(true)

# metadata functions
song_author = ref('')
def apply_song(m) =
song_author := m["artist"]
end

song_title = ref('')
def apply_song2(m) =
song_title := m["title"]
end

def get_track_name_text()
"$(artist) - $(title)" % [
("artist", song_author()),
("title", song_title())
]
end

# audio source
audio = playlist(reload_mode="watch", "/home/radio/music")
audio = mksafe(audio)

# video source (gif, mp4)
background = single("/home/radio/background.gif")

# add logo
background = video.add_image(x=1120, y=20, width=153, height=56, file="/home/radio/logo.png", background)

# calling metadata
audio.on_track(apply_song)
audio.on_track(apply_song2)

# drawtext
background = video.add_text(color=0xFFFFFF, font="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", speed=0, x=50, y=50, size=26,
get_track_name_text,
background)

# mixing sources
radio = mux_video(video=background, audio)

#rtmp+codec
url = "rtmp://通过 RTMP 协议来自流媒体平台的地址和密钥"
enc = %ffmpeg(format="flv",
%video(codec="libx264", width=1280, height=720, pixel_format="yuv420p",
b="750k", maxrate="750k", minrate="750k", bufsize="1500k", profile="Main", preset="veryfast", framerate=30, g=60),
%audio(codec="aac", samplerate=44100, b="128k"))

# output
output.url(fallible=true, url=url, enc, radio)

3.1 根据您要广播的服务指定 URL 变量:

Youtube

url = "rtmp://a.rtmp.youtube.com/live2/由 YouTube 生成的密钥"
Rutube

url = "rtmp://rtmp-1.brz.rutube.ru/live_push/由 Rutube 生成的密钥"
VK

url = "rtmp://ovsu.mycdn.me/input/VK生成的密钥"

3.2 检查配置文件中音乐文件夹的路径是否正确,并将音乐文件放在那里,reload_mode =“watch”选项表示一旦文件夹中出现新文件,它将立即添加到播放队列中。

audio = playlist(reload_mode="watch", "/home/radio/music")

3.3 指定播放视频背景的正确路径:

background = single("/home/radio/background.gif")

它可以是静态png、jpg图片或视频动画gif、mp4。 背景动画文件是循环播放的。

3.4 指定频道徽标文件的正确路径:

background = video.add_image(x=1120, y=20, width=153, height=56, file="/home/radio/logo.png", background)

根据需要编辑大小和位置。

4. 启动收音机并检查操作:

cd /home/radio
liquidsoap radio1.liq

将出现处理日志,如果没有错误,则翻译成功,请转到您创建它的页面并检查工作。

4.1 Создание и авто-запуск службы:

cd /home
apt install git
git clone https://github.com/savonet/liquidsoap-daemon.git
cd /home/liquidsoap-daemon
./daemonize-liquidsoap.sh /home/radio/radio1.liq

4.2 团队:

发射

systemctl start radio1-liquidsoap

停止

systemctl stop radio1-liquidsoap

地位

systemctl status radio1-liquidsoap

我们的收音机已准备就绪,您可以在开始设置之前查看视频示例中发生的情况。 该协议得到大量流行服务的支持。




暂时没有评论