Live video streaming en 3 sencillos pasos con Flash Media Live Encoder, Flash Media Server y FlowPlayer

Ingredientes:
1. Una Webcam.
2. Adobe Flash Media Live Encoder.
3. Adobe Flash Media Server.
4. Flowplayer y su plugin para rtmp

Paso 1. Equipo que captura la imagen.
Lo primero es tener un equipo con una Webcam y sus drivers instalados (o cualquier otro sistema de captura de imágenes). Una vez tenemos la Webcam instalada debemos instalar el Adobe Flash Media Live Encoder.

Una vez instalado se comprueba que el Flash Media Live Encoder es capaz de mostrar la imagen de la Webcam. Es necesario configurarlo correctamente. A la derecha están los parámetros para conectar con el Flash Media Server. La URL del FMS es rtmp://[IP-FMS-SERVER]/[APP]. Como IP se pondrá aquella que tenga el equipo donde se instale el Flash Media Server. Como aplicación, por defecto, puede usarse “live”, que es una que trae por defecto el FMS. Si se instala en el mismo equipo (localhost) quedaría configurado tal que así: rtmp://localhost/live

En el parámetro Stream hay que indicar el nombre del stream ya que podrían haber varios. Ponemos, por ejemplo, “livestream”.

Hecho esto lo dejamos cocer unos minutos a fuego lento…

Paso 2. Equipo servidor de streaming de vídeo.
En otro equipo, o el mismo de antes, se instala el Adobe Flash Media Server. Adobe dispone de una versión gratuita para desarrolladores, que tiene sólo algunas limitaciones en número de conexiones y que para realizar pruebas o desarrollos es perfecto.

Durante la instalación es necesario especificar un usuario administrador con su clave, que serán necesarios más adelante para la administración. Si se olvida su clave, en el fichero fms.ini podemos encontrarla o modificarla.

Si lo solicita, no es necesario instalar el servidor Apache para que funcione el FMS (opcional).

Una vez instalado podemos acceder a la parte de administración, que se hará abriendo en un navegador el archivo que está dentro del directorio de instalación del Flash Media Server: [directorio instalación FMS]/tools/fms_adminConsole.htm

Paso 3. Creación Web sencilla para ver el streaming.
Es necesario el software reproductor Flowplayer y su plugin para rtmp para poder ver streaming desde el FMS. El siguiente ejemplo muestra un sencillo archivo HTML para visionar el vídeo en una página Web:

<html>
<body>
<script type=»text/javascript» src=»./jquery-1.4.2.js»></script>
<script type=»text/javascript» src=»./flowplayer-3.2.4.min.js»></script>
<div id=»fms» style=»width: 640px; height: 480px»></div>
<script type=»text/javascript»>
$f(«fms», «http://releases.flowplayer.org/swf/flowplayer-3.2.5.swf», {

clip: {
url: ‘livestream’,
provider: ‘rtmp’,
live: true,
autoplay: true
},

plugins: {

rtmp: {
url: ‘flowplayer.rtmp-3.2.3.swf’,
netConnectionUrl: ‘rtmp://localhost/live’
}
}
});
</script>
</body>
</html>

Resumen de receta:

El funcionamiento es sencillo. Desde el equipo que tiene la cámara se captura la imagen con el Flash Media Live Encoder y se envía al Flash Media Server que la distribuye a todos los clientes con navegadores Web que utilizan el reproductor flash Flowplayer para visionar el streaming de vídeo.

Ahora ya puedes convertir tu casa en un plató de televisión y asombrar a tus vecinos retransmitiendo tu vida en directo, al más puro estilo reality show actual.

Hasta pronto amigos!

Francisco Perles

Francisco Perles, Ingeniero Técnico en Informática de Sistemas y experto en desarrollo web, PHP, MySQL, Linux, HTML, CSS, AJAX, jQuery y administración de sistemas y redes.

Esta entrada tiene 11 comentarios

  1. Francisco Perles

    Hola, habría muchas formas y posibilidades para eso. Lo primero que tendrías que ver es cómo es la señal de tu TV, es decir, ya es digital, necesitas digitalizarla….

    Al Flash Media Server necesitarías enviar una señal compatible, que debería salir del digitalizador (software o hardware) de tu TV. Mira la Web de Adobe para ver las entradas compatibles.

    Por otro lado, existen otras posibilidades online. Échale un vistazo a http://www.justin.tv y a sus secciones de ayuda. Con FMS todos tus visitantes tendrían que acceder a través de tu conexión a Internet. Con alternativas tipo Justin son estos servidores los que soportarían las conexiones.

    Espero que lo consigas!
    Saludos!

  2. sandes

    quisiera saber si es posible realizar lo mismo pero con la version de RED5 que se supone es el equivalente a FMS. gracias respuesta: ozcarlosa@hotmail.com

  3. Francisco Perles

    Hola, teóricamente si debería ser posible. Hace tiempo probé el RED5 y era bastante más complicado de poner en marcha. FMS ya viene con un pequeño programa que te ayuda con el videostreaming tal y como dije en el post. Con RED5 desconozco si vendrá alguno y, si no, habría que programarlo. De todas formas, hace mucho que miré RED5 y ya supongo que habrá evolucionado bastante y como digo, en teoría RED5 hace la misma función que FMS.

  4. Clau Lopez

    Hola, que debo colocar en la parte donde dice url: 'livestream', pues copio el mismo y lo pongo en mi html y no me funciona le cambie el rtmp, le puse mi direccion pero me sale un error…debo cambiar donde dice livestream…?? gracias

  5. Francisco Perles

    Hola Clau. El campo url indica el nombre del stream que se le ha puesto en el FMS. Con la aplicación por defecto es (o era en su momento) livestream.

    Fíjate en la documentación del flowplayer al respecto y podrás obtener más información de incluso más parámetros y configuraciones posibles: http://flowplayer.org/plugins/streaming/rtmp.html

    Espero que te sirva de ayuda.
    Un saludo.

  6. Edward Morris

    Quisiera saber porque no logro conectar el flash media encoder con el Flash media server, cuando le pongo el nombre de host de NO-IP asignado a mi pc para que la transmisión sea pública, ya que cuando pongo «rtmp://localhost/live» funciona. Alguna sugerencia? Gracias

  7. Juanjo

    Tengo la misma duda que Edward Morris… Quiero que la transmisión en vivo de mi camara sea visible desde internet (o sea fuera de mi red local en la cual funciona perfectamente)… Tengo que cambiar algo en FMS URL del Adobe Flash Media Encoder ó en la linea netConectionURL del archivo HTML??? Gracias…

  8. Juanjo

    Un comentario por la consulta de Clau Lopez… A mi me funciona cuando en FMS URL coloco la IP de mi maquina en vez de localhost, pues si pongo localhost me logro conectar en Flash Media Server Encoder pero no se reproduce el video en el archivo HTML… No se porque pero asi me funciona (FMS URL: rtmp://IP-Local/live)… Saludos…

  9. Hans Lamprea

    Buen día. que interesante la explicación, tengo una inqueitud. Luego de isntaldo en Econder, como hago para ver mi señela la aire y como hago para que la vean los demas? qué pasos tengo que cumplir o el tema de server para ver la señal o subirla a mi página lo que estoy viendo?
    gracias

  10. Francisco Perles

    Realmente lo que les llega a los demás es la señal que envía FMS. Encoder sólo captura la señal de la cámara y la sirve a FMS. Así, podemos decir que FMS es el «repartidor» de la señal. El cliente en este caso sería el reproductor flash Flowplayer, pero hay muchos que soportan rtmp.

Comentarios cerrados.