miércoles, 2 de junio de 2010

*Streaming*

Streaming



El streaming consiste en la distribución de audio o video por Internet. La palabra streaming se refiere a que se trata de una corriente continua (sin interrupción). El usuario puede escuchar o ver en el momento que quiera. No es necesario estar suscrito para escuchar o ver. Este tipo de tecnología permite que se almacenen en un búfer lo que se va escuchando o viendo. El streaming hace posible escuchar música o ver videos sin necesidad de ser descargados previamente.
Artículo principal: Códec
Son archivos residentes en el ordenador que permiten a uno o varios programas descifrar o interpretar el contenido de un determinado tipo de archivo multimedia. Con el término streaming también se le puede denominar a los videos que son reproducidos en websites pero con mayor calidad.



Protocolos Ligeros



UDP y RSTP (los protocolos empleados por algunas tecnologías de "streaming") hacen que las entregas de paquetes de datos desde el servidor a quien reproduce el archivo se hagan con una velocidad mucho mayor que la que se obtiene por TCP y HTTP. Esta eficiencia es alcanzada por una modalidad que favorece el flujo continuo de paquetes de datos. Cuando TCP y HTTP sufren un error de transmisión, siguen intentando transmitir los paquetes de datos perdidos hasta conseguir una confirmación de que la información llegó en su totalidad. Sin embargo, UDP continúa mandando los datos sin tomar en cuenta interrupciones, ya que en una aplicación multimedia estas pérdidas son casi imperceptibles

El streaming funciona de la siguiente manera. Primero nuestro ordenador (el cliente) conecta con el servidor y éste le empieza a mandar el fichero. El cliente comienza a recibir el fichero y construye un buffer donde empieza a guardar la información. Cuando se ha llenado el buffer con una pequeña parte del archivo, el cliente lo empieza a mostrar y a la vez continúa con la descarga. El sistema está sincronizado para que el archivo se pueda ver mientras que el archivo se descarga, de modo que cuando el archivo acaba de descargarse el fichero también ha acabado de visualizarse. Si en algún momento la conexión sufre descensos de velocidad se utiliza la información que hay en el buffer, de modo que se puede aguantar un poco ese descenso. Si la comunicación se corta demasiado tiempo, el buffer se vacía y la ejecución el archivo se cortaría también hasta que se restaurase la señal.

CARACTERISTICAS DEL STREAMING



ANTECEDENTES



Antes de que la primera instancia de tecnología streaming apareciera en abril de 1995 (con el lanzamiento de RealAudio 1.0), la reproducción de contenido multimedia mediante el Internet necesariamente implicaba tener que descargar completamente el "archivo contenedor" al disco duro local. Como los archivos de audio y especialmente los de video tienden a ser enormes, su descarga y acceso como paquetes completos se vuelve una operación muy lenta.
Sin embargo, con la tecnología del streaming un archivo puede ser descargado y reproducido al mismo tiempo, con lo que el tiempo de espera es mínimo.



STREAMING (transmisión)



Los términos stream y streaming ambos tienen que ver con la transmisión de información y su inmediata interpretación. Antes, la única forma disponible de ver un video o escuchar un sonido desde Internet era bajar el fichero completo al ordenador, esperando el tiempo necesario, y luego mediante un programa reproducir el audio/video.
Hoy en día gracias al avance tecnológico en procesamiento de datos y redes, se puede transmitir un flujo continuo de paquetes multimedia transmitidos en tiempo real, distribuyendo el contenido multimedia a través del Internet.



Existen varios tipos de transmisión de datos entre los principales están:



Unicast



Es la transmisión punto a punto, utiliza la arquitectura cliente/servidor donde se transmite múltiples flujos de datos. Esta arquitectura consume mayor ancho de banda.





Multicast



Es la transmisión punto a multipunto, utiliza la arquitectura cliente/servidor para un grupo de usuarios determinados por el servidor, esto se lo puedo hacer mediante software y una lista de acceso por IP/MAC address. Multicast transmite un solo flujo de datos multimedia para un grupo determinado de usuarios.



