Image

(마지막 변경: 21.09.2024)

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

이 가이드에서는 우리만의 인터넷 라디오를 만들어 Youtube나 Rutube(RTMP)에서 방송을 시작하고 배경 애니메이션을 추가하고 재생 목록을 준비하겠습니다. 이 가이드에서는 루트로 설치합니다. 일반 루트가 있으면 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://Address and key from the streaming platform via RTMP protocol"
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 명령:

Start

systemctl start radio1-liquidsoap

멈추다

systemctl stop radio1-liquidsoap

상태

systemctl status radio1-liquidsoap

라디오가 준비되었습니다. 설정을 시작하기 전에 비디오 예시에서 무슨 일이 일어났는지 확인할 수 있습니다. 이 프로토콜은 수많은 인기 서비스에서 지원됩니다.




No Comments Yet