Streaming con Shoutcast en Debian
SHOUTcast es un software libre multiplataforma para el streaming que utiliza MP3 o ACC para la codificación del audio y HTTP como protocolo de transporte de este mismo, conocido como una radio de Internet. El formato de salida que produce es soportado por múltiples aplicaciones cliente: XMMS, Amarok, Apple iTunes y otros.
Hay que tener en cuenta que una estación de SHOUTcast necesita abrir ciertos puertos en el firewall o cortafuegos del servidor. En este caso necesitamos tener abiertos los puertos 8000/tcp y 8001/tcp en el cortafuegos (IPTables).
Instalación
- Lo primero de todo, debemos crear un nuevo usuario en el servidor con la finalidad de que sea éste el que ejecute el SHOUTcast (para mayor seguridad). Por ello, ejecutamos el siguiente comando en nuestra shell del servidor:
useradd shoutcast
- Ahora hacemos login con el usuario que acabamos de crear:
su - shoutcast- Descargamos la última versión de “SHOUTcast Linux server (glibc)” desde aquí. Luego procedemos a descargar el “SHOUTcast DSP Plug-In for Mac OSX, Linux and FreeBSD” desde aquí. Guardaremos ambos ficheros en el directorio del usuario /home/shoutcast. Para descargarlos desde shell, podemos utilizar el comando wget:
cd /home/shoutcast/ wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz wget http://yp.shoutcast.com/downloads/sc_trans_posix_040.tgz
- Ahora procedemos a descomprimir los ficheros descargados:
cd /home/shoutcast/ tar xfz sc_serv_x.x.x_Linux.tar.gz -C shoutcast/ tar xfz sc_trans_posix_xxx.tgz mv sc_trans_040/ sc_trans
- Ahora tendremos el servidor shoutcast en /home/shoutcast/shoutcast y el DSP Plug-In en /home/shoutcast/sc_trans.
Configuración
- Nos situamos sobre el directorio /home/shoutcast/shoutcast/ y abrimos el fichero sc_serv.conf usando tu editor de texto favorito (mi preferido es el nano). Debes de modificar los siguientes valores:
MaxUser=30 #Nº máximo de usuarios simultáneos. Yo he puesto 30 Password=streaming #pon aquí una contraseña propia para el programa y recúerdala PortBase=8000 # El puerto sobre el que se va a emitir en streaming AdminPassword=MyPassword # Contraseña del panel de administración
- Ahora vamos a /home/shoutcast/sc_trans/ y editamos el fichero sc_trans.conf de la misma forma que el anterior :
PlaylistFile=/home/shoutcast/sc_trans/playlist.lst ServerIp=213.251.xxx.xxx # tu ip ServerPort=8000 # El mismo puerto que el fichero anterior Password=streaming # Pon aquí la contraseña propia del programa de antes StreamTitle=Servidor_estreaming # El nombre del servidor de streaming StreamURL=213.251.xxx.xxx # La ip o un nombre de dominio que apunte a esta misma Shuffle=1 # Poner a 0 para que las canciones se reproduzcan una tras otras Bitrate=128000 # transmitimos a 128kbps/usuario Channels=2 # Para ponerlo en stereo.
- Creamos el directorio en el que introduciremos todas las canciones (Mp3). Al directorio le pondremos de nombre “content” . Una vez esto hecho, añadimos una serie de ficheros mp3 al directorio y procedemos a crear el playlist o lista de reproducción:
cd /home/shoutcast/sc_trans mkdir content [.. añade algunos mp3 al directorio content/ ] find /home/shoutcast/sc_trans/content -type f -name "*.mp3" > playlist.lst
Arrancando el servidor
Para poner en marcha el servidor, introducimos los siguientes comandos:
cd /home/shoutcast/shoutcast && ./sc_serv sc_serv.conf & cd /home/shoutcast/sc_trans && ./sc_trans_linux sc_trans.conf &
Ahora verás una serie de lineas en el terminal. Si todo ha funcionado correctamente, debes de ser capaz de ver el estado abriendo el navegador y dirigiendote a http://tu_ip:8000/ . Ahora puedes ir al botón de “admin” y usar la contraseña de acceso al panel (usuario admin).
Ahora ya tienes tu servidor de esteaming en marcha. Puedes empezar a reproducir tu música desde el winamp u otro reproductor de escritorio o bien usar el siguiente reproductor flash (o otro) para reproducirlo desde el navegador web.
Esto es todo. Saludos.
Gran tutorial, sin errores y bien sencillito. Por cierto, al crear la lista de reproducción me la creó sin rutas absolutas, lo solucioné con nano (aunque probablemente fuese por el directorio en el que estaba al crearla).