You are on page 1of 8

Servidor de streaming de vdeo a demanda y

en directo mediante Unreal Media Server.


1. Introduccin
Unreal Media Server es un servidor de streaming de vdeo creado por Unreal Streaming Technologies.
- Protocolos de streaming soportados:

Protocolo UMS (propietario de Unreal Streaming Technologies) para realizar el streaming al reproductor
Streaming Media Player sobre Windows.

RTMP/RTMPT para el streaming al Flash Player de cualquier sistema operativo con Flash instalado.
HLS. Apple Http Live Streaming para el streaming a iOS o cualquier dispositivo o software que soporte la
resproduccin de HLS.

MS-WMSP para realizar streaming a Silverlight y Windows Media Player


MS Smooth para realizar streaming a Silverlight
Protocolo MPEG2-TS para el streaming hacia Set-Top boxes (reproductores multimedia de saln).
- Tipos de archivos de vdeo soportados para el servicio de vdeo a demanda (VOD): MP4, ASF, AVI,

MKV, MPEG, WMV, FLV, Ogg, MP3, 3GP, MOV, entre otros. Usando la tecnologa DirectShow, el
contenido de cada archivo se demultiplexa/decodifica en funcin del reproductor que lo solicita y se enva al
reproductor mediante el protocolo de streaming que ste necesite.

2. Arquitectura de Unreal Media Server

Las limitaciones de la versin gratuita (la que vamos a utilizar) son: mximo de 5 transmisiones en
vivo y de 10 reproducciones simultneas desde los equipos clientes.

3. Servicio de vdeo a demanda (VOD, Video On Demand):


Primero instalaremos UMediaServer, el programa streamer que se encarga de enviar mediante
streaming el contenido multimedia de los vdeos pregrabados o de contenidos en directo obtenidos
de dispositivos de vdeo (webcams, capturadoras, cmaras de vigilancia, ) y codificados mediante
ULiveServer. Para ello, instalamos UMediaServer.exe o UMediaServer(x64).exe, segn la versin
de sistema operativo del equipo Windows donde vamos a instalar el servicio.
Ahora copiamos todos los vdeos de Vdeos de Ejemplo a una carpeta de nuestro equipo. Por
cuestiones de compatibilidad con los cdecs que pueda utilizar UMediaServer, instalaremos el
paquete de cdecs K-Lite_Codec_Pack_1095_Mega.exe.
Ejecutamos la consola de UmediaServer mediante Inicio Programas Unreal Streaming
Media Server Configurator. Damos de alta nuestra carpeta con los vdeos a reproducir mediante
streaming clicando con el botn derecho sobre Media Server, seleccionando New Virtual Folder:
Rellenaremos los campos del nombre de la carpeta con los
vdeos (Folder name, poniendo un nombre sencillo y corto,
por ejemplo videos), la ubicacin de la carpeta (Browse...)
y la descripcin de la misma (Description).
Se permite habilitar la entrega del stream por unicast y
multicast (Unicast delivery y Multicast delivery), as como
tratar el contenido de la carpeta como una lista de
reproduccin (Allow to treat folder as a Playlist).
El orden de reproduccin de los vdeos puede ser alfabtico
o aleatorio (Alphabetical / Random). Lo establecemos como
aleatorio.
El acceso a los vdeos (User authentication method) lo
establecemos como acceso annimo (Anonymous access).

Se puede limitar (Limit player connections to this virtual folder) el nmero total de conexiones
simultneas, el nmero de conexiones simultneas para cada usuario autenticado y rechazar las
conexiones cuando el ancho de banda supere una cantidad determinada.
Una vez establecidas estas opciones, el servidor chequear el formato de cada archivo de vdeo de
la carpeta especificada, tanto en lo referente a sus cdecs de vdeo como de audio, la resolucin de
vdeo, cuadros por segundo, frecuencia de muestreo de audio y mono/estreo y nos mostrar esos
datos en pantalla:

