Patrones de diseño WebRTC PDF

Title Patrones de diseño WebRTC
Author Gustavo Navarro
Course Desarrollo de servicios Web
Institution Instituto Cibertec
Pages 4
File Size 168.8 KB
File Type PDF
Total Downloads 93
Total Views 123

Summary

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable Eng...


Description

1. Patrones de diseño 1.1. Comparación de tipos de diseño Se realiza una comparación entre los tipos de topologías Full Mesh, Star con MCU y Star con SFU en relación con su rendimiento en CPU y Banda Ancha tomando como referencia al artículo (DU JIN FANG, 2020) y la publicación (Dialogic Group Inc., 2016) se realiza la siguiente tabla para un escenario de 5 navegadores o peers. CPU encoders: Full Mesh MCU SFU

Servidor Banda Ancha uplink:

CPU encoders:

Cliente Banda Ancha uplink:

decoders N.A.

downlink N.A.

decoders por peer Alta (4: 4)

downlink por peer Alta (4: 4)

Alta (4: 4) Media (1: 4)

Alta (4: 4) Media (1: 4)

Normal (1:1) Media (1: 4)

Normal (1:1) Media (1: 4)

Nro. Total de

Tabla 1. Tabla comparativa de topologías Full Mesh, MCU y SFU servidor navegador Adaptado de (Dialogic Group Inc., 2016) y (DU JIN FANG, 2020)

Según los artículos antes citados, la topología Full Mesh es más apta en casos donde es aceptable sacrificar la escalabilidad en el tamaño de la conferencia para obtener conexiones con baja latencia. En el caso de MCU, responde a casos donde el consumo de CPU y la banda ancha es limitada por el lado del cliente. Y, por último, las SFU son ideales para casos donde se enfatiza un alto rendimiento en el servidor y flexibilidad por el lado del cliente.

1.2. Comparación de servidores SFU/MCU Según la investigación realizada, el uso de este tipo de servidores es relativo a ayudar en la escalabilidad de participantes al reducir la cantidad de transmisiones que cada participante necesita enviar o recibir. A continuación, se realizado un listado de este tipo de herramientas en base al análisis de publicaciones en (BlogGeek.me, 2016; Our Code World, 2021; Softermii, 2021; WebRTC.ventures, 2017): Nombre Jitsi Videobridge

Tipo SFU

Descripción Es un componente de servidor XMPP que permite la comunicación de video multiusuario mediante la retransmisión de video recibido de un participante

conexiones 40 10 25

Kurento

SFU/MCU

hacia otros (Jitsi, s/f) . Es un servidor de medios WebRTC modular que permite la transmisión, procesamiento, grabación y reproducción de medios.

Janus WebRTC Server

(WebRTC.ventures, 2017) Desarrollado por Meetecho,

SFU

es una solución de servidor WebRTC de propósito general. Este puede ser usado como SFU por medio de un plugin para ofrecer la retransmisión de audio y Mediasoup

video (Meetecho, s/f). Es un SFU WebRTC

SFU

desarrollado como biblioteca para Node.js en el lado servidor y biblioteca de javascript y C++ en el lado cliente. Tiene soporte para simulcast, control de congestión, estimación de banda ancha, etc. (Mediasoup, s/f) Tabla 2. Listado de servidores de medios SFU/MCU Open Source. Fuente: Elaboración propia

Las herramientas antes listadas fueron objeto de un estudio comparativo enfocado en pruebas de escalabilidad en un caso de uso de videoconferencia realizado por (Andre, Le Breton, Lemesle, Roux, & Gouaillard, 2018). De donde se resaltan los resultados obtenidos según máximo numero de salas creadas, cantidad de participantes totales y velocidad de envío y recepción promedio, lo cuales se muestran en la Tabla 3.

SFU Kurento

Max. Salas 20

Max. Participantes 130

Velocidad de envío/recepción promedio 250kpbs/120kbps

