PI   laBitácora.net                   Mirror Cd por nevrlndtink1

« PreviousNext »

Servidor de streaming de musica usando Apache y mod_perl

29 Junio 2006

Bueno, yo, aunque Ingeniero Informatico de profesion, me considero un tio mas o menos normal.

No suelo estar en el ordenador mas de lo necesario, y a poder ser en casa solo lo utilizo para escuchar la radio ( recomiendo el radio player de la BBC ) y el eMule, que de alguna forma tengo que justificar mi ADSL de 24 Mbps, no quiero fardar, pero….

Bueno, en eso, que me digo, estoy harto de tener que copiarme mi coleccion de MP3 en mi memoria usb para escucharla en la oficina, asi que me he montado un servidor de streaming en mi ordenador.

Me puse a buscar y encontre esto:
Apache::MP3
Este es un modulo de perl que tras instalarlo y configurar el Apache te genera vistas adecuadas para hacer streaming de tu musica sin tener que teclear html ni nada. Es decir, se configura el Apache para que utilice el modulo como handler de un directorio, y el mod_perl te genera el html que te permite navegar por todos los directorios de musica, generar playlists o incluso guardar playlists como cookies en tu ordenador. Tambien se puede añadir una casilla para buscar MP3.
Aqui teneis un buen ejemplo de como queda :
http://www.modperl.com/Songs/

La verdad es que funciona muy bien, y tiene un aspecto bastante profesional, ademas se puede cambiar un XSS y un CSS si quereis cambiar la apariencia, aunque la que viene por defecto esta bastante bien lograda.

Si lo instalais en Linux es bastante facil, primero el Apache que te lo bajas con el yum en un suspiro si es que no lo tienes todavia, y luego el mod_perl que tambien se intala practicamente solo. Despues tienes que instalarte todas las dependencias del modulo Apache::MP3 que son unas cuantas pero vienen casi todas en el repositorio de CPAN o en sourceforge. Por ultimo se compila el modulo Apache::MP3 cambias tu httpd.conf y a tirar.

En Windows es un pelin mas complicado porque tienes que instalarte ActivePerl y a traves de una aplicacion de linea de comandos llamada ppm ir instalando los modulos necesarios aparte de mod_perl.
El modperl lo podeis instalar bajando los modulos de perl desde aqui:
http://theoryx5.uwinnipeg.ca/ppms/

Bueno en todo caso, ahora puedo escuchar todo mi directorio de musica desde la oficina sin tener que preocuparme de copiarme nada. Ademas he protegido el directorio con htaccess para que solo yo tenga acceso a el.

Supongo que la aplicacion realmente interesante que tiene esto es para cuando salgan los telefonos WiFi. Entonces se puede pasar totalmente de IPods o reproductores de MP3 para centralizar toda tu musica en tu servidor de casa.

Esto deberia de ser legal ya que lo que estas es accediendo de forma personal a musica por la que deberias de haber pagado ya.

Ya se que no es que sea algo revolucionario ni nada, pero funciona bastante bien y es una de las pocas aplicaciones practicas que le veo a pagar 35 eurazos mensuales de conexión a internet :)

Bueno, a disfrutar de vuestros servidores de MP3.
Alfonso

