RADIODIFUSIÓN SOBRE INTERNET

José Miguel Pérez

Redes de Computadores II

 

 

 

Resumen:

 

El presente trabajo pretende responder a la necesidad de ofrecer el servicio de radio difusión a través de el medio de comunicación, tal como el título del presente escrito lo indica, conocido como Internet, de forma tal que cualquier usuario del planeta conectado a éste, pueda acceder libremente. Para esto se plantea un escenario definido en que un usuario con una conexión de banda ancha pueda prestar este servicio si en algún minuto lo requiere.

 

Para responder eficientemente ante esta propuesta, se verán los distintos requerimientos, tales como la cantidad de usuarios simultáneos que disfrutarán de este servicio, que hardware se deberá adquirir, para finalmente decidirse por una de las opciones e implementarla con una demostración practica.

 

 

 

Introducción:

 

Entre los reproductores más populares usados actualmente se encuentran RealPlayer, Windows Media Player y QuickTime. Con los dos primeros se tiene acceso a la mayoría de las "net radio", aunque existen muchas emisoras que utilizan otro tipo de reproductores, bien por utilizar otros formatos de audio como el MP3, o bien por que algunas emisoras de Internet han creado su propio reproductor, y lo han establecido como requisito para escuchar su programación.

 

El objetivo principal es el de poder transmitir la señal de audio hacia Internet utilizando alguno de los formatos mas difundidos y con bajo costo de acuerdo a los requerimientos de hardware y software.

 

Definitivamente, después de analizar opciones para implementar el servicio, se decidió por la plataforma HELIX de RealNetworks debido a las características que provee el servidor de medios, el encoder y el reproductor se encuentran disponibles no solo para Windows sino que también para Linux.

 

 

  

 

Figura1. Esquema general de funcionamiento.

 

 

 

 

Opciones deseables de implementar

 

           

          Capacidad de transmitir en distintos formatos de streaming: mp3, windows media audio, realaudio  con la finalidad de llegar hasta distintos sistemas operativos, y posibilidad de que el contenido sea compatible con distintos reproductores multimedia.

 

          Capacidad de transmitir audio bajo demanda o en vivo.

 

          Capturar audio directamente desde la tarjeta de sonido o reproducirlo en el mismo computador.

 

          Tener estadísticas en tiempo real, como la cantidad de usuarios que se han conectado con el servidor, cuantos simultáneos, y que calidad de conexión están escuchando, etc.

 

          Adaptabilidad al ancho de banda del cliente, ajustando automáticamente la tasa de transmisión si es que existe congestión de la red, para no entorpecer la continuidad del contenido.

 

          Vinculable desde página Web. La idea es que a través de un sito Web, exista la posibilidad de crear un vínculo que permita al cliente ejecutar su reproductor multimedia y descargar el contenido de forma automática.

 

          Capacidad de auto arranque. Si pensamos que el ordenador puede reiniciarse debido a un corte de luz o algún problema imprevisto, y además queremos que lo haga de forma automática, se debe ver la posibilidad de que arranque de la forma señalada el programa y lo ponga en marcha sin la necesidad de que exista un usuario de por medio.

 

          Bajo costo. Lo ideal es que la adquisición del software sea gratis o versiones “free” con menos características para implementar.

 

          Implementable por lo menos en mas de un sistema operativo, los más utilizados como son Windows y Linux.

 

 

 

 

Esquema General del Funcionamiento Técnico

 

Los pasos tomados generalmente siguen la siguiente secuencia:

 

            1. Fuente auditiva (Micrófono, Line In, CD, WAV, MP3)  (LINE IN)

 

            2. Procesamiento de la fuente auditiva (encoder), generando el audio para enviar al servidor de medios. (WINDOWS)

 

            3. Servidor de medios (server), entrega el contenido atendiendo a las peticiones recibidas. (LINUX)

 

            4. Reproductor de auditivo (player), reproduce el audio solicitado por el cliente. (LINUX/WINDOWS)

 

 

 

Figura 2. Esquema de implementado.

 

 

            Los requisitos de hardware para Realproducer (encoder) son:

 

 