Jitsi

34

245

1.2Mbps/1.2Mbps

Janus

70

450

1.23Mbps/1Mbps

Mediasoup

70

490

780kbps/690kbps

Tabla 3. Tabla comparativa de SFUs Adaptado de (Andre, Le Breton, Lemesle, Roux, & Gouaillard, 2018)

De la tabla anterior, en términos de escalabilidad, se observa que tanto Jitsi como Mediasoup son las herramientas Opensource que cuentan con el mayor rendimiento tanto en términos de escalabilidad, máxima cantidad de participantes, como en términos de velocidad de envío/recepción promedio. Cabe destacar que en el caso de Mediasoup, al ser una biblioteca de Node.js, no se describe en el artículo si se realizó la configuración optima para este, al ser Node.js Single-Threaded, ya que cada SFU fue desplegado en una instancia de AWS de tipo c4.4xlarge separada que cuenta con 16 núcleos virtuales (“Tipos de instancias de Amazon EC2 - Amazon Web Services”, s/f).

2. Frameworks Frontend En comparación con bibliotecas, los frameworks ofrecen un conjunto de funciones que facilitan el proceso de desarrollo al ser responsables de decisiones como la estructura, estrategias de enrutado, administración de estado, empaquetamiento y otros. A continuación, se realiza la comparación de los frameworks Angular, React y Vue.js enfocado en el rendimiento de manipulación del DOM (Document Object Model) y también curva de aprendizaje.

3. Bibliografía Andre, E., Le Breton, N., Lemesle, A., Roux, L., & Gouaillard, A. (2018). Comparative Study of WebRTC Open Source SFUs for Video Conferencing. 2018 Principles, Systems and Applications of IP Telecommunications (IPTComm), 1–8. https://doi.org/10.1109/IPTCOMM.2018.8567642 BlogGeek.me. (2016). Should you use Kurento or Jitsi for your multiparty WebRTC video conference product? • BlogGeek.me. Recuperado el 29 de abril de 2021, de https://bloggeek.me/kurento-or-jitsi-multiparty-webrtc/ Dialogic Group Inc. (2016). Conquering Scalable WebRTC Conferencing How to optimize media processing with MCU and SFU. DU JIN FANG. (2020). FreeSWITCH video conferencing “standard” solution. Recuperado el 29 de abril de 2021, de https://blog.csdn.net/ssllkkyyaa/article/details/110085018 Jitsi. (s/f). jitsi/jitsi-videobridge: Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server). Recuperado el 26 de abril de 2021, de

https://github.com/jitsi/jitsi-videobridge Mediasoup. (s/f). versatica/mediasoup: Cutting Edge WebRTC Video Conferencing. Recuperado el 26 de abril de 2021, de https://github.com/versatica/mediasoup Meetecho. (s/f). Janus WebRTC Server: Video Room Demo. Recuperado el 26 de abril de 2021, de https://janus.conf.meetecho.com/videoroomtest.html Our Code World. (2021). Top 5: Best Open Source WebRTC Media Server Projects | Our Code World. Recuperado el 29 de abril de 2021, de https://ourcodeworld.com/articles/read/1212/top-5-best-open-source-webrtc-mediaserver-projects Softermii. (2021). Best Media Server Frameworks: Tips how to choose one for your needs [2021] | Softermii Blog. Recuperado el 29 de abril de 2021, de https://www.softermii.com/blog/best-media-server-frameworks-tips-how-to-choose-onefor-your-needs-2021 Tipos de instancias de Amazon EC2 - Amazon Web Services. (s/f). Recuperado el 13 de junio de 2021, de https://aws.amazon.com/es/ec2/instance-types/ WebRTC.ventures. (2017). A Guide to: WebRTC Media Servers & Open Source Options. Recuperado el 29 de abril de 2021, de https://webrtc.ventures/2017/11/a-guide-towebrtc-media-servers-open-source-options/...


Similar Free PDFs