Distribución de multimedia en aplicaciones móviles a través de CDNs

32
La parte de imagen con el identificador de relación rId14 no se encontró en el archivo. Distribución de multimedia en aplicaciones móviles a través de CDNS Manuel Gómez Zotano

description

Presentación "Distribución de multimedia en aplicaciones móviles a través de CDNs" en el codemotion.es 2013.

Transcript of Distribución de multimedia en aplicaciones móviles a través de CDNs

Page 1: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución de multimedia en aplicaciones móviles a través de CDNS

Manuel Gómez Zotano

Page 2: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Agenda

• Presencia de RTVE• Retos

• Distribución de los contenidos• Distribución de la carga/escalabilidad/qos• Distribución de multimedias• Distribución de directos

Page 3: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Presencia Web

Page 4: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Presencia Móvil

Page 5: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Consolas

Page 6: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Televisiones conectadas

Page 7: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

HBBTV

Page 8: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

HBBTV

Page 9: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

✓6 áreas principales

✓A la carta

✓+150 Sites cada año

✓Redes Sociales

Móviles✓Android

✓iOS (iPhone, iPod)

✓Windows Phone

✓Nokia

✓Web adaptada

Tabletas✓Android

✓iOS (iPad)

✓Kindle

✓Windows 8

TV conectada✓Samsung

✓LG

✓Panasonic

✓Sony

✓Xbox Live /PS3

✓HbbTV

Web

Presencia RTVE

Page 10: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Algunos datos 1

• Algunos datos de contenidos

• 90.000 programas completos de televisión• 140.000 programas completos de radio• 180.000 noticias multimedia• 4 canales televisión en directo • 6 canales radio en directo

Page 11: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Algunos datos 2

130 millones de peticiones http diarias desde cliente

0

100.000

200.000

300.000

400.000

500.000

600.000

700.000

800.000

900.000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

distintosobjetosunavezpet/10

dinamicos

Page 12: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Algunos datos 3

• 17.000.000 usuarios únicos septiembre auditado por OJD• 1.010.000 usuarios diarios en septiembre según Nielsen• 22/12/2010 2.484.982 usuarios únicos, 54,3 millones de páginas

vistas y un pico de 200.000 players directos simultáneos durante el sorteo de la lotería

• 11 millones de usuarios únicos en España siguieron los JJOO por RTVE.es

• Duración media de 30:22 min (23 min. más que en 2008)• El consumo de videos se elevó a más de 40 millones de

visualizaciones en 1,35 millones de horas• El 40% vieron los JJOO desde otras pantallas• 600.000 descargas en el móvil• Hasta 19 señales en directo por internet.

Page 13: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Retos y factores de éxito

• Retos • Distribución de los contenidos

• Distintos formatos para distintos dispositivos• API REST

• Escalabilidad• CDNS

• Distribución de multimedia• Adaptación al dispositivo

• Distribución de los directos.

Page 14: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Agenda

• Presencia de RTVE• Retos

• Distribución de los contenidos• Distribución de la carga/escalabilidad/qos• Distribución de multimedias• Distribución de directos

Page 15: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

API Rest

• Recurso: elemento central de la arquitectura. • Cualquier cosa que tenga identidad y deber ser identificado mediante algún

mecanismo.• Todos los recursos comparten una interfaz uniforme. Los métodos definidos

en esta interfaz debe ser utilizados acorde a la semántica que se les impuso al crearlos.

• Un recurso es un mapeado conceptual entre un identificador y un conjunto de representaciones. El formato de las representaciones debe estar documentado y ser estándar.

• La comunicación debe ser auto contenida (stateless). Idempotencia.• Los recursos están desvinculados de las implementaciones concretas con lo

que cambios en las implementaciones no afectan a los clientes. Los clientes solo tratan con las representaciones

• Características más importantes:• Escalabilidad• Bajo acoplamiento• Multi representación

Page 16: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

API Rest 2

Ejemplos:

/api/videos/api/videos/mas-populares/api/noticias

/api/videos/12.json/api/videos/12.xml/api/videos/12.rss/api/videos/12.mrss

Page 17: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Agenda

• Presencia de RTVE• Retos

• Distribución de los contenidos • Distribución de la carga/escalabilidad/qos• Distribución de multimedias• Distribución de directos

Page 18: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

CDN

CDN: Content Delivery Network• Selecciona el nodo más cercano al usuario• Caché distribuida de los contenidos del origen• Sistema de distribución• Gestiona la geolocalización• Tokens

Page 19: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

CDN 2

Selección del nodo más cercano al usuario:• Entrada DNS www.rtve.es CNAME rtve.es.edgesuite.net

• Se delega la resolución en la red del proveedor de CDN.• Servidor DNS de la CDN utiliza métricas para determinar la mejor IP para el cliente.

• Distancia al servidor DNS• Distancia al cliente

Page 20: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

CDN 3

Caché distribuida:• Los recursos se almacenan en la red de nodos para ser distribuidos a los

clientes. • Se hace para GET (idempotencia) pero nunca para POST.• Cuando un usuario pide un recurso, el nodo de acceso determina si lo tiene y

es válido. En ese caso lo devuelve.• En otro caso depende de la política:

• Push: el origen sube los recursos a un netstorage via ftp.• Pull: pide el recurso al origen y lo almacena junto a su expiry date.

