gentoo linux, java, software libre y otras hierbas
dic, 15 2008 - 3:19 pm

Grabar emisora desde Linux

Lo siguiente es un tutorial en donde se explica cómo grabar emisoras a un archivo usando Linux. Lo había leído hace tiempo en Pingüinos y Cia, pero lo revivo aquí explicándolo a mi manera y de tal manera que sea fácil de hacerlo usando Ubuntu/Debian, Fedora y Arch Linux.

Son tres pasos sencillos, aunque necesitaremos tener instalados dos paquetes: vorbis-tools y mplayer. Los instalamos usando alguno de los siguientes comandos.

En Ubuntu o Debian:

# aptitude install vorbis-tools mplayer

En Fedora:

# yum install vorbis-tools mplayer

En Arch Linux:

# pacman -S vorbis-tools mplayer

El paquete vorbis-tools contiene el programa oggenc, que codifica audio en OGG. Mientras que el paquete mplayer contiene el famoso reproductor multimedia MPlayer. Como se imaginarán, utilizaremos MPlayer para reproducir la emisora y enviar el sonido hacia oggenc, de tal manera que se guarde el audio en un archivo .ogg.

1. Crear una tubería (pipe) para enviar el audio allí

Lo primero será usar el comando mkfifo para crear un pipe que envíe la salida de mplayer a oggenc:

$ mkfifo /tmp/pipe_grabacion

2. Poner a oggenc a escuchar en el pipe

El siguiente comando hace que oggenc codifique el audio que se reciba en /tmp/pipe_grabacion, y genera el archivo grabacion.ogg:

$ oggenc -o grabacion.ogg /tmp/pipe_grabacion

3. Reproducir y enviar el sonido al pipe usando MPlayer

En otra consola ejecutamos el comando:

$ mplayer mms://66.175.96.8/coractiva -ao pcm:file=/tmp/pipe_grabacion

Una vez hagamos esto, oggenc comenzará a grabar la emisora en el archivo grabacion.ogg. Por supuesto, debes cambiar la URL de tu emisora en el comando anterior; yo puse mms://66.175.96.8/coractiva, que es la URL de Radioacktiva, una de las pocas emisoras buenas en Colombia.

Para detener la grabación, presionamos Ctrl+C en la consola donde tenemos abierto oggenc.

Lo ideal es dejar la grabación en OGG, puesto que es un formato libre. Pero si, por algún motivo, debes convertirlo en MP3 puedes instalar FFmpeg:

En Ubuntu o Debian:

# aptitude install ffmpeg

En Fedora:

# yum install ffmpeg

En Arch Linux:

# pacman -S ffmpeg

Y ejecutar el comando:

$ ffmpeg -i grabacion.ogg grabacion.mp3

12 Comentarios | deja el tuyo

2 enlaces entrantes

10 Comentarios en “Grabar emisora desde Linux”

  1. BenRu dice:

    Lo siguiente es un tutorial en donde se explica cómo

    Lo correcto sería:

    Lo siguiente es un tutorial donde se explica como….

    Casidiablo, me debes varios dolares… xDD

  2. elkaribou dice:

    Si lo añades al cron puedes grabar un programa determinado a una hora en concreto, pero…. ¿cómo finalizarías el proceso de forma desatendida? (para parar de grabar y posteriormente apagar el equipo por ejemplo)…

    Un saludo…

  3. Cristian dice:

    @Benru… ya te expliqué. Estás equivocado :P

    @elkaribou: pues podrías poner otro cron que mate el proceso y apague el PC.

    Un saludo.

  4. Camilo dice:

    Excelente tutorial…

    Un saludo.

  5. psylard dice:

    Gracias por el link compañero! Por cierto estaría bien intercambiar enlaces si te animas. Un abrazo!

  6. Zarpele dice:

    Muy bueno, lo voy a poner en practica
    Un abrazo!!!

  7. Augusto dice:

    @elkaribou: dile a mplayer que termine a x tiempo a partir de cuando empieze, eso con el parametro -end, quedaría algo así.
    mplayer -ss 0 – end 1:00:00 mms://66.175.96.8/coractiva -ao pcm:file=/tmp/pipe_grabacion

    Saludos desde Tosado – Argentina

  8. elkaribou dice:

    @Augustio:

    Muchas gracias por tu comentario, no conocía ese parámetro.

    Es justo a lo que hacía referencia en mi pregunta.

    Saludos desde el Sur de España…

  9. pablo dice:

    en algunas emisoras online solo es necesario $ we url pero solo en algunas…gracias!

  10. pablo dice:

    quise decir wget no we (lo tengo asi por el archivo .bashrc

¡Déjanos tu comentario!