Anda di halaman 1dari 20

STREAMING 1.

TEORIA

Servidores de audio y vdeo. Streaming. RTP, RTSP

1.1 Introduccin
El streaming es la distribucin de contenido multimedia (audio, video, videojuegos, radio, etc) mediante internet que mientras que reproduces el contenido multimedia, vas descargando ese contenido, es decir, funciona mediante un bfer de datos que va almacenando lo que se va descargando para luego mostrrselo al usuario Esta tecnologa naci en abril de 1995 con el lanzamiento de RealAudio 1.0 por la necesidad de no tener que descargar todo el contenido de los archivos multimedia a nuestro disco duro, especialmente los archivos de video que son realmente pesados, y as evitar esta operacin tan lenta. Al necesitar una conexin a internet al menos de igual ancho de banda que la tasa de transmisin del servicio, este se popularizo sobre el ao 2000 cuando las conexiones a internet fueron lo suficientemente econmicas para la mayora de la poblacin.

1.2 Protocolos
Streaming usa varios protocolos dependiendo de lo que queramos transmitir o el medio donde transmitamos, unos de los ms usados son: HTTP Pseudo-streaming RTSP o PNM Real Time Streaming Protocol (Estandar) MMS Microsoft Media Services RTMP Real Time Messaging Protocol usado por Adobe

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 1 ~

STREAMING El protocolo estndar de streaming es RTSP y sus principales caractersticas son: Publicado en 1998 Estandar abierto (RFC 2326) Independiente (TCP o UDP) o o TCP para los datos de control de reproductor (RTSPU) UDP para los datos de audio y video (RTSPT)

Extensible Pueden aadirse nuevos mtodos y parmetros fcilmente Seguro Uso de seguridad propia del protocolo o TLS Multi Servidor Cada conexin se puede hacer a un servidor diferente pero mediante la capa de transporte se sincronizan. Control de dispositivos de grabacin Apropiado para uso de aplicaciones profesionales Permite la edicin digital mediante marcas temporales SMPTE (Decimal codificado en binario que se usa para saber la hora:minuto:segundo:frame)

Es similar al protocolo HTTP en lo relativo a la sintaxis y operaciones, de forma que ambos protocolos pueden unirse para trabajar conjuntamente, pero tambin difiere de HTTP en varios aspectos: RTSP tiene nuevos mtodos y un identificador de protocolo diferente RTSP necesita mantener el estado de la conexin, al contrario que HTTP El servidor y el cliente pueden lanzar peticiones Usan un protocolo de transporte diferente

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 2 ~

STREAMING

1.3 Funcionamiento
Streaming es un modelo cliente-servidor, este tipo de comunicacin tiene unos requerimientos muy especficos: Es necesario que el servidor informe al cliente el formato de archivo que quiere usar Proporcionar un buffer de reproduccin Sincronizacin entre varios clientes Notificacin de paquetes perdidos Diferenciacin entre frames y poca sobrecarga del protocolo.

Tiene diferentes pasos desde que el cliente se conecta al servidor hasta que termina la reproduccin: El cliente accede al servidor mediante una ip o nombre y un puerto e inicia una conexin TCP hacia el servidor Una vez establecida la conexin, el cliente enva al servidor una peticin OPTIONS para que el servidor le de informacin sobre la versin RTSP, fecha, numero de sesin, nombre del servidor y mtodos soportados El cliente enva una peticin DESCRIBE para obtener una descripcin del contenido que ha pedido y el servidor le devuelve los valores de iniciacin para la presentacin del contenido El cliente enva la peticin SETUP para cada flujo de datos que quiere reproducir e inicia los programas necesarios para reproducir el contenido Despus el cliente enva la peticin PLAY para iniciar el envo de datos del servidor al cliente. o Durante la sesin, el cliente hace ping al servidor usando la peticin SET_PARAMETER (aunque la respuesta sea errnea, se ignora y se informa al cliente que el servidor esta aun activo)

Por ultimo, cuando el cliente para la reproduccin o esta termina, el cliente enva la peticin SET_PARAMETER con las estadsticas de sesin y la peticin TEARDOWN para terminar la conexin con el servidor

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 3 ~

STREAMING

1.4 Servidores
En el streaming ha varios tipos de servidores respecto al contenido que queramos retransmitir audio, video, radio, retransmisin de una webcam, televisin, etc. Cada programa tiene sus caractersticas y usos dependiendo de las necesidades. Ahora hablaremos de algunos de ellos:

Windows media
Alternativa de Microsoft para realizar streaming Comparte contenido audio/video (Windows Media (ASF, ASX, WMA, WMV, WMVHD, DVR-MS), Real Media, QuickTime, MPEG-4 y Flash ) Formato propietario (fuera de S.O. Microsoft puede tener problemas) http://windows.microsoft.com/es-ES/windows/products/windows-media

Quick time
Alternativa por parte de Apple para streaming Emisin mediante HTTP O RTP/RSTP Formatos en MPEG-4 conforme con ISO Permite retransmisin de webcam (asistencia remota) http://www.apple.com/es/quicktime/extending/resources.html