• La validez de un nodo puede depender de:• Reglas de negocio configuradas en la CDN

• Por extensión• Content-type• User Agent• URL

• Expiry date de origen• Además se puede gestionar parámetros de QoS• A mayor tiempo de cacheo, menos peticiones y más escalabilidad

Page 21: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

CDN 4

Sistema de distribución• Ofrece entry-points para poder distribuir contenidos.• Especialmente usado para distribuir directos.

Gestión de la geolocalización• Hay contenidos que no se puden ver en ciertos países. • Las CDNs gestionan la geolocalización en función del recurso y de la

IP del cliente que se conecta.• Ejemplo: gestión por url

• Devuelve un 200 en caso de poder acceder al recurso o un 4XX en caso de no tener permisos para dicho acceso.

Tokens• Implementan tokens por tiempo o por acceso. • Los genera la CDN o se delega en el cliente.

Page 22: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Agenda

• Presencia de RTVE• Retos

• Distribución de los contenidos • Distribución de la carga/escalabilidad• Distribución de multimedias• Distribución de directos

Page 23: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución multimedias

Formato de video• Encapsulado mp4• Codec H264

Mecanismos de distribución1. VIDEO ON DEMAND. Descarga HTTP directa2. rtmp flash. Formato streaming. Primero usamos h263 y ahora h2643. http-live. Surge de Apple por no reproducir flash.

• El transcoder construye lista de distribución de segmentos y el player va pidiendolos bajo demanda

• La CDN construye dinámicamente la lista de distribución.4. VOD 1.5

• Descaga parcial de contenidos• Basado en Http range request• HINTS tienen que estar en la cabecera

Page 24: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución multimedias

Esquema http-live

Imagen de https://developer.apple.com/

Page 25: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución multimedias

Ejemplo VOD 1.5

GET /BigBuckBunny_320x180.mp4 Connection: keep-aliveRange: bytes=64312833-64657026 Accept: */* If-Range: A023EF02BD589BC472A2D6774EAE3C58 Accept-Charset: ISO-8859-1,utf-8,*

206 PartialContent Content-Type: video/mp4 Connection: keep-aliveLast-Modified: Wed,14 Dec 2011 15:50:59 GMT ETag: A023EF02BD589BC472A2D6774EAE3C58 Transfer-Encoding: Content-Length: 344194 Accept-Ranges: bytes Server: Brisket/1.0.1 Date: Wed,14 Dec 2011 16:11:25 GMT Content-Range: bytes 64312833-64657026/64657027

Page 26: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución multimedias

VOD RTMP HTTP-LIVE VOD 1.5

iphone X X

ipad X X

Android viejo X X

Android nuevo X X

Xbox Silverlight X

ps3 X

Web Audio/nav. sin flash

X X X

Televisiones X

Legacy

WindowsXX X

Page 27: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Agenda

• Presencia de RTVE• Retos

• Distribución de los contenidos • Distribución de la carga/escalabilidad• Distribución de multimedias• Distribución de directos

Page 28: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución directos

Mecanismos de distribución1. Falso directo como flv infinito. Sólo flash.2. mp3 infinito para directo de audio. 3. rtmp para flash4. http-live streaming

• Lista de reproducción cambia con el tiempo.• La lista contiene los siguientes segmentos.• Tanto las listas como los segmentos se distribuyen

como ficheros normales usando CDNs.5. Smooth Streaming para Microsoft6. HDS. Httpstreaming para Adobe

Page 29: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución directos

Ejemplo HLS

24_LV3.m3u8#EXTM3U#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=464000bitrate_1.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=714000bitrate_2.m3u8

bitrate_1.m3u8#EXTM3U#EXT-X-TARGETDURATION:10#EXT-X-MEDIA-SEQUENCE:1378#EXTINF:10,0/br1/131018055909/0001/0001378.ts#EXTINF:10,0/br1/131018055909/0001/0001379.ts#EXTINF:10,0/br1/131018055909/0001/0001380.ts#EXTINF:10,0/br1/131018055909/0001/0001381.ts#EXTINF:10,0/br1/131018055909/0001/0001382.ts

Page 30: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución multimedias

Video Infinito

AudioInfinito

Rtmp HLS Smooth HDS

iphone X X

ipad X X

Android viejo X X

Android nuevo X X

Xbox X

ps3 X

Web X X X X

Televisiones

Legacy X X

WindowsXX X

Page 31: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Distribución directos

Conclusiones

• API Rest permite adaptaciones del negocio para dispositivos de forma fácil, homogénea y desacoplada.

• CNDS son un elemento imprescindible para garantizar la escalabilidad y la calidad del servicio para el tipo de contenidos que distribuye RTVE, es decir, contenido CACHEABLE.

• Todos los formatos presentados de audio y video, tanto multimedia como directos, son empleados debido a la poca homogeneidad en los dispositivos de los clientes y a la necesidad de mantener servicios antigüos.

• Los requisitos funcionales para audios y vídeos son muy fáciles de resolver con CDNS:• Distribución à multimedia son netamente cacheables• Geolocalización• Uso de tokens

Page 32: Distribución de multimedia en aplicaciones móviles a través de CDNs

La parte de imagen con el identificador de relación rId14 no se encontró en el archivo.

Muchas gracias.

Visítanos http://[email protected]@mjgzotano