domingo, 7 de agosto de 2016

Streaming



Streaming






 Cuando pensamos en un proyecto para el curso de sistemas distribuidos, se nos ocurrió la reproducción multimedia exactamente de audio e inmediatamente se viene a la cabeza Streaming ya que es la tecnología más conocida actual que se utiliza para optimizar la descarga y reproducción de archivos de audios y video.
Para esto fue necesario investigar como lo podíamos hacer teniendo en cuenta las características que se debían cumplir en el proyecto por ejemplo web service en SOAP, REST y, por otro lado, también las limitaciones, como lo es el poco tiempo de desarrollo, presupuesto…

Bueno finalmente les comentare el resultado de la investigación sobre el streaming, en que consiste su arquitectura entre otras cosas.
Inicialmente se descargaban archivos y luego se reproducen lo que se busca es entregan varios paquetes en tiempo real, que se descargan y al mismo tiempo que se reproducen.

Como funciona, veámoslo de una manera práctica:

1.     Se conecta al servidor: Un cliente reproductor se conecta al servidor remoto y el servidor envía el archivo.

2.     Almacena el Buffer: El cliente empieza a recibir el archivo y construye un buffer, es decir, una memoria en cache que es donde empieza a guardarlo.

3.     Empieza la reproducción: Cuando esta memoria en cache buffer empieza a llenarse con una porción del archivo el reproductor empieza a reproducir mientras en segundo plano continúa recibiendo y descargando el archivo.

Ahora que conocemos el funcionamiento a nivel general, podríamos entender porque cuando vemos un video en youtube y la velocidad de internet baja o se cae la conexión porque el video sigue reproduciendo y luego se detiene y esto ocurre porque se acaba la información que hay descargada en el buffer.

Hay dos tipos de Streaming, descarga progresiva y transmisión por secuencias.
La descarga progresiva se reproduce en servidores web que disponen de apache, IIS, el archivo que se quiere reproducir solicitado por el cliente es enviado al servidor como cualquier otro archivo utilizando el protocolo HTTP. Si dicho archivo está diseñado para streaming al ser leído por el reproductor cliente, se iniciará en streaming en cuanto se llene el bufer.
En la trasmisión por secuencias: Se reproduce en en servidores web o servidores multimedia que disponen de un software diseñados para esto, de esta forma hay una mejor gestión del streaming, como pueden ser Windows media server, la utilización de este tipo de tecnologías frente a la de descarga progresiva ofrece mejoras significativas como, por ejemplo mayor rapidez en la visualización de la descarga lo que normalmente llamamos carga, Posibilidad de transmisiones en directo algo como lo que permite Facebook últimamente, mejor gestión del ancho de banda y registro de clientes: autenticación, filtrado por ip.
Esto se utiliza en Spotity, youtube, Skype y es lo que pretendemos hacer en nuestro proyecto para el curso de sistemas distribuidos.

¿Finalmente logramos reproducir las canciones en nuestra web?, ¿cómo lo hicimos?

Utilizamos tecnología web service, uno para agregar canciones a nuestro servidor y otro web service que entregaba la información de las canciones por medio de un archivo JSON, ambos web service desarrollados en JAVA (jsp) con el estilo de arquitectura REST.
Tenemos nuestro cliente en la web donde incluimos tecnología JavaScript, apoyándonos en la librería JPlayer.
En donde en nuestro HTML, cargamos los Javascript, donde se consume el web service que nos entrega todas las canciones, en formato JSON.
Este formato JSON lo interpretamos y ponemos a reproducir la canción.
Para que quede un poco más claro mostrare parte del código básico para el funcionamiento.

Nuestro Index.html

-         Importar JavaScript



-         Estructura HTML, CSS donde cargara la lista de canciones.


-         El JavaScript donde consume el Web Service.



Y listo este es el resultado.


Les dejo el link de JPlayer para que vean su documentación y puedan hacer esto. 



Nos vemos. 
Jhonny.

No hay comentarios:

Publicar un comentario