Image

(अंतिम परिवर्तन: 04.05.2024)

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

इस गाइड में, हम अपना खुद का इंटरनेट रेडियो बनाएंगे और इसे Youtube या Rutube (RTMP) पर प्रसारित करना शुरू करेंगे, बैकग्राउंड एनीमेशन जोड़ेंगे और एक प्लेलिस्ट तैयार करेंगे। इस गाइड में, हम रूट उपयोगकर्ता के रूप में इंस्टॉल कर रहे हैं, यदि आप एक सामान्य उपयोगकर्ता हैं, तो sudo कमांड का उपयोग करें।

आप वीपीएस सर्वर ऑर्डर फॉर्म पर इस कॉन्फ़िगरेशन के साथ एक तैयार सर्वर ऑर्डर कर सकते हैं।


सबसे अक्सर पूछे जाने वाले प्रश्न:

  • हम चाहते हैं कि सारा डेटा हमारे पास रहे। क्या आप यह सारा सेटअप हमारे उपकरण पर कर सकते हैं?

    हां, आप अपने उपकरण पर इस कॉन्फ़िगरेशन की स्थापना और कॉन्फ़िगरेशनlink.


इस कॉन्फ़िगरेशन के परिणाम का अंश:



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 जिस सेवा पर आप प्रसारण करेंगे उसके आधार पर यूआरएल वैरिएबल निर्दिष्ट करें:

Youtube

url = "rtmp://a.rtmp.youtube.com/live2/यूट्यूब द्वारा बनाई गई कुंजी"
Rutube

url = "rtmp://rtmp-1.brz.rutube.ru/live_push/रूट्यूब द्वारा बनाई गई कुंजी"
VK

url = "rtmp://ovsu.mycdn.me/input/वीके द्वारा बनाई गई कुंजी"

3.2 जांचें कि कॉन्फ़िगरेशन फ़ाइल में पथ संगीत फ़ोल्डर के रूप में सही है और अपनी संगीत फ़ाइलों को वहां रखें, reload_mode = "watch" विकल्प का अर्थ है कि जैसे ही फ़ोल्डर में एक नई फ़ाइल दिखाई देगी, इसे तुरंत प्लेबैक कतार में जोड़ दिया जाएगा .

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

3.3 वीडियो पृष्ठभूमि प्रसारित करने के लिए सही पथ निर्दिष्ट करें:

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

यह एक स्थिर पीएनजी, जेपीजी चित्र या वीडियो एनीमेशन 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 आदेश:

Run

systemctl start radio1-liquidsoap

रुकना

systemctl stop radio1-liquidsoap

स्थिति

systemctl status radio1-liquidsoap

हमारा रेडियो तैयार है, आप सेटअप शुरू करने से पहले उदाहरण वीडियो में देख सकते हैं कि क्या हुआ था। यह प्रोटोकॉल बड़ी संख्या में लोकप्रिय सेवाओं द्वारा समर्थित है।




No Comments Yet