REQUERIMIENTOS WINDOWS

 

Mínimo

Recomendado

Sistema Operativo

Windows 2000
o Windows XP

Ultima version de Service Pack

Procesador

500 MHz clase-Pentium

Procesador Pentium 4, 2.4 GHz o superior

Memory

128 MB RAM

512 MB RAM o mas

Tarjeta Video

Tarjetas compatibles con Windows

Osprey 230, Osprey 500 family

Tarjeta de Sonido

Compatibles Con Windows

Osprey 230, SoundBlaster Live o AWE 64

REQUIRIMIENTOS LINUX

 

Minimum

Recommended

Sistema Operativo

Linux 2.4 con Glibc 2.1 o superior, Linux 2.6

Con soporte y testeado en Redhat 9.0 y Suse 9

Procesador

500 MHz clase-Pentium

Procesador Pentium 4, 2.4 GHz o superior

Memory

128 MB RAM

512 MB RAM o mas

Tarjeta Video

Tarjetas compatibles con Video for Linux 1

Tarjeta de Sonido

Tarjetas compatibles con Open Sound System

 

 

            Los requisitos de hardware para Helix Server son:

 

 

LINUX — (KERNEL 2.6)

Procesador

Memoria

Disco Duro

Intel P4 2.4 GHz

512 MB por procesador (Min)
1 GB/proc (recomendado)

100 MB (instalación) + Log

WINDOWS 2003

Procesador

Memoria

Disco Duro

Intel P4 2.4 GHz

512 MB per processor (Min)
1 GB/proc (recomendado)

100 MB (instalación) + Log

 

SOLARIS 8 (NATIVE) & SOLARIS 9

Procesador

Memoria

Disco Duro

Ultra Sparc III 1.5 GHz

512 MB por procesador (Min)
1 GB/proc (recomendado)

100 MB (install) + Log

 

 

 

 

Implementación

 

 

Configuración de Real Producer

 

 

 

Lo primero que se debe hacer es configurar la fuente que va a codificar. En Input file se elige algún archivo de audio existente como un MP3, si es que no se desea captura audio de la tarjeta de sonido.

 

 

De lo contrario se selecciona la casilla Devices seleccionando en la opción Audio el dispositivo de audio, y dejando sin modificación la casilla Video en nuestro caso.

 

 

 

Una vez elegido la tarjeta de sonido, procedemos a configurar los distintos tipos de tasas de transmisión que el servidor puede entregar dependiendo de la conexión.

 

 

 

En nuestro caso hay 5 posibles tasas  de transmisión. Las que el servidor se encarga de entregar según la conexión individual de cada oyente.

Luego procedemos a configurar el servidor de destino presionado el botón                

 

(Add Server Destination). Con lo que se requiere configurar los siguientes parámetros:

 

Destination Name: Nombre con que designamos al servidor.

Stream Name: Nombre con que designamos al Stream (este dato es muy importante, ya este es el nombre que se coloca al final del vinculo para poder reproducir el stream).

Broadcast Method: Este campo lo dejamos con el valor que trae por defecto.

Server Address: Aquí colocamos la dirección IP del servidor.

Path: Este campo es opcional por lo que lo dejamos en blanco.

Port: Por defecto el 80, pero hay que verificar que el servidor este atendiendo por este puerto.

Transport: Marcamos UDP, ya que como se explicó anteriormente en este documento este protocolo favorece la transmisión en vivo.

Username and Password: Colocamos aquí el nombre y password de la cuenta de administrador del Helix Universal Server.

 

 

 

 

Finalmente podemos entregar información de nuestra transmisión, oprimiendo el botón  , y configurando lo s parámetros mostrados (Title, Author,Copyright)



 

 


 

 

Que para nuestro caso

 

Title: Radiodifusión sobre Internet.

Autor: Seminario de Computadores II.

Keywords: Campo en blanco.

Description: Campo en blanco.

Rating: Calificación del contenido transmitido,

  en nuestro caso All Ages.

      

 

 

 

 

 

