Professional Documents
Culture Documents
2. Introduccin
Qu significa la palabra 'streaming'?. 'Stream' significa 'chorro' o 'flujo' y alude a la descarga de un fichero que no tiene principio ni final: el caso ms claro es una transmisin en directo. Una emisin en diferido no deja de ser un fichero muy grande y que se puede transmitir por HTTP, FTP o cualquier otro medio habitual de descarga. La cuestin es que un stream debe ser transmitido de modo que cualquiera pueda conectar con l en cualquier momento, y no slo al principio de la transmisin. Bajo el trmino Media Streaming se engloban una serie de productos y tcnicas cuyo objetivo es la difusin de contenidos multimedia tales como audio y video. Este sistema de distribucin se caracteriza por la visualizacin de los contenidos en el cliente sin la necesidad de esperar la descarga completa de un fichero. Con la recepcin de una pequea parte el cliente es capaz de entregar su contenido al usuario, mientras contina recibiendo la corriente de datos (streaming) que ir mostrando posteriormente. La parte almacenada acta como "colchn" entre el ancho de banda irregular que caracteriza a las redes TCP/IP y el dbito continuo que requieren las transmisiones de audio y video. Los productos de media streaming contemplan la distribucin de contenidos tanto en una intranet corporativa como en Internet. Los contenidos pueden estar almacenados previamente en un servidor (video on demand, media streaming), o crearse en el mismo momento de su difusin (live media streaming). En ambos casos el audio y el video se distribuyen con un formato de codificacin (CODEC) que como su nombre indica, corresponde al acrnimo de codificador/decodificador. Conocido como lossy, el esquema de compresin
Sistemas Multimedia: Streaming de video y audio elimina datos para salvar espacio en disco a travs de frmulas matemticas. En la compresin de datos de vdeo, se ahorra espacio analizando cada cuadro (frame) y almacenando o muestreando slo la diferencia con el cuadro precedente. Este tipo de compresin es conocido como compresin temporal. El otro mtodo de compresin de vdeo elimina los datos de los pxel que no cambian y es conocido como compresin espacial. Regularmente un CODEC es asociado a un formato de archivo en particular, pero un formato de archivo puede trabajar con ms de un tipo de CODEC.
DirectShow Uso primario: Reproductor de medios CD, DVD, web y disco duro. - DirectShow (antes ActiveMovie) es una arquitectura multimedia desarrollada por Microsoft. Es parte de Windows 98, Interner Explorer versiones 3 y 4 y Windows 95 OSR2. Comentarios: Sustituy al Video for Windows y ActiveMovie. - Soporta MPEG-1, MPEG-2, Advanced Streaming Format (.asf), Video on Demand (VOD), Real Media (.rm), .avi, .mov, Indeo 5 y otros. Digital Video (DV) Uso primario: Captura y grabacin de vdeo. Formato de vdeo de alta calidad. Usado en cmaras digitales y tarjetas capturadoras. Mtodo de compresin: El miniDV es un formato DV25 (25 Mb/s) Frecuencia de muestreo de 13,6MHz Formato de vdeo 4:2:0 o 4:1:1, NTSC o PAL Compresin fija 5:1 Comentarios: El DV tiene un flujo de datos fijo. Es un estndar para cmaras, tarjetas capturadoras en DV nativo y sistemas de edicin. Es un formato aceptado universalmente con una excelente calidad de imagen. El volumen de datos es demasiado elevado para la distribucin de video por internet.
MPEG-1 Uso primario: CD-ROM video. Video-CD Web. Optimizado para lectura en reproductores CD-R de x1 y x2 Mtodo de compresin: Similar al JPEG, pero usa un flujo de datos fijo y no es escalable. Comentarios: Es un estndar aceptado internacionalmente. Buena calidad de imagen en ventanas pequeas. Los codificadores por hardware permiten la compresin en tiempo real. La compresin por software es lenta. MPEG-2 Uso primario: Televisin por satlite DVD y aplicaciones de video de alta calidad y flujo elevado de datos Teledifusin Mtodo de compresin: El MPEG-2 est basado en el MPEG-1, pero est optimizado para flujos elevados de datos y calidad de imagen escalable. Comentarios: Muy elevada calidad de imagen. El MPEG-2 es el estndar utilizado en el DVD-Vdeo y proporciona una calidad teledifusiva de audio y video elevada. Lo utilizan la mayora de los distribuidores de cable y satlite. Est soportado por DirectShow bajo Windows. Soporta alta definicin HDTV hasta 1920 x 1080 MPEG-4 Uso primario: - Web video Mtodo de compresin: - Proyecto europeo conocido como ACTS-MOMUSYS que, junto con Microsoft, estn trabajando para consolidar el estndar del algoritmo MPEG-4 Comentarios: Con calidad escalable. Soportado por Microsoft Windows Media es la refundacin del formato DivX;-) que est ganando popularidad rpidamente. MP3 Uso primario: - Codificacin de archivos de audio para difusin por internet Mtodo de compresin: - El MP3 es la abreviacin de la compresin de audio estndar MPEG-1, capa 3
QuickTime Uso primario: La baja compresin (2:1) es ideal para el almacenamiento durante la edicin de video. Utilizado para capturar video en los equipos Mac sin hardware MJPEG. Mtodo de compresin: Compresin 4:2:2 YUV video en componentes. Comentarios: - No requiere hardware y mantiene la compresin sin prdidas. - Su baja compresin requiere mucho espacio en disco duro y de elevada transferencia de datos. Es utilizable sobre la web RealSystem Uso primario: Web Mtodo de compresin: Propietario, basado en MPEG Comentarios: - RealVideo y RealAudio estn optimizados para flujos de datos de internet. Sorenson Video Uso primario: - Web. Video basado en CD para reproducir desde ordenadores Pentium o PowerMac. Mtodo de compresin: Advanced Vector Quantization (VQ) Comentarios: Codec primario QuickTime. - Video en CD-ROM se reproduce bien en Pentium mayores de 120MHz. Basado en QuickTime para MacOS y Windows. Es posible la codificacin con un flujo de datos variable (VBR) Requiere un ordenador rpido con el codec Cinepak. Reproduccin suave con resoluciones de 320 x 240 pixels. Permite flujo de datos mayores de 100Kb/s - Algunos colores, especialmente el rojo, tienden a sobresaturarse. TrueMotion Uso Primario: Web Todas las plataformas Mtodo de compresin: Wavelet TrueMotion-S Compresin intracuadro. Comentarios: Escalable. Soporte vdeo de alta calidad. Almacenamiento con flujo de datos elevado.
Video for Windows Uso primario: Usado para reproducir desde CD, Web y disco duro. Comentarios: - Actualmente no est soportado, sino que forma parte de Microsoft DirectShow. VP3 (On2) Uso primario: Anunciado para RealSystems. Reproduccin desde disco duro, CD, Web y DVD Se integra con QuickTime 5 Mtodo de compresin: Wavelet Comentarios: VP3 est disponible para todas las aplicaciones. Vdeo de alta calidad en la web. Elevado flujo de datos Buena reproduccin en ordenadores modestos. No est muy difundido. Windows Media Uso primario: Web. Edicin de vdeo por ordenador. Mtodo de compresin: Cumple con el estndar MPEG-4 Comentarios: Arquitectura ideal para la web. Ampliamente difundido. Reproductor gratuito.
3. Modelo de servicio
El esquema convencional para la instalacin de un servicio de "video streaming" tiene dos actividades fundamentales y bien diferenciadas: la elaboracin de contenidos en un formato digital utilizando procedimientos de compresin y la distribucin de los contenidos por la red a los clientes o usuarios finales. Para la elaboracin de contenidos existe generalmente una primera fase de captura de audio-video, ya se trate de eventos en directo o de contenidos grabados (cintas de video, archivos multimedia), y una fase de compresin en la que se trata separadamente el audio y el video. Los sistemas de videoconferencia multimedia en Mbone cuentan incluso con aplicaciones distintas para cada componente. El resultado de esta actividad puede ser un fichero multimedia, o una corriente (streaming).
Sistemas Multimedia: Streaming de video y audio La distribucin de contenidos incluye la difusin de las referencias, generalmente mediante URLs de los mismos incluidos en pginas web. Un servidor especializado (servidor de streaming), almacena y/o distribuye los contenidos a los clientes. Los servidores pueden proporcionar dos tipos de contenidos:
VoD (Video on demand), peticin por clientes individuales de ficheros almacenados en el servidor, sobre los que tiene un control similar a un video domstico (posicionamiento, paro, retroceso o avance rpido...). Difusin (broadcast) a varios clientes de un mismo contenido, ya sea creado en ese momento en vivo (live broadcast), o almacenado previamente en el servidor. El sistema de "difusin" tiene analogas con los canales de TV.
Sistemas Multimedia: Streaming de video y audio Internet esta lleno de sitios web de msica muchos de los cuales listan ttulos de canciones en los que los usuarios pueden hacer clic para reproducir una cancin, A modo de ejemplo exponemos el proceso de transferencia de un archivo de video/audio desde la maquina servidora hasta el cliente:
1. Establece la conexin TCP 2. Envia la solicitud GET de HTTP. 3. El servidor obtiene el archivo del disco. 4. El archivo se regresa. 5. El navegador escribe el archivo en el disco. 6. El reproductor de medios obtiene el archivo bloque por bloque y lo ejecuta.
Sistemas Multimedia: Streaming de video y audio Los ficheros multimedia son de gran tamao, y consumen tiempo de CPU y de comunicaciones por largos perodos de tiempo. A esto debemos sumar la posible acumulacin de peticiones simultneas de un mismo contenido. Al tratarse de ficheros almacenados en un servidor WWW, el cliente se puede hacer con una copia local. No se puede proteger de forma efectiva los derechos de copyright. No es aconsejable integrar los streamings de video con otros contenidos convencionales Los servidores WWW no pueden ofrecer contenidos siguiendo el modelo de difusin (broadcast) La opcin ms adecuada es instalar un servidor especializado, como los que analizaremos en el siguiente apartado. Por una parte son capaces de ofrecer servicios de difusin (broadcast) que no estn disponibles en los servidores web convencionales, utilizando cuando es posible tecnologas IP multicast con lo que esto significa de ahorro de ancho de banda. Por otra parte los clientes de los entornos que vamos a analizar estn preparados para utilizar servicios que slo puede soportar un servidor dedicado de streaming, como la optimizacin de la calidad de recepcin en funcin del ancho de banda disponible. Tambin destacaremos que los clientes propietarios slo permiten visualizar los contenidos multimedia, evitando la realizacin de copias locales del contenido.
5. Productos.
5.1. Real.
Es el formato ms utilizado en el mundo del streaming e incluso ha absorbido a alguno de sus competidores como Vivo. Su cliente RealPlayer es una aplicacin ampliamente extendida y es uno de los plug-in ms normales de cualquier explorador. Est disponible para mltiples plataformas y se puede encontrar en paquetes que incluyen todas las herramientas necesarias para poner en funcionamiento un sistema de streaming. Su principal problema es el precio en las instalaciones avanzadas, aunque hay una versin bsica gratuita limitada en varios aspectos que se puede utilizar libremente por un periodo de un ao. Los productos que suministra la empresa son: RealPlayer: Cliente que el usuario instala en su equipo. Existen dos versiones: la bsica es gratuita y la Plus cuesta 30$ RealProducer: Es el compresor. Para audio/video analgico existe una versin bsica, gratuita por un ao, y una versin Plus de pago ($150). La versin Plus ofrece caractersticas exclusivas como son: un editor para manipular ficheros de streaming, un simulador de ancho de banda, archivar y publicar en web contenidos RealMedia... Existe tambin una versin de pago que admite los nuevos formatos de video digital DV ($250). RealSytem Server: Es el servidor especializado al que se conectan los clientes. Existen diversas versiones , bsicamente en funcin del nmero de usuarios simultneos: Como plataformas el servidor admite equipos Intel Pentium (Windows NT 4.0 o 2000 Workstation oServer, Linux 2.2), Sun SPARC, IBM RS/6000 y HP PA-RISC
5.2. Quicktime.
Aunque surgido del mundo Macintosh, el cliente QuickTime Player est disponible tambin para otros entornos (Windows). Su principal ventaja es que el servidor de streaming es gratuito y tambin se encuentra disponible para entornos Windows y Unix. Como inconvenientes podemos destacar la ausencia de un productor de contenidos asociado como el que presenta el paquete de Real. La gestin del servidor se efecta desde una pgina web. Los paquetes que podemos encontrar en este entorno son: QuickTime Player: Cliente disponible en la versin 5 tanto para plataformas Macintosh como Windows. Existe una versin gratuita y otra de pago ($30). QuickTime Streaming Server: Software servidor de libre distribucin, actualmente en la versin 3. Disponible en el mundo Mac para el sistema operativo MacOS X, existe una versin Open Source que recibe el nombre de Darwin Streaming Server que funciona con prestaciones idnticas sobre otras plataformas: FreeBSD 3.4, Solaris 7, Red Hat 6.2, Windows NT y 2000 Server. El servidor admite hasta 2.000 usuarios conectados simultneamente, y tiene mdulos para autentificacin. Apple no ofrece un compresor que como en el caso de "Real" complete los tiles necesarios para la creacin de contenidos. Si nos proponemos crear ficheros para almacenar en el servidor, existen numerosas aplicaciones en el mercado (Adobe Premiere, iMovie de Apple, Cleaner...). Pero para la compresin en vivo y difusin desde el servidor (live broadcast) todas las aplicaciones son de terceros.
6. Desarrollo prctico de streaming utilizando el servidor SHOUTCast Streaming Server y el cliente Winamp.
6.1. Descarga e instalacin del software necesario.
6.1.1 Descargar el software.
Accederemos a las siguientes pginas Web, http://www.winamp.com, http://www.shoutcast.com y http://nsv.no-ip.com/downloads/ , descargaremos los siguientes programas: Winamp291_full.exe Shoutcast-1-9-5-windows.exe (Servidor de streaming). Shoutcast-dsp-1-9-0-windows.exe (Plugin del Winamp, para enviar audio al servidor de streaming). Paquetes NSVTools.exe y VP6VFWCodec-6-2-6-0.exe (Conjunto de aplicaciones y codecs para compresin de video en formato NSV) NSVGui Classic.(Aplicacin para enviar nuestros videos NSV al servidor)
10
11
Donde pone MaxUser = 32 deberemos indicar el nmero mximo de usuarios a los que permitiremos el acceso al servidor. Donde pone Password = Nueva Password Introduciremos el password para acceder al servidor. Donde pone PortBase = 8000 Deberemos indicar el puerto por el que accederemos al servidor, en este caso lo dejaremos en el 8000.
Estas son las principales opciones a configurar, aunque si queremos realizar audio bajo demanda buscaremos las siguientes lneas y modificaremos la lnea donde aparece ContentDir y la modificaremos por el directorio que contiene los archivos MP3 que queremos ofrecer. En el caso de la imagen albergaremos los ficheros MP3 en el directorio ./content dentro de la carpeta donde este instalado el servidor SHOUTcast. En nuestro caso C://Archivos de programa/Shoutcast/content/
Una vez realizados los cambios deberemos presionar sobre Kill Server y reiniciaremos el servidor con la nueva configuracin.
12
Pulsaremos las teclas Ctrl.+P y se abrir la ventana de preferencias del Winamp siguiente:
13
Sistemas Multimedia: Streaming de video y audio Seleccionaremos en el bloque de la izquierda la carpeta Plug-ins y dentro DSP/Effect. En la ventana de la derecha seleccionaremos el plugin Nullsoft SHOUTcast Source DSP v1.9.0 y se abrir la ventana siguiente:
cuatro
Pestaa Main: En ella podremos comprobar el estado de las salidas del Winamp. Pestaa Output: En ella configuraremos la direccin del servidor as como la contrasea de acceso y la configuracin de codificacin de audio elegida en la pestaa Encoder. Pestaa Encoder: Como hemos dicho antes, en esta pestaa especificaremos el codec que usaremos y los parmetros de compresin de la seal que vamos a enviar al servidor. Pestaa Input: En esta pestaa seleccionaremos la entrada que utilizaremos para enviar al servidor, puede ser el propio Winamp o la tarjeta de sonido en el caso que queramos realizar streaming de una fuente externa.
Una vez hemos descrito las funciones de este plugin vamos a realizar la configuracin del mismo.
14
En esta ventana podemos ver en primer lugar el apartado Status en el podemos ver el estado del plugin, si esta conectado con el servidor o no. Luego podemos ver dos botones: Connection y Yellowpages. El primero de ellos nos muestra estos parmetros de configuracin:
15
En Address, introduciremos la direccin del servidor SHOUTcast Server, en nuestro caso 127.0.0.1 (localhost) estamos utilizando el Winamp en el mismo ordenador que tenemos instalado el servidor de streaming. Cabe destacar que no es obligado que estn ambos programas en el mismo PC, pero en este caso para realizar este manual de forma ms sencilla as lo haremos. En Port, introduciremos el puerto que hemos indicado en el archivo de configuracin del servidor SHOUTcast, en nuestro caso utilizaremos el 8000 En Password, introduciremos la contrasea que hemos especificado en el archivo de configuracin del servidor SHOUTcast. En Encoder, aqu elegiremos la plantilla de encoder que hemos definido en la pestaa Encoder. Una vez configurada la conexin con el servidor, vamos a configurar los parmetros que mostrar el servidor, al cliente que se conecte a l. Para ello iremos a la pestaa Yellowpages, que nos mostrar la siguiente pantalla de configuracin:
En Description, introduciremos una pequea descripcin que aparecer en el cliente cuando conecte.
En URL, podemos introducir nuestra pgina Web. Cabe destacar que todos los datos que introduciremos en la pestaa YELLOWPAGES son meramente informativos y que no influirn en absoluto para el correcto funcionamiento del servidor.
16
En esta pestaa podremos realizar diferentes configuraciones y asignarlas a Encoder 1, Encoder 2, etc. que ms tarde podremos seleccionar en la pestaa Output.
Donde podemos ver que en Input Device podremos seleccionar entre Winamp y Soundcard Input. Si seleccionamos Winamp, enviaremos al servidor todo aquello que emita el Winamp, o sea todo lo que pongamos en la lista de reproduccin del Winamp. En cambio si seleccionamos Soundcard Input, nos aparecer esta ventana:
17
En Input Settings podremos seleccionar los parmetros de calidad de la entrada, que tambin sern los de emisin. En Soundcard Mixer podremos ajustar los parmetros de la entrada, para obtener una mayor calidad del sonido.
18
Podemos observar que en Status el Winamp lleva 39 segundos conectado al servidor SHOUTcast, y que ha enviado cerca de 85000 bytes.
19
Vamos a explicar ahora el uso de programa NSVate para comprimir nuestros videos en formato de streaming video NSV. Con el NSVate podemos comprimir tanto video mpeg como avi. Esta aplicacin hace uso del programa nsvenc.exe que es ejecutado en la lnea de comandos, aunque NSVate es un GUI que nos facilitar el trabajo.
20
En esta ventana se muestra los Profiles (perfiles) que tengamos configurados hasta el momento. En un principio solo tendremos el perfil por defecto (Default), pero vamos a definir uno con las caractersticas que mas nos interese. Para ello haremos clic en la pestaa Make a Copy y luego seleccionaremos la copia y le daremos a Edit para editar las preferencias.
Le daremos un nombre al perfil, en nuestro caso Perfil 1 y tras esto realizaremos los cambios indicados en la imagen superior. Pincharemos en el botn:
21
22
Las opciones de audio las dejaremos tal cual estn en la imagen superior: CBR /Mono /64kbps /Calidad Normal Para configurar las opciones de video, presionaremos el botn:
Seleccionamos un Bitrate de "128",en End Usage seleccionamos "Stream From A Server (CBR)"
23
Con este ltimo paso ya tendremos configurados los parmetros de compresin. Cabe destacar que tambin podemos utilizar el codec de compresin VP3. La diferencia entre los codec VP3 y VP6 radica principalmente en que el VP3 es de cdigo abierto y el VP6 es cerrado. El VP6 saca una mejor calidad pero el VP3 se puede reproducir de forma integrada en navegadores como el Firefox/Mozilla, mientras que el VP6 solo se puede mostrar en el IExplorer. En el caso que queramos utilizar el codec VP3 los cambios a realizar serian los siguientes:
24
Dejaramos la configuracin igual que la imagen superior. Hemos realizado cambios no solo en el formato de video sino tambin en el las opciones de formato de NSV. Una vez terminada la configuracin del formato de compresin pasaremos a comprimir los ficheros que queramos servir. Para ello iremos al programa principal.
Nos aparecer una pantalla donde seleccionaremos el fichero que queremos comprimir.
25
Sistemas Multimedia: Streaming de video y audio Una vez seleccionado el fichero, nos aparecer la siguiente pantalla:
Aqu seleccionaremos el Perfil que queremos utilizar para comprimir el video, y en Output Filename Introduciremos el nombre, con extensin .nsv y el directorio donde los queremos guardar. Presionaremos sobre OK y el video ser aadido a la lista de compresin. As podemos ir aadiendo todos los videos que queramos y le daremos al botn comprimir o Misc/Encode All/.
Despus de unos minutos ya tendremos nuestro/s videos comprimidos/s y listos para ser lanzados por la aplicacin NSVGui Classic.
26
Antes de nada hay que configurar el contenido que mostrar el servidor cuando el cliente se conecte a l, y esto se hace desde este programa. Presionamos el botn
27
Aqu rellenamos los campos que queramos que se muestren al conectar el cliente con el servidor. Introduciremos la direccin del servidor SHOUTCast (127.0.0.1) el puerto (8000), el Password y luego una descripcin del servidor que aparecer en el reproductor del cliente junto con el nombre del Video. Luego presionaremos Save y guardaremos los cambios. Ahora para empezar a emitir los videos tenemos dos opciones, la primera ser enviar un a la lista de reproduccin los videos que queramos, o cargar una playlist realizada previemanente. Si elegimos la primera opcin tan solo debemos elegir del men de la izquierda en la parte superior la carpeta origen de los ficheros que queremos aadir, luego seleccionar el video en la parte inferior y presionar sobre el botn Add Video. Este automticamente se incluir a la lista de reproduccin. Si elegimos la segunda opcin, realizar una Playlist, primero debemos haber grabado la lista de reproduccin. Para ello podemos actuar de la forma anterior, ir aadiendo los videos que queramos y luego presionar en Save Playlist, o bien crear la lista de reproduccin con el Winamp. Para ello abriremos el Winamp:
28
Pincharemos en el icono PL , para que nos salga la lista de reproduccin. Una vez tengamos la lista de reproduccin, pincharemos en el signo + e iremos aadiendo los ficheros a la lista. Una vez tengamos los ficheros pincharemos en el icono lista con el nombre que queramos con extensin .m3u. y guardaremos la
Una vez cargada la lista en el programa NSVGui tan solo tendremos que apretar en el botn Start Streaming y empezaremos a enviar los videos hacia el servidor. Para enviar estos videos hacia el cliente debemos asegurarnos que el servidor SHOUTCast est en funcionamiento. Para comprobarlo tan solo debemos hacer doble clic en el icono del servidor SHOUTCast, y comprobar que aparecen las lneas que hemos recuadrado en rojo en la imagen inferior. Lo que nos indica que se esta emitiendo desde la direccin 127.0.0.1 con el nombre Servidor Streaming Sistemas Multimedia.
29
Como hemos dicho, este programa lo utilizaremos para enviar video al servidor a partir de una fuente externa, para ello lo primero que deberemos hacer es conectar la fuente antes de ejecutar el programa. En nuestro caso concreto hemos conectado una Webcam al puerto USB. Podemos comprobar en la imagen que la detecta automticamente el programa por que aparece en la parte inferior Logitech QuickCam Express, el modelo de la cmara Web. Una vez conectada la cmara Web, debemos seleccionar el destino de la captura, que ser el servidor SHOUTCast. Para ello iremos a /File/Set Capture Destination:
30
Sistemas Multimedia: Streaming de video y audio Una vez dentro de la opcin Set capture destination realizaremos los cambios segn vemos en la imagen inferior:
En output seleccionaremos Shoutcast host luego introduciremos la IP del servidor junto con el Puerto y el password. En Headers es la informacin adicional que mostrara el servidor al cliente, cuando este conecte para visualizar el fichero: icy-name:Streaming Server Sistemas Multimedia NOMBRE DE LA ESTACIN icy-genre:Video GENERO icy-pub:0 INDICA SI SE LISTA TU ESTACION EN EL DIRETORIO Winamp TV 0=NO 1=SI icy-br:100 BITRATE ESTIMADO icy-url:http://www.sm.com URL DE T WEB icy-reset:1 ESTO NO SE CAMBIA Una vez configurado el destino, seleccionaremos el dispositivo a travs del cual queremos realizar la captura de video:
31
Sistemas Multimedia: Streaming de video y audio Como podemos ver en la imagen superior, nos aparecen en nuestro caso dos dispositivos, la Webcam y la tarjeta de sonido. Podremos elegir entre las dos fuentes o dispositivos, o ambos a la vez. En nuestro ejemplo vamos a seleccionar ambos dispositivos, as capturaremos tanto audio como video, que ms tarde enviaremos a travs de la pgina Web. Una vez seleccionados los dispositivos, podremos realizar los ajustes que necesitemos para dejar la imagen con mayor nitidez, brillo, etc. al igual que los ajustes necesarios para el sonido, graves, agudos, etc... . Para ello iremos al men Options en la opcin Audio Capture Filter y Video Capture Filter. En este men, tambin encontraremos otra opcin interesante que es el modo Preview, esta opcin nos realizar una previsualizacin de lo que estamos emitiendo, y nos ser muy til para encuadrar la cmara.
Propiedades VIDEO
Propiedades AUDIO
32
Sistemas Multimedia: Streaming de video y audio Otra opcin que hay que tener en cuenta dentro de este men, es la opcin Video Capture Pin. En ella podremos modificar tanto el tamao de la salida de la imagen (352x288, 640x480) como la compresin (YUY2, RGB24, RGB32, RGB555, UYVY) as como los frames por segundo (fps), aunque esto ultimo lo ajustaremos ms adelante.
En la prctica utilizaremos los valores que se muestran en la imagen superior. Pero si se va a realizar streaming a travs de una conexin de banda ancha (no ser nuestro caso pues haremos la practica en LAN) se recomienda utilizar compresin de video I420. Una vez configurados los parmetros de captura, iremos a la pestaa Capture y seleccionaremos la opcin Capture Audio.Con esto indicamos que queremos capturar el audio junto al video.
33
Sistemas Multimedia: Streaming de video y audio Como hemos indicado anteriormente, si queremos afinar la entrada de audio podremos realizar los ajustes en la pestaa de Options y Audio Capture Filter:
Una vez configurado el audio, vamos a configurar los frames por segundo que queremos capturar. Para ello iremos al men Capture y seleccionaremos la opcin Set Frame Rate:
34
Sistemas Multimedia: Streaming de video y audio Ahora configuraremos el encoger, pare ello iremos al men NSV y seleccionaremos la opcin Config
Dentro de este men seleccionaremos Encoder Config, configuracin tal y como reflejamos en la imagen inferior:
y dejaremos la
35
Podemos seleccionar por ejemplo el formato de compresin de audio el Lame Mp3 al igual que podemos variar tambin el formato de compresin de video por VP3. Todo segn las necesidades y las posibilidades del ancho de banda que tengamos. Una vez realizados todos los ajustes iremos al men Capture y seleccionaremos Start Capture para empezar a capturar:
36
Una vez dentro de Preferences, iremos a la seccin de Plugins, dentro de ella, seleccionaremos los plugins de entrada Input, y seleccionaremos en concreto el plugin de Nullsoft NSV Decoder v1.06, tal como mostramos en la siguiente imagen:
37
Dentro de los parmetros de este plugin los dejaremos como indicamos en la siguiente imagen, aunque siempre podemos ir ajustando estos valores hasta que se reproduzca sin cortes.
38
Donde deberemos indicar, la IP del servidor, el puerto, y en el caso de querer reproducir ficheros en tiempo real, solicitaremos el fichero listen.pls. Este fichero ser solicitado tanto para video en tiempo real como para solicitar audio en tiempo real. En el caso que queramos reproducir audio bajo demanda, indicaremos la direccin completa donde el servidor SHOUTCast almacena el audio bajo demanda. En nuestro caso
39
Sistemas Multimedia: Streaming de video y audio configuramos el servidor para que almacenara todos los ficheros de audio bajo demanda en la carpeta ./content/ dentro de la carpeta SHOUTCast. Por ejemplo si hemos almacenado un fichero de audio que se llama again.mp3 en la carpeta ./content/ en el servidor, para acceder a ella desde el cliente haremos lo siguiente:
Indicaremos la direccin del servidor, el puerto y el directorio ./content/again.mp3 http://DireccinServidor:Puerto/Directorio/Fichero.mp3 En el caso que queramos acceder a un fichero de video bajo demanda, como el formato es propietario de Nullsoft y solo es reproducible bajo Winamp, podemos acceder a l sin tener el servidor de streaming en funcionamiento. Tan solo hay que indicar la ubicacin dentro del servidor Web donde se encuentran almacenados. En nuestro caso los tenemos almacenados en el directorio raz del servidor Web, por lo que par acceder a dichos ficheros podremos acceder de la siguiente forma. Por ejemplo para reproducir el fichero de video U2.nsv
Indicaremos la direccin IP del servidor Web y el nombre del fichero de extensin .nsv El propio Winamp le ir solicitando al servidor Web los datos del video e ir almacenando en buffer y reproducindolo. Esto puede llevar a la confusin de que parezca que el reproductor Winamp almacena el video en el disco duro del cliente debido a la alta velocidad de la red local, pero tan solo hay que comprobar cualquier programa que muestre el estado de los puertos del ordenador, como se encuentra el estado del puerto con una conexin establecida con los clientes, y en cuanto paramos el video, libera la conexin.
40
Sistemas Multimedia: Streaming de video y audio En cuanto a la segunda opcin que tenemos para reproducir los ficheros de audio y video, es la de integrar el propio reproductor en una pgina Web. Para ello utilizaremos el componente NSV ActiveX que adjuntamos a este tutorial. A continuacin mostraremos la parte de cdigo fuente que debemos modificar para ajustarlo a nuestras necesidades: En la lnea 90 del fichero index.html o index.txt, encontramos las siguientes lneas:
<!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/--> <!--// enter stream location/url here //--> var leakurl = "http://205.188.234.35:8014/;stream.nsv"; <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//-->
En el caso que queramos realizar un vnculo a un fichero de audio o video en directo sern sustituidas por las siguientes lneas: <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/--> <!--// enter stream location/url here //--> var leakurl = "http://DireccinIPServidor:Puerto/listen.pls"; <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//-->
En el caso que queramos que realice un vnculo a un fichero de audio bajo demanda, sern sustituidas por las siguientes lneas: <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/--> <!--// enter stream location/url here //--> var leakurl = "http://DireccinIPServidor:Puerto/Directorio/Fichero.pls"; <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//-->
En el caso que queramos que realice un vnculo a un fichero de video bajo demanda, sern sustituidas por las siguientes lneas: <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/--> <!--// enter stream location/url here //--> var leakurl = "http://DireccinIPServidor/NombreFichero.nsv "; <!--//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//-->
41
Sistemas Multimedia: Streaming de video y audio A continuacin, mostramos una captura de lo que veremos en el navegador:
Este componente ActiveX es solo para utilizarlo con Internet Explorer. S queremos integrar el reproductor en Firefox/Mozilla/Netscape. Deberemos aadir estas lneas en la pgina Web: En el caso que queramos realizar un vnculo a un fichero de audio o video en directo sern sustituidas por las siguientes lneas
En el caso que queramos que realice un vnculo a un fichero de audio bajo demanda, sern sustituidas por las siguientes lneas:
En el caso que queramos que realice un vnculo a un fichero de video bajo demanda, sern sustituidas por las siguientes lneas:
42
7. Bibliografa
http://www.networkcomputing.com/showitem.jhtml?docid=1702f3 http://www.gentoo.org/doc/en/shoutcast-config.xml http://www.cit.cornell.edu/atc/itsupport/streamingembed.shtml http://www.maestrosdelweb.com/editorial/videofor/ http://archive.dstc.edu.au/RDU/staff/jane-hunter/video-streaming.html http://www.radiotoolbox.com/docs/index.php?p_id=4&doc_id=5 http://www.maestrosdelweb.com/editorial/videonline/ http://www.maestrosdelweb.com/editorial/radioweb/ http://www.streamsolutions.co.uk/flash/New_Tutorials/Nsvcap/ http://forums.winamp.com/ http://www.steamcast.com/ http://www.redes-linux.com/manuales.php?catId=Streaming http://www.webmonkey.com//00/45/index3a.html?tw=multimedia http://www.shoutcast.com/ http://www.desarrolloweb.com/articulos/482.php?manual=15 http://www.videolan.org/
43