La reproduccin de los vdeos se puede hacer mediante los reproductores multimedia habituales
(VLC, Windows Media Player,...) o con el reproductor multimedia especfico de Unreal Streaming
Technologies, el cual vamos a usar. Para ello, instalamos el ejecutable Streaming Media Player.exe.
Ejecutamos la aplicacin y hacemos Play Play Playlist:
Establecemos la IP del equipo servidor en Media Server
IP Address y mantenemos el puerto de emisin (Port)
por defecto, el 5119.
Como protocolo de emisin (Protocol
recibiremos el streaming va HTTP.

(UMS))

Debemos escribir en Virtual folder name el nombre de la


carpeta virtual con los vdeos creada anteriormente y
pulsamos OK. Pasarn a reproducirse los vdeos.
3.1. Integracin de los vdeos en una pgina web.
La reproduccin del streaming de los vdeos con el reproductor Streaming Media Player fuerza al
usuario a instalarlo en su equipo, lo cual no es una situacin deseable. La mejor posibilidad de
reproduccin consistir en integrar los vdeos en una pgina web.
Necesitamos un servidor web para poder conectarnos desde otros equipos a nuestro servidor. Vamos
a instalar el servidor Baby Web Server.
Una vez instalado copiamos desde la carpeta ReproductorFlashPlayer al directorio raz del sitio
web (por defecto C:\webpages) el archivo quickSkin_FilePlayer.html, renombrndolo a
index.html y copiamos tambin la carpeta FlashPlayer, que es la que contiene el reproductor de
Flash integrable en las pginas web.
Abrimos el archivo index.html con un editor de texto y en la lnea 17 escribimos la URL del
vdeo que vamos a abrir mediante streaming con el protocolo RTMP, compatible con los
reproductores Flash. La URL tendr la siguiente estructura:
rtmp://IPdelservidor:puerto/vod/carpeta/archivo

Por ejemplo:
rtmp://192.168.1.38:5119/vod/videos/small-FLV.flv

Reproduciremos el vdeo en un navegador de cualquier equipo mediante la URL


http://ipdelservidor

Ejercicio a) : Conseguir que en index.html se visualicen en pantalla los seis vdeos distintos de la
carpeta FLV, de la siguiente forma:

Para que puedan aparecer vdeos distintos en la pantalla del navegador, hay que asignar distintos
nombres para cada objeto contenedor del reproductor Flash, es decir, hay que cambiar el
identificador en las siguientes lneas para cada vdeo:
<div id="player-container">
embedPlayer('player-container', {

4. Servicio de vdeo en directo


Con el servicio de vdeo en directo podemos retransmitir cualquier evento utilizando como
dispositivos de obtencin del vdeo/sonido tanto webcams como capturadoras de vdeo, cmaras de
vigilancia, etc...
Para que UMedia Server pueda transmitir el flujo multimedia (stream) del vdeo en directo es
necesario que se le transmita el contenido del vdeo y audio ya codificado tomando como base la
seal del dispositivo de captura. Esa labor de codificacin la lleva a cabo el programa codificador
(encoder) ULive Server, el cual procedemos a instalar. Una vez instalado, ejecutamos el Live Server
Configurator.
Hacemos File Add new media source para especificar el dispositivo de captura y las
caractersticas de la codificacin del vdeo y sonido. En el dilogo Add video provider marcamos la
casilla de verificacin Add Video channel y seleccionamos nuestro dispositivo de captura (USB
Camera).
No cambiamos ninguna opcin de configuracin en el dilogo Select capture media type, de modo
que se capturar la seal del vdeo sin comprimir y la transcodificacin/compresin ser realizada
por software.
4

En el siguiente dilogo Set video provider parameters seleccionamos el tamao de la imagen que
vamos a transmitir al streamer (Native Frame Size), as como el nmero de cuadros por segundo
(Frame Rate), pudiendo realizar una previsualizacin de la configuracin establecida pulsando en
Preview:

Dejamos todos los parmetros en sus valores preestablecidos y marcamos Allow player take
snapshots of live video para que el reproductor del stream pueda tomar capturas de pantalla del
vdeo.
En la siguiente pantalla podemos aplicar algunos efectos al vdeo del dispositivo de captura:

Blend logo permite poner en sobreimpresin una imagen.


Blend timestamp sobreimpresiona una marca de tiempo sobre cada imagen del vdeo.
Blend text pone en sobreimpresin un texto que indiquemos.

Nosotros sobreimpresionaremos sobre el vdeo de la webcam tanto la marca de tiempo como un


texto.

Seguidamente se realiza una configuracin sobre la fuente de audio que utilizaremos para el vdeo:
En la siguiente ventana de configuracin del audio
dejamos seleccionado que se capte el audio sin comprimir
(Capture Uncompressed Audio) y que se aplique
compresin y transcodificacin del audio por software
(Apply software compression/transcoding). En la ventana
que sigue a esta podemos probar el audio que se va a emitir
pulsando en Test.
El siguiente paso es especificar el perfil de codificacin de
audio y vdeo a aplicar a la seal del dispositivo de
captura. Como modo de entrega del flujo multimedia
(Streaming delivery mode) dejamos establecido que sea un
flujo con precarga de buffer (Buffered streaming (IPTV,
event broadcasting) para mejorar la continuidad de la
transmisin, evitando cortes.
El perfil de codificacin que elegimos es Slow DSL suponiendo que furamos a emitir
mayoritariamente hacia equipos con una conexin a Internet de ADSL con poco ancho de banda y
especificamos un tipo de reproductor mediante el cual se va a reproducir preferentemente el stream,
en nuestro caso especificamos Flash Player -- H.264, AAC, MP3 -- puesto que nuestra intencin
es que se reproduzca el vdeo en pginas web con el reproductor de Flash Player.

Si deseamos hacer un ajuste fino del perfil de codificacin podramos pulsar sobre el botn Manual
y poder especificar detalles de dicha codificacin, tanto a nivel de vdeo como de audio:

Para terminar este asistente hay que indicar el identificador de evento en directo (dejamos en Source
ID el nmero 1) y ponemos un nombre corto y sencillo al evento en Provider description, por
ejemplo directo.

Y en la ltima pantalla no permitimos que se pueda grabar el evento, dejando desmarcada la casilla
de verificacin correspondiente.
4.1. Streaming de la seal de vdeo codificada
Para poder emitir finalmente el vdeo y audio codificados por ULive Server, hemos de dar de alta el
evento en directo que acabamos de configurar en UMediaServer, haciendo File New live
broadcast... y seleccionamos Static live broadcast.

En Live broadcast Alias escribimos el nombre que


habamos utilizado como descriptor del evento
(Provider description) en ULive Server, as como la IP
del servidor donde se est ejecutando el codificador
ULive Server y el nmero de evento en directo (el 1).
Escribimos una breve descripcin del evento a
transmitir en Live broadcast description. Marcamos
como protocolo de streaming TCP. Establecemos el
mtodo de autenticacin del usuario como acceso
annimo (Anonymous access) y el resto de opciones
las dejamos como aparecen por defecto.

Probamos a reproducir el streaming en el Streaming Media


Player, haciendo Play Play live broadcast. En la ventana
emergente indicamos la IP del streamer UMediaServer en
Media Server IP Address, mantenemos el 5119 como puerto de
emisin y marcamos como protocolo el TCP.
Escribimos el alias de la transmisin en directo y pulsamos OK.
7

4.2. Reproduccin en la web de un evento en directo


El procedimiento de insercin en una pgina web de un reproductor Flash para el streaming de un
evento en directo es idntico al descrito en el punto 3.1. con la salvedad que la URL para la emisin
va RTMP del streaming sigue el siguiente formato:
rtmp://IPdelservidor:puerto/live/nombreevento

Por ejemplo:
rtmp://192.168.1.38:5119/live/directo

Ejercicio b) : Conseguir que en index.html se visualicen en pantalla los vdeos de tres eventos en
directo distintos.

You might also like