Con todo esto estamos listos para codificar la información y enviársela al servidor. Para lo cual presionamos el botón: 

 

 

 

Con lo que se vería el nombre que le dimos a los parámetros de conexión del Servidor y el estado en que se encuentra el servidor, en este caso Broadcasting.

 

 

Lo que se vería de la siguiente forma:

 

 

 

Todas las configuraciones realizadas se pueden guardar en un archivo extensión rpjf, para así no tener que configurar cada vez los parámetros.

 

También Helix Producer puede crear archivos en formato rm y dejarlos almacenados, siendo transmitidos solo cuando alguien haga una petición, lo que se denomina difusión Bajo Demanda.

 

 

 

 

Configuración de Helix Universal Server

 

 

 

Lo primero durante la instalación es poseer el archivo de licencia, que provee RealNetworks (free o pagada), que le dice al servidor con que características arrancará.

Después la instalación pregunta por los puertos en los que atenderá las peticiones para distintos protocolos, entregando un valor por defecto, los que son:

 

 

Ø      RTSP              Port     554

Ø      HTTP              Port     80

Ø      MMS              Port     1755

Ø      Monitor           Port     9090

Ø      Admin Port     Aleatorio (24831)

 

Se aprecia claramente que Helix Universal Server recibe peticiones HTTP por el puerto 80, por lo que no se puede tener un servidor Web en la misma máquina atendiendo por el puerto estándar, por lo que es necesario cambiar el puerto del servidor Web o el puerto en que atiende Helix Universal Server las peticiones del protocolo HTTP.

La instalación pide un nombre de usuario y un password, para administrar el servidor, lo que se hace vía página web. También da la opción de instalar el servidor como un servicio de la máquina (que es lo que nosotros usamos), o ejecutarlo en forma manual.

Todos los parámetros  configurados en la instalación pueden ser cambiados en la página de administración del servidor. Si es cambiado uno de los parámetros es necesario reiniciar el servidor lo que se puede hacer de la misma página web tomando algunos segundos.

 

 

 

 

Para entregar archivos bajo demanda, los archivos deben ser creados por Helix Producer, por ejemplo radio.rm, siendo almacenados en un directorio llamadoContent ubicado dentro del directorio de instalación de Helix Universal Server. Que en nuestro caso es:

/usr/local/RealServer/Content

 

 

Luego para acceder al archivo se puede mediante un link en una página web o en forma directa introduciendo la dirección en el reproductor.

 

<a href=”http://dirección:PuertoHTTP/ramgen/radio.rm”> Play </a>

 

Si el Servidor atiende las peticiones en el puerto 80, no es necesario colocarle el puerto al vínculo.

Ejemplo

<a href=”http://www.radiodifusion.com/ramgen/radio.rm> Play </a>

 

También es posible reproducir el archivo directo desde RealOne, abriendo Archivo>Abrir e introduciendo la siguiente URL:

 

rtsp://dirección:PuertoRTSP/radio.rm

 

No es necesario incluir el puerto RTSP si se mantuvo el valor de este puerto en 554.

 

Para transmitir en vivo se debe primero que todo configurar Helix Producer  con los parámetros necesarios del Servidor y seguir los pasos descritos en la configuración del Helix Producer. Luego para acceder al contenido en vivo (“online”) se puede hacer mediante un link en una página Web o ingresando directamente la URL en el reproductor.

 

 

<a href=”http://dirección:PuertoHTTP/ramgen/broadcast/XXX”> Online</a>

 

Donde ‘XXX’ es el nombre colocado en la configuración del Helix Producer dentro de Server Destination, en el campo Stream name, que en este caso es difusión, con lo que queda de la siguiente manera:

 

Ejemplo.

 

<a href=”http://www.radiodifusion.com/ramgen/broadcast/difusion”> Online </a>

 

Y para el reproductor sería ubicándose en Archivo>Abrir e introduciendo la siguiente URL:

 

rtsp://dirección:PuertoRTSP/broadcast/difusión

 

 

 

Resultado

 

 

 

 

 

Referencias