Real media
Software creado por RealNetworks Emite en formatos comunes (WAV, MP3, AVI, DVD, 3GP, WMV, etc) Usa protocolos http y rstp http://spain.real.com/realplayer

VLC
Pertenece a la empresa Video LAN Organizacin Es cdigo abierto Usa los protocolos HTTP, UDP, RTP, RTSP, ICECAST, MMSH) Tiene bastantes cdex para poder compartir correctamente el fichero multimedia Permite anuncios SAP (Anuncios de sesiones) http://www.videolan.org/

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 4 ~

STREAMING

1.5 Ejemplos
Ahora os daremos unos ejemplos de peticiones que hacen entre cliente servidor y viceversa

DESCRIBE
Peticin que se usa para conseguir una descripcin de un contenido multimedia

Cliente Servidor: DESCRIBE rtsp://servidorstreaming.com/fichero RTSP/1.0 Accept: application/sdp, application/rtsl, application/ mheg

Servidor Cliente: RTSP/1.0 200 OK Content-Type: application/sdp Content-Length: 376 i=Descripcin de fichero m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31

SETUP
Especifica como ser transportado el flujo de datos (un puerto para los datos y otro para los metadatos)

Servidor Cliente: RTSP/1.0 200 OK Session: 12345678 Transport: RTP/AVP;unicast; client_port=4588-4589;server_port=6256-6257

PLAY
Esta peticin indica al servidor que comience el envo de datos especificados usando los puertos configurados con la peticin SETUP

Cliente Servidor: PLAY rtsp://servidorstreaming.com/fichero RTSP/1.0 Session: 12345678

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 5 ~

STREAMING

PAUSE
Detiene temporalmente uno o todos los flujos de datos, posteriormente recuperables con una peticin PLAY

Cliente Servidor: PAUSE rtsp:// servidorstreaming.com/fichero RTSP/1.0 Session: 12345678

Servidor Cliente: RTSP/1.0 200 OK

TEARDOWN
Detiene la entrega de datos, liberando los recursos asociados a la conexin

Cliente Servidor: TEARDOWN rtsp://example.com/fizzle/foo RTSP/1.0 Session: 12345678

Servidor Cliente: RTSP/1.0 200 OK

1.6 Enlaces de inters


http://www.grc.upv.es/docencia/tdm/practicas/P3.pdf Trabajo sobre streaming http://www.ciens.ucv.ve/redes/Documentos/Streaming.pdf Trabajo sobre streaming http://es.wikipedia.org/wiki/RTSP Informacin sobre el protocolo RTSP http://www.onlive.com/ Streaming de videojuegos http://www.americandominios.com/conta/knowledgebase/233/Que-sonlos-protocolos-RTSPU-RTSPT-MMSU-y-MMST.html Informacin sobre los protocolos de streaming http://es.wikipedia.org/wiki/Streaming http://ubuntico.wordpress.com/2009/11/30/grabar-audio-de-radioonline-con-vlc/ Manual de como grabar radio streaming

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 6 ~

STREAMING 2. PRACTICA Paso 1 Descarga e instalacin de vlc Paso 2 Streaming de video Paso 3 Streaming de audio Paso 4 Streaming de Webcam Paso 5 Como grabar un streaming PASOS EXTRA: Paso 6 Instalacin de mediacore y usos Paso 7 Buscar informacin sobre streaming de videojuegos Paso 8 Streaming en vivo con android

4. Realiza como mnimo los pasos obligatorios de tu prctica y explcala con pantallazos. Paso 1 Descarga e instalacin de vlc Linux Ejecutamos el comando apt-get update Despus ejecutamos apt-get install vlc Ejecutamos el programa

Windows Descargamos la ultima versin de www.videolan.org e instalamos

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 7 ~

STREAMING Paso 2 Streaming de video Ahora abrimos el programa y vamos a medio emitir En esta pantalla aadimos el video que queremos compartir siguiendo los siguientes pasos: Aadimos los ficheros de video que queramos agregar al streaming

En este paso elegimos el protocolo que necesitemos: http No termina la respuesta despus que los datos han sido enviados al cliente, deja el canal abierto para que si un evento ocurre, ste pueda ser enviado inmediatamente a uno o a muchos clientes mmsh Protocolo de Microsoft rtsp Permite el control de la reproduccin (pausar y volver a reproducir, etc) rtp/mpeg Time Stamping (Mecanismo online que permite demostrar que unos datos han existido y no han sido alterados desde un tiempo especfico mostrando la fecha y la hora de modificacin. Se usa en los logs) udp Manda los datos sin tener en cuenta las interrupciones icecast Un servidor streaming

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 8 ~

STREAMING

Ahora vamos al cliente y en medio abrir volcado de red ponemos la siguiente direccin:

Pulsamos en reproducir y comprobamos:

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 9 ~

STREAMING Paso 3 Streaming de audio Vamos a medio emitir. Aadimos los ficheros de audio que queramos emitir

Elegimos el protocolo rtsp y pulsamos en aadir para configurarlo y emitimos:

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 10 ~

STREAMING Ahora en el cliente vamos a medio abrir volcado en red. Nos conectamos y comprobamos:

Paso 4 Streaming de Webcam Vamos a medio abrir dispositivo de captura. Ponemos nuestra cmara web y en donde pone reproducir pulsamos en emitir

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 11 ~

STREAMING Ahora configuramos el protocolo http y comenzamos a emitir

Despus vamos al cliente, conectamos y comprobamos que funcione:

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 12 ~

STREAMING

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 13 ~

STREAMING Paso 5 Como grabar un streaming En este paso grabaremos un streaming que haya hecho un usuario por internet, para ello buscamos un streaming, en nuestro caso grabaremos una radio Vamos al reproductor vlc y en medio abrir volcado en red ponemos la url de la radio en cuestin

Ahora vamos a convertirla, para ello vamos a la flecha del botn reproducir y pulsamos en convertir. En la ventana que se nos abre seleccionamos el fichero donde queremos guardarlo y el cdec necesario

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 14 ~

STREAMING En el momento que le demos a iniciar empezara a grabar, para parar de grabar simplemente tenemos que pulsar en el botn de parar la reproduccin. Reproducimos para comprobar que se ha grabado correctamente

Tanto en el paso 2 como en el 3 podemos hacer streaming de un solo fichero o de una lista de reproduccin.

PASOS EXTRA: Paso 6 Instalacin de Mediacore y usos

Paso 7 Streaming de videojuegos

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 15 ~

STREAMING Paso 8 Streaming en vivo con android Primero nos descargaremos la aplicacin IP Webcam y la abrimos Una vez abierta la aplicacin, nos aparecer la pantalla de configuracin del streaming de la cmara de nuestro android. Podemos modificar: La resolucin Calidad Orientacin Seguridad (darle un usuario y contrasea) Puerto de acceso Habilitar el audio Deshabilitar la notificacin en el mvil Prevenir el apagado de la pantalla del mvil Lo dejaremos todo por defecto y abajo del todo pulsamos en el botn start server

Ahora vamos al navegador y escribimos la ip que nos da pulsando el botn How do I connect? y nos dar la informacin:

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 16 ~

STREAMING

Una vez conectados a la aplicacin nos aparecer una web con varias opciones

Para ver la cmara desde el navegador usaremos la opcin Use java browser plugin

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 17 ~

STREAMING Podemos usar la opcin de Open stream in media player, such as VLC y nos descargara un archivo que reproducindolo por ejemplo en el VLC veremos la retransmisin de la cmara de nuestro android

Con la opcin Use browser built-in viewer podemos ver y escuchar la reproduccin pulsando en el botn que aparece debajo del video (anteriormente tenemos que habilitar el audio en la configuracin de la aplicacin)

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 18 ~

STREAMING

Tambin podemos usar la cmara de nuestro android en skype tanto en Windows como en Linux descargndonos un programa para cada S.O.

3. TEST

1. Protocolos que usa el streaming a) PTR b) STPR c) RTP y SRTP d) RIP y STPR 2. Qu hizo popular al streaming? a) La salida al mundo laboral de muchos programadores b) La salida al mercado del nuevo modelo de ordenador Mac c) La creacin del canon por copia privada d) Cuando se economizaron las conexiones a internet 3. Di cual es verdad de streaming con TCP a) Se usa para enviar los datos b) Otorga control sobre los datos del reproductor c) Da seguridad a streaming d) Todas son falsas 4. Cual de estas opciones es verdadera sobre la peticin teardown: a) Especfica como sern las opciones de la transmisin b) Detiene la entrega de datos liberando los recursos asociados c) Comienza a transmitir los datos d) Detiene temporalmente la transmisin de datos 5. Cual de estas opciones es falsa sobre el streaming: a) Todas son falsas b) Es necesario internet c) Sirve para distribuir contenido multimedia d) Naci con el lanzamiento de vlc 6. Cual de estos contenidos pueden ser compartidos por streaming a) Villancicos b) Video en directo de la cena de nochevieja c) Las fotos de estas navidades d) Todas son verdaderas

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 19 ~

STREAMING

7. La peticin setup enva al cliente: a) puerto del servidor b) puerto del cliente c) versin del protocolo d) Todas son verdaderas 8. Que empresa creo el reproductor Real Media? a) Microsoft b) Apple c) RealNetworks d) Oracle 9. El Time Stamping sirve para: a) Demostrar que los datos han existido y no han sido alterados b) Muestra la hora y la fecha de modificacin c) Se usa en los logs d) Todas son verdaderas 10. Para conectarnos a un streaming lo hacemos desde: a) Una ip y un puerto b) Un protocolo, una ip, un puerto y el nombre del contenido multimedia c) Una ip, un protocolo y el nombre del contenido multimedia d) Una ip y el nombre del contenido multimedia

Autores: David Milla Ancn y Tamara Beisti Rojo

~ Pgina 20 ~