Broadcast



En ésta transmisión se comunica con un solo flujo de datos multimedia a todos los usuarios miembros de una red, proveniente del servidor multimedia. Este sistema tiene el inconveniente de que los interfaces de red de los host que no quieran escuchar la transmisión estarán aceptando un tráfico indeseado, a no ser que desactiven su función de escuchar el tráfico broadcast, con lo cual podrían perderse mensajes importantes.



Componentes



Para poder proporcionar un acceso claro, continuo y sin interrupciones, el streaming se apoya en las siguientes tecnologías:
Servidor de Streaming
El servidor de streaming es el elemento principal en cuanto a calidad del servicio se refiere. El servidor procesa los datos multimedia en cortos espacios de tiempo y soporta funciones de control interactivas siendo además el responsable de suministrar los servicios de audio y video en modo sincronizado. El servidor de streaming espera de la petición del usuario y cuando recibe una petición, el servidor busca en el directorio apropiado el archivo solicitado.
La entrega de paquetes del servidor al usuario pueden estar sujetas a demoras conocidas como lag (transmisión a velocidades menores al del ancho de banda, y pierde la calidad de reproducción).



Compresión y codificación “CODEC”



Codec es una abreviatura de Codificador-Decodificador. Describe una especificación implementada en software, hardware o una combinación de ambos, capaz de transformar un archivo con un flujo de datos (stream) o una señal. Los códecs pueden codificar el flujo o la señal (a menudo para la transmisión, el almacenaje o el cifrado) y recuperarlo o descifrarlo del mismo modo para la reproducción o la manipulación en un formato más apropiado para estas operaciones. Los códecs son usados a menudo en video conferencias y emisiones de medios de comunicación.
La mayor parte de códecs provoca pérdidas de información para conseguir un tamaño lo más pequeño posible del archivo destino. Hay también códecs sin pérdidas, pero en la mayor parte de aplicaciones prácticas, para un aumento casi imperceptible de la calidad no merece la pena un aumento considerable del tamaño de los datos. La excepción es si los datos sufrirán otros tratamientos en el futuro. En este caso, una codificación repetida con pérdidas a la larga dañaría demasiado la calidad.
Muchos archivos multimedia contienen tanto datos de audio como de video, y a menudo alguna referencia que permite la sincronización del audio y el video. Cada uno de éstos tres flujos de datos puede ser manejado con programas, procesos, o hardware diferentes; pero para que estos streams sean útiles para almacenarlos o transmitirlos, deben ser encapsulados juntos. Esta función es realizada por un formato de archivo de video (contenedor), como .mpg, .avi, .mov, .mp4, .rm, .ogg o .tta. Algunos de éstos formatos están limitados a contener streams que se reducen a un pequeño juego de códecs, mientras otros son usados para objetivos más generales.



Reproductor/Player



En el lado del receptor se deberán reproducir los flujos de datos multimedia en el mismo orden en que fueron generados por el servidor de streaming. Esta funcionalidad es provista por el reproductor de contenidos multimedia que es un software capaz de procesar el flujo multimedia que entra en la máquina destino. El reproductor contiene el decodificador que permitirá al usuario visualizar el contenido de manera adecuada y eficiente.



Protocolos utilizados en streaming



Existen varios protocolos han sido normalizados para permitir la comunicación entre los servidores de streaming y los ordenadores cliente. Los protocolos implementan las funcionalidades siguientes:



Direccionamiento de red, para lo que se utiliza el Protocolo Internet (IP).



Transporte, utilizando UDP o TCP
Control de sesión, suministrado por protocolos como: Real Time Streaming Protocol (RTSP), Microsoft Media Service Protocol (MMS) o Hypertext Transfer Protocol (HTTP).



Red de difusión



Es un conjunto de computadoras, impresoras, routers, switches y otros dispositivos que son capaces de comunicarse entre sí por un medio de transmisión y de intercambiar información ya sean estos datos, archivos multimedia, etc.