#!/bin/bash
# CONFIGURACIÓN DEL STREAM
ICECAST_HOST="localhost"
ICECAST_PORT="8000"
ICECAST_PASSWORD="hackme"
ICECAST_MOUNT="/stream.mp3"
# CONFIGURACIÓN DE AUDIO
BITRATE="128k"
CODEC="libmp3lame"
CONTENT_TYPE="audio/mpeg"
FORMAT="mp3"
# DIRECTORIO CON MÚSICA
MUSIC_DIR="$HOME/Music"
# LOGO
echo "🎵 Iniciando stream de radio con FFmpeg..."
# COMPROBAR FFmpeg
if ! command -v ffmpeg &> /dev/null; then
echo "❌ FFmpeg no está instalado."
exit 1
fi
# COMPROBAR QUE HAY MÚSICA
if [ ! -d "$MUSIC_DIR" ]; then
echo "❌ No se encontró el directorio de música: $MUSIC_DIR"
exit 1
fi
# INICIAR EL STREAM (loop aleatorio)
while true; do
echo "🔁 Reproduciendo nuevo archivo..."
FILE=$(find "$MUSIC_DIR" -type f \( -iname "*.mp3" -o -iname "*.ogg" \) | shuf -n 1)
if [ -z "$FILE" ]; then
echo "⚠️ No se encontraron archivos de audio."
sleep 10
continue
fi
echo "🎧 Reproduciendo: $FILE"
ffmpeg -re -i "$FILE" \
-c:a $CODEC -b:a $BITRATE \
-content_type $CONTENT_TYPE \
-f $FORMAT \
icecast://source:$ICECAST_PASSWORD@$ICECAST_HOST:$ICECAST_PORT$ICECAST_MOUNT
echo "🛑 FFmpeg se detuvo. Reiniciando en 5 segundos..."
sleep 5
done