El streaming de vídeo nos proporciona que un evento en directo pueda ser visto por miles de personas simultáneamente, como por ejemplo desde una cámara IP.
Lo más interesante es que el acceso a dicho vídeo sea de manera sencilla, como por ejemplo visualizar el streaming de vídeo desde un navegador web a través de una aplicación Flash o HTML 5.
A continuación vamos a explicar como poner en marcha el servidor Wowza y como leer desde un visor de vídeo Flash para web el streaming, en nuestro caso JWPlayer.
Servidor de streaming de vídeo Wowza
Este software proporciona el servicio de streaming de vídeo bajo demanda con un bajo coste de licencia con medios como Flash u otros reproductores como VLC.
Más información acerca del coste de licencia y del servidor de streaming lo podéis encontrar en su página web http://www.wowza.com
Instalando Wowza en Linux
La instalación es bastante sencilla, en primer lugar bajamos el paquete y lo instalamos, substituyendo la extensión XXX por la distribución de paquetes de nuestra versión de Linux. Durante la instalación nos pedirá el número de licencia, existe una versión de prueba de 30 días y otras de pago que van desde la licencia por días de uso, mensual o permanente:
sudo chmod 777 WowzaMediaServer-3.1.2.XXX sudo ./WowzaMediaServer-3.1.2.XXX
Encenderemos y pararemos el servidor con:
cd /usr/local/WowzaMediaServer/bin ./startup.sh
y pararemos el servidor con
cd /usr/local/WowzaMediaServer/bin ./shutdown.sh
Corriendo Wowza desde Amazon EC2
Una solución sencilla para desplegar el servidor online es hacer uso de una imagen AMI con el servidor preinstalado. En función del número de usuarios que esperemos que hagan uso del servicio deberemos hacer uso de de un tipo de instancia u otra. Podemos encontrar más información en Wowza Amazon EC2 Support center
Streaming de vídeo de una cámara IP (RTP / RTSP)
Crearemos las carpetas
/usr/local/WowzaMediaServer/applications/miStreaming /usr/local/WowzaMediaServer/conf/miStreaming
y copiaremos el archivo
/usr/local/WowzaMediaServer/conf/Application.xml
a la carpeta
/usr/local/WowzaMediaServer/conf/miStreaming/Application.xml
haciendo los siguientes cambios en el archivo XML:
-
<StreamType>live</StreamType>
-
<HTTPStreamers>cupertinostreaming, smoothstreaming, sanjosestreaming</HTTPStreamers>
-
<LiveStreamPacketizers>cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer</LiveStreamPacketizers>
-
<PlayMethod>none</PlayMethod>
-
<Property> <Name>forceInterleaved</Name> <Value>true</Value> <Type>Boolean</Type> </Property>
Ahora configuraremos la fuente de streaming y de emisón de ésta:
- Crear el archivo /usr/local/WowzaMediaServer/content/miCamara.stream y poner la ruta fuente del RTP / RTSP, por ejemplo rtsp://192.168.1.200/vod/mp4:camara.mov
- Editar el archivo /usr/local/WowzaMediaServer/conf/admin.password y añadir un usuario y contraseña para el gestor de Wowza, por ejemplo:
usuario clave
- Opcional: aseguraremos la contraseña (se guarda en texto plano) dándole permisos de sólo lectura al propietario del archivo admin.password mediante:
chmod 700 /usr/local/WowzaMediaServer/conf/admin.password
- Iniciar Wowza con el comando:
cd /usr/local/WowzaMediaServer/bin ./startup.sh
- Abriremos un navegador e iremos al gestor http://ip-servidor-wowza:8086/streammanager introduciendo el usuario y contraseña elegido previamente
- Hacer click debajo de miStreaming en [start-receiving-stream]
- Seleccionar MediaCaster Type: rtp
- Dentro del campo Stream Name, introduciremos el nombre del archivo de streaming, en nuestro caso miCamara.stream
- Hacemos click en OK para comenzar el re-streaming
Para probar que la instalación era correcta, abriremos el archivo /usr/local/WowzaMediaServer/examples/LiveVideoStreaming/client/live.html que mostrará un reproductor de vídeo. Introduciremos los siguientes datos para conectarnos al stream, rellenando el campo Server
rtmp://ip-servidor-wowza/miStreaming
y el campo Stream
miCamara.stream
haciendo click en el campo Play
Si no tenemos cámara IP podemos utilizar el fuente RTSP que podemos encontrar en http://www.wowza.com/html/mobile.html
Reproduciendo streaming de vídeo en un navegador web con JWPlayer
El anterior reproductor está bastante bien, pero no nos permite configurar internamente los datos para que la conexión sea transparente al usuario. Para ello vamos a hacer uso de JWPlayer, un reproductor libre que se puede descargar desde http://www.longtailvideo.com/players. Descomprimiremos los archivos y donde estén los archivos JS crearemos un nuevo archivo HTML con el siguiente contenido:
<html> <head><title>Reproduciendo Streaming de vídeo H.264 con Wowza y JWPlayer</title></head> <body> <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="jwplayer.js"></script> <div id='container'>Cargando...</div> <script type="text/javascript"> var flashvars = { file:'miCamara.stream', streamer:'rtmp://ip-servidor-wowza/miStream' }; swfobject.embedSWF('player.swf','container','480','270','9.0.115','false', flashvars, {allowfullscreen:'true',allowscriptaccess:'always'}, {id:'jwplayer',name:'jwplayer'} ); </script> </body> </html>
Es muy importante que este archivo sea llamado desde el navegador web a una URL contenida en un servidor web, como Apache, IIS, Lighthttpd, etc. ya que la configuración de seguridad de Flash no permite ejecutarlo como archivo local.
Fuentes
Parte de la guía de Wowza es una versión reducida de la documentación oficial http://www.wowza.com/forums/content.php?39
Comentarios