openvidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil...

52
1 OpenVidu, una plataforma open source para añadir videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez

Upload: others

Post on 06-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

1

OpenVidu, una plataforma open source para añadir videoconferencia a tu aplicación web y móvil

Pablo Fuente Pérez

Page 2: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

¿Éste quién es?

@fuentepab

[email protected]

@pabloFuente

Developer

Page 3: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Consultancy / Training

Cloud ComputingWeb Technologies

Extreme ProgrammingTesting / Git / JenkinsSoftware Architecture

Concurrent Programming

http://codeurjc.es

Page 4: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

4

Page 5: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

5

Page 6: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

6

Page 7: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

7

¿Qué es

?

Page 8: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

WebRTC: Comunicación en tiempo real para la web

• Permite comunicar un browser directamente con otro, peer-to-peer, sin que los datos tengan que pasar por el servidor (siempre que sea posible)

• Usa el framework ICE para traspasar los NATs y permitir una comunicación directa entre navegadores

• La baja latencia es ideal para transmitir audio y vídeo

8

Page 9: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Can I use WebRTC?

9

También como librerías nativas para apps

Page 10: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

10

¿Cómo funciona?

Servidor Web

Los browsers se conocen conectándose a la misma aplicación web usando Websockets o REST

1

Page 11: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

11

Servidor Web

Los browsers se conectan directamente entre sí mediante el protocolo WebRTC. Under the hood pueden usar UDP, TCP o SCTP

2¿Cómo funciona?

Page 12: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Fuentes de audio y vídeo en WebRTC

12

Webcam Micrófono Compartición de Escritorio

Page 13: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 14: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 15: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 16: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

16

Tipos de apps WebRTC

Videoconferencia / chat

Emisión de media

Page 17: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

17

Tipos de apps WebRTC

Llamadas en grupo

Page 18: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

18

La conexión directa entre browsers NO es adecuada en todos los casos

Tipos de apps WebRTC

Llamadas en grupo

Page 19: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

19

Servidores de media WebRTC

Servidor de media

Page 20: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

20

¿Qué suelen hacer los servidores de media?

Transcodificar VP8 H.264

Reenviar(Para llamadas en grupo o streaming de baja latencia)

Grabar

Page 21: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

21

Servidores de media WebRTC

Servicios de videoconferencia cerrados

Page 22: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

22

Page 23: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

23

Servidores de media programables

As a Service ServidoresComerciales

ServidoresOpen Source

Page 24: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

24

¿y es muy complicado?

Page 25: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

25

Page 26: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Cómo Incluir Videollamadas en Grupo en tu Página Web con WebRTC y Kurento

Leganés12-13 Febrero 2015

26

Page 27: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 28: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

¿Qué es OpenVidu?

- Plataforma para desarrollo de apps WebRTC

- Modelo de programación sencillo y múltiples ejemplos

- Funcionalidades avanzadas (grabación, filtros, visión artificial…)

- Open source (Licencia Apache)

https://openvidu.io/

Page 29: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Videoconferencia

- Modelo de desarrollo simplificado de aplicaciones de videoconferencia en grupo

Page 30: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 31: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Tutoriales con múltiples tecnologías

Page 32: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Arquitecturade una web app con OpenVidu

App code(Backend)

App code(Frontend)

JavaScript Library

Server

Page 33: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Control de acceso y permisos- Backend

- Se conecta a la API REST de OpenVidu Server- Decide qué sesiones existen y qué usuarios pueden

conectarse a ella- Decide qué rol tiene el usuario (PUBLISHER, SUBSCRIBER,

MODERATOR)- Genera token y se lo envía a frontend

- Frontend- Usa el token en OpenVidu Browser para conectarse a la

sesión

Page 34: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Tutoriales / Demos- Ejecutar servidor OpenVidu

- Ejecutar la aplicación de demo

Page 35: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Vainilla JS

https://openvidu.io/docs/tutorials/openvidu-insecure-js/

Page 36: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Vainilla JS

Page 37: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 38: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

- Compartir pantalla

- Grabación de la sesión

- Como se ve en el navegador

- Diseños personalizados

- Filtros de visión artificial

- Detector de voz

- Conexión a la cámaras (p.e. drone)

Funcionalidades avanzadas

Page 39: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 40: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Arquitecturade una web app con OpenVidu

App code(Backend)

App code(Frontend)

JavaScript Library

Server

Page 41: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Un poco mása fondo...

Page 42: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 43: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 44: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

Servidor de media WebRTC

Control de bajo nivel del procesamiento del media en pipelines

Controlable con un protocolo sobre WebSockets

También desarrollado en la URJC!

44http://www.kurento.org

Page 45: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

45http://www.kurento.org

Page 46: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

46

Biblioteca de componentes predefinidos

Page 47: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

47

Media Pipeline• Cadena de elementos que implementan la funcionalidad

deseada

Page 48: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 49: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

49

Page 50: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente
Page 51: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

OpenVidu Browser & Server- Simplifica el modelo de programación sobre Kurento (o

cualquier futuro servidor de media)- Gestiona sesiones, permisos, negociación de media- Despliegues sencillos sobre proveedores cloud

(CloudFormation) o tu propia infraestructura (Ansible)- Componentes front de alto nivel

Page 52: OpenVidu, una plataforma open source para añadir ...videoconferencia a tu aplicación web y móvil Pablo Fuente Pérez ¿Éste quién es? @fuentepab pablofuenteperez@gmail.com @pabloFuente

MAD · NOV 23-24 · 2018

Gracias!!

@fuentepab

[email protected]

@pabloFuente