Posted in Tecnología, Software Libre, Música, mp3 | Trackback | del.icio.us | Top Of Page

    12 Responses to “Servidor de streaming de musica usando Apache y mod_perl”

  1. Yo mismo Says:

    Para aquellos interesados en el tema del streaming de vuestra musica:
    http://www.vibestreamer.com/
    Este programa permite hacer streaming de vuestors directorios de musica y es muy simple de instalar. No se si funcionara muy bien pero probandolo en mi LAN no me esta dando ningun problema.
    Lo he instalado en 1 minuto y ademas lleva una interfaz para añadir usuarios y administrar el acceso a diferentes directorios.

  2. Sim0n Says:

    Otro programita interesante para el streaming de audio es PeerCast, es P2P, por lo que el gasto de ancho de banda se comparte por el número de oyentes, funciona también para imágenes y está disponible para Linux, Windows y Mac OSX.

  3. toni Says:

    Estoy intentando instalarme el servidor de mp3 en Fedora 5. Tengo instalado tanto el Apache como el mod_perl (¿haría falta incluir una línea “LoadModule” en httpd.conf?), pero me pierdo en la fase de comiplación de los módulos Apache::MP3, etc.

    ¿Serías tan amable de indicar cómo hacerlo?

    Gracias

  4. Yo mismo Says:

    Hola Toni!
    Tienes las instrucciones en esta pagina
    http://search.cpan.org/~lds/Apache-MP3-4.00/MP3.pm

    Lo unico que para instalar el modulo de apache::Mp3 tienes que instalar todas las dependencias. Pero te las bajas de http://search.cpan.org y ya sabes, para cada una hace
    perl Makefile.pl
    make
    make test
    make install

    Hay uno de los modulos que tienes que bajartelo de sourceforge, asi que si no encuentras una dependencia en cpan busca en sourceforg, era uno de audio mp3 o algo asi.

    Configura el apache segun viene en las instruccions del primer link y lo reinicias, eso deberia valer.

    ATENCION: Puedes utilizar ActivePerl que es un programa que gestiona los modulos de Perl instalados para bajarte todos los modulos de un modo mas automatico.

  5. toni Says:

    Gracias por tu ayuda, finalmente conseguí instalarlo y lo tengo actualemente funcionando.

    Después de leer lo indicado en la sección “Customizing” con vistas a hacer un poco más vistosas las páginas mediante la inclusión de imágenes, CSS, etc., me encuentro con que cargando las páginas localmente todos esos cambios están presentes, pero si cargo las páginas remotamente me aparacen con su aspecto original.

    ¿Os ha pasado lo mismo si habéis probado lo que digo?
    ¿Se os ocurre a qué podría deberse?

    Gracias de nuevo

  6. Yo mismo Says:

    Hola Toni,
    Yo no cambie los estilos que vienen por defecto en el Apache::mp3 porque me parecia que estaban bastante bien.

    De todos modos me he fijado que en las paginas que te genera el modulo no se incluyen los iconos que vienen por defecto que quedan bastante bien.

    Es posible que te hayas saltado uno de los pasos que se indican al instalarse el modulo. Segun viene en las instrucciones tienes que copiarte el directorio de iconos que vienen en el zip del modulo en el direcotio raiz de tu servidor.

    Si te fijas en el html que te genera el modulo encontraras cosas como:
    <img border="0" src="http://localhost/discos/apache_mp3/sound.gif" alt="tocar"></code>

    Primer fallo: estas utilizando localhost como nombre del servidor. Claro, yo no te ngo acceso a tu localhost, no??. Si estas referenciando un CSS con localhost pues lo vamos a llevar mal para verrlo en externo. Cambia el nombre del servidor en la configuracion del apache y pon la URL de tu dominio.

    Tienes que copiarte el directorio apache_mp3 que te venia en el zip del modulo apache::mp3 en el directorio raiz del apache. El direcotorio raiz esta en el httpd.conf y busca "root".

    De la documentacion:

    3. Install icons and stylesheet

    This module uses a set of icons and a cascading stylesheet to generate its song listings. By default, the module expects to find them at the url /apache_mp3. Create a directory named apache_mp3 in your document root, and copy into it the contents of the apache_mp3 directory from the Apache-MP3 distribution.

    You may change the location of this directory by setting the BaseDir configuration variable. See the Customizing section for more details.

    En cuanto a lo de que el html se te actualiza en local pero no cuando accedes externamente puede tambien tener algo que ver con el proxy-cache de telefonica que te cachea las paginas y por tanto hace que los cambios en paginas estaticas no se hagan visibles hasta que se recarguen en el proxy-cache, mirate esto: http://www.caravantes.com/arti03/proxy2.htm
    que te explica como va.

    Saludos desde Suecia

  7. toni Says:

    Despiste fatal! Leyendo rápido, me salté ese párrafo en el que se comenta lo del directorio “apache_mp3″ (de hecho, yo estaba intentando hacer lo mismo a través de variables PERL en el httpd.conf)

    Abusando de tu amabilidad, te pregunto una última cosa: en la web de ejemplo que presenta la documentación (http://www.modperl.com/Songs/) aparece en la parte superior derecha un buscador, que a mi no me aparece. ¿Lo tienes tú?, ¿Olvido de nuevo algo relativo a la configuración para que me aparezca?

    Muchas gracias de nuevo por tu ayuda y saludos desde Valencia (con algo más de calor seguramente que por Suecia, :-)

  8. Yo mismo Says:

    Lo del buscador a mi tampoco me sale.
    Supongo que el campeon responsable de http://www.modperl.com/Songs/ se habrá hecho una subclase del modulo para añadir el formulario de busqueda, lo siento.
    Por cierto, estoy probando tu servidor y me va muy lentillo, de hecho la musica se me corta cada 5 segundos o asi. A lo mejor tiene que ver con los de no-ip.org que te redirigen el trafico a traves de su servidor de DNS gratuito.
    Yo que tu, me hacia un index.html que al entrar en http://tonicg.no-ip.org/ te pillase la direccion IP actual de tu ordenador (11.11.11.11 por ejemplo) y te redirigiese a 11.11.11.11/mp3s o algo asi, y asi tus paquetes no tienen que pasar por los servidores de no-ip.org pero aun puedes usar no-ip.org para “centralizar” tu IP dinamica.

  9. toni Says:

    He probado con IP y con nombre DNS, y particularmente me da los mismos tiempos de respuesta, así que no sé hasta que punto sería efectivo lo que me apuntas. Gracias por el consejo en cualquier caso y por la ayuda en general!

    Ah, y si quieres usar “mi discoteca” ya sabes…

    ;-)

  10. Jaime Says:

    Hola gente, estoy haciendo mi proyecto final de carrera, y parte de es configurar un servidor streaming, despues de estudiar unos cuantos, me he decantao por Apache::Mp3. Pero antes de nada, me gustaria saber, si es posible, que cada usuario pueda tener su propia lista(una vez yo trabaje con usuarios clar), o la configuracion del servidor es igual siempre. Osea q todos los usuarios q yo permita entrar en mi servidor veran lo mismo. Muchas gracias

  11. sanchez_paus Says:

    Hola Jaime!
    No es por ser nada, pero en serio que vas a hacer de proyecto de fin de carrera un servidor de streaming basado en Apache::Mp3 ??? En que universidad estudias?

    Bueno, lo del usuarios asi por defecto no lo permite que yo sepa, aunque todo es reprogramarte el plugimn este.

    Hay otro servidor llamado VibeStreamer que si que te permite crear diferentes usuarios y a cada uno darle permisos especiales incluidos la posibilidad de generar y guardar playlists propias.

    La movida esta de servir musica es tan simple de todas formas que posiblemente te salga mejor programartelo a tu gusto ( en PHP por ejemplo ). es decir que basicamente para servir musica basta con que generes un archivo m3u ( tipo playlist) donde van las URLs de los mp3 que quieres servir, y luego el cliente ya se ocupa de hacer lo necesario para reproducirlo ( eso con el Apache::Mp3 ).

    El otro enfoque es tener un flash ( por ejemplo) que reproduzca la musica en el navegador, aunque yo creo que tb esta bien dar la oportunidad de escuchar la musica en Winamp.

    Saludos,
    Alfonso

  12. Jaime Says:

    Hola a todos,

    Bueno he decidido despues de instalar y configurar todo lo de Apache::mp3 que no lo voy a usar, sino que me lo voy a programar por mi cuenta. Lo voy a hacer en JSF. Me gustaría saber si alguno conoceis classes de java q extraigan la información de los archivos mp3, así me ahorro tener que crear una tabla en la base de datos solo para almacenar el autor,etc.
    Muchas gracias.

Leave a Reply




Estadísticas
Licencia Creative Commons