Image

(Ultimo cambio: 06.11.2024)

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

En esta guía, crearemos nuestra propia radio por Internet y comenzaremos a transmitirla en Youtube o Rutube (RTMP), agregaremos una animación de fondo y prepararemos una lista de reproducción. En esta guía, estamos instalando como root, si tiene uno normal, use el comando sudo.

Puede solicitar un servidor listo para usar con esta configuración en el formulario de pedido del servidor VPS.


Preguntas más frecuentes:

  • Queremos que todos los datos estén con nosotros. ¿Puedes hacer todo este ajuste en nuestro equipo?

    Sí, puedes solicitar la instalación y configuración de esta configuración en tu equipo mediante el enlace.


Un fragmento del resultado de esta configuración:



1. Instale los paquetes necesarios:

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. Crear carpetas para música, video de fondo:

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

3. Vamos a crear un archivo de configuración para la propia estación de radio:

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://Dirección y clave de la plataforma de streaming a través del protocolo 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 Especifique la variable URL según el servicio en el que estará transmitiendo:

Youtube

url = "rtmp://a.rtmp.youtube.com/live2/Clave generada por Youtube"
Rutube

url = "rtmp://rtmp-1.brz.rutube.ru/live_push/Clave generada por Rutube"
VK

url = "rtmp://ovsu.mycdn.me/input/Clave generada por VK"

3.2 Verifique en el archivo de configuración que la ruta sea correcta como la carpeta de música y coloque sus archivos de música allí, la opción reload_mode="watch" dice que tan pronto como aparezca un nuevo archivo en la carpeta, se agregará inmediatamente a la cola de reproducción .

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

3.3 Especifique la ruta correcta para la transmisión de video de fondo:

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

Puede ser un png estático, una imagen jpg o un gif de animación de video, mp4. El archivo de animación de fondo está en bucle.

3.4 Especifica la ruta correcta para el archivo del logotipo de tu canal:

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

Edite el tamaño y la posición según sea necesario.

4. Puesta en marcha de la radio y funcionamiento de comprobación:

cd /home/radio
liquidsoap radio1.liq

Aparecerá el registro de procesamiento y si no hay errores, la traducción es exitosa, vaya a la página donde la creó y verifique el trabajo.

4.1 Creación e inicio automático de un servicio:

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 Equipos:

Lanzamiento

systemctl start radio1-liquidsoap

Detener

systemctl stop radio1-liquidsoap

Estado

systemctl status radio1-liquidsoap

Nuestra radio está lista, puede ver lo que sucedió en el video de ejemplo antes de comenzar la configuración. Este protocolo es compatible con una gran cantidad de servicios populares.




Sin comentarios aún