-
Notifications
You must be signed in to change notification settings - Fork 11
S12: Arquitecturas de red para Multimedia
Juan Gonzalez-Gomez edited this page Apr 8, 2019
·
35 revisions
- Tiempo: 50min + 50min
- Fecha: Martes, 9 de Abril
-
Objetivos:
- Mostrar las posibilidades a nivel de Arquitectura para las aplicaciones multimedias
- Mostrar el funcionamiento de dos protocolos concretos:
- WebRTC: Aplicaciones interactivas
- MPEG-DASH: Streaming adaptativo
- Introducción
- Arquitectura cliente-servidor
- Arquitectura de igual a igual: peer-to-peer
- RTP
- WebRTC
- MPEG-DASH
- Descargas
- El rincón friki
- Autor
- Créditos
- Licencia
- Enlaces
La información que está disponible en esta wiki es una guía para el profesor. Los contenidos se desarrollan más a fondo en las clases presenciales
- Ya la conocemos muy bien
- Cliente envía solicitudes y obtiene respuestas
- Web: Clientes independientes. No hay comunicación entre ellos
- Arquitectura de protocolos: IP/TCP/HTTP
- ¿Cómo haríamos una aplicación de un chat interactivo entre varios clientes?
- Es una de las prácticas que se hacen en la asignatura de cuarto curso: LTAW
- Los clientes no son independientes: El servidor los relaciona
- Aplicaciones en clientes: un javascript corriendo en el navegador
- Comunicación por WebSockets
- Arquitectura de protocolos: IP/TCP/HTTP (la misma que antes)
- En las aplicaciones multimedia interactivas nos interesaría tener comunicación directa entre dos clientes, sin pasar por el servidor
- Las dos aplicaciones intercambian información directamente (sin un servidor mediador)
- Una arquitectura posible es IP/TCP. Sobre esa pila se implementa nuestra aplicación. Esto es válido para aplicaciones no interactivas
- Para aplicaciones interactivas necesitamos IP/UDP y sobre ellas RTP: Protocolo de transporte en tiempo real
- Capa de transporte en tiempo real, para multimedia
- diseñado para poder ir sobre TCP, pero se usa sobre UDP
- En realidad son dos protocolos que funcionan en paralelo:
- El propio RTP: para la información multimdia (es el "Gordo")
- El protocolo RTCP: RTP Control Protocol. Lleva la señalización y la medida de la calidad del servicio, para implementar aplicaciones adaptativas
- Información que lleva RTP:
- Marca de tiempo (para sincronización)
- Número de secuencia (para reordenar y colocar los paquetes)
- Formato de la información multimedia
- Queremos comunicar dos aplicaciones usando una arquitectura igual a igual, para intercambiar información multimedia
- Típicamente los fabricantes han hechos sus propias aplicaciones: Ej. skype
- ¿No sería genial poder conectarse directamente usando dos navegadores? --> Para eso nació WebRTC: conjunto de APIs javascript para que dos navegadores se puedan conectar directamente e intercambiar información multimedia en tiempo real, sin necesidad de usar plugins
- Proyecto Opensource
- ¿Cómo informa el cliente A al B que quiere establecer una comunicación con él?
- Esto es la señalización. Para la señalización SÍ necesitamos un servidor intermedio
- Un servidor intermedio se usa como mediador: es el que provee el servicio de contacto
- Los clientes están conectados a este servidor (Ej. WhatsApp)
- El cliente A le dice al servidor que quiere establecer una conexión con el cliente B y le pasa sus datos
- El servidor le informa al cliente B que A quiere conectar con él
- B acepta
- B envía sus datos al servidor
- El servidor le da los datos a A
- Se establece una conexión DIRECTA entre los dos clientes
- Aplicaciones de streaming: MPEG-DASH. Ej. Youtube, Netflix
- DASH: Dynamic Adaptive Streaming over HTTP. Streaming adaptativo basado en HTTP
- Es un estándar abierto
- Arquitectura: Cliente-servidor. TCP/HTTP
- Objetivo: Simplificar y unificar
- Puerto 80: llega a todos sitios
- El contenido esta dividido en segmentos de corta duración
- Hay diferentes calidades (bitstreams)
- El cliente solicita los segentos mediante HTTP GET, según el ancho de banda solicita una calidad u otra
- El cliente solicita el índice (.mpd)
- Mediante HTTP GET se descargan los segmentos
- Real-Time Communication with WebRTC, by Simon Pietro Romano, Salvatore Loreto
- How does the webRTC works?. Vídeo en youtube (Inglés) de la Fullstack academy of code
- MPEG-DASH. UPV
TODO
- Juan González-Gómez (Obijuan)
- Creado a partir del contenido generado por el profesor Jose María Cañas y otros profesores del departamento GSYC
S0: Presentación
S1: Tecnologías web
S2: HTML
S3: CSS
S4: Javascript
S5: Javascript II
S6: Elementos de audio y vídeo
S7: Protocolo HTTP
S8: Codificación Multimedia
S9: Codificación Multimedia (II)
S10: Comunicac. Multimedia (I)
S11: Comunicac. Multimedia (II)
S12: Arquitecturas de red para Multimedia
S13: Ejercicios
L0: Práctica 1-1
L1: Práctica 1-2
L2: Práctica 1-3
L3: Práctica 2-1
L4: Práctica 2-2
L5: Práctica 2-3
L6: Práctica 3-1
L7: Práctica 3-2
L8: Práctica 3-3
L9: Práctica 4-1
L10: Práctica 4-2
L11: Práctica 5-1
L12: Práctica 5-2
L13: 30-Abril
- Ordinario: 9-Mayo-2019. Hora: 12h-15h. Labs L3.210 y L3.208