Servidores de señalización de WebRTC: todo lo que necesita saber
Resumen:
La comunicación entre A y el servidor de señalización de WebRTC se llama mecanismo de respuesta de oferta, que forma parte de WEBRTC. Estos mensajes son mensajes SDP, no WEBRTC. Lo que sucede aquí es que WebRTC crea blobs SDP. Estos son bits de mensajes que el par debe indicar al otro par para conectarse a una sesión. Se puede hacer utilizando un servidor de señalización WEBRTC.
Puntos clave:
- El mecanismo de respuesta de oferta es parte de WebRTC y utiliza mensajes SDP.
- WebRTC crea blobs SDP para señalar al otro par.
- Un servidor de señalización de WebRTC puede facilitar la comunicación entre pares.
Preguntas:
- ¿Cuál es el mecanismo de respuesta de oferta??
- ¿Qué son los mensajes SDP??
- ¿Cómo crea WebRTC SDP Blobs??
- ¿Cuál es el papel de un servidor de señalización de WebRTC??
- ¿Se puede utilizar el mecanismo de respuesta de oferta sin un servidor de señalización de WebRTC?
- Qué otros métodos se pueden usar para la señalización en WEBRTC?
- ¿Cuál es el propósito de un servidor de aturdimiento en una conexión WEBRTC??
- ¿Necesita un servidor de aturdimiento para conexiones de red locales??
- ¿Qué es un servidor de turno en WebRTC??
- ¿Es posible crear un juego multijugador usando WEBRTC sin un servidor??
El mecanismo de respuesta de oferta es parte de WebRTC y se utiliza para establecer una conexión entre pares intercambiando mensajes SDP.
Los mensajes SDP, o los mensajes de protocolo de descripción de la sesión, son bits de información que contienen detalles sobre las transmisiones de medios y la conectividad de red requerida para establecer una sesión de WEBRTC.
WebRTC genera blobs SDP como parte del mecanismo de respuesta de oferta. Estos blobs contienen la información de señalización necesaria para establecer una conexión entre pares.
Un servidor de señalización de WebRTC ayuda a facilitar el intercambio de mensajes SDP entre pares, lo que les permite establecer una conexión.
No, el mecanismo de respuesta de oferta requiere un servidor de señalización para intercambiar la información necesaria entre pares.
Además de un servidor de señalización de WEBRTC, se pueden utilizar otros medios de comunicación, como servicios de mensajería, correos electrónicos o lápiz y papel para la señalización entre pares.
Se utiliza un servidor de aturdimiento para obtener la dirección IP pública y el puerto de un cliente. Ayuda a establecer conexiones entre pares a través de Internet.
No, no se requiere un servidor de aturdimiento para las conexiones de red locales, ya que las direcciones IP se pueden descubrir directamente.
Un servidor Turn actúa como una opción de retroceso en caso de que no se pueda establecer una conexión de igual directa. Relajan los datos entre pares, pero generalmente tiene más recursos y puede requerir el pago.
Sí, WebRTC permite la creación de juegos multijugador sin la necesidad de un servidor centralizado. El juego se puede jugar entre pares conectados en una red local sin una conexión constante a Internet.
Respuestas detalladas:
1. ¿Cuál es el mecanismo de respuesta de oferta??
El mecanismo de respuesta de oferta es una parte clave del protocolo WEBRTC. Se refiere al proceso a través del cual los pares establecen una conexión al intercambiar mensajes SDP (protocolo de descripción de la sesión). El iniciador envía una oferta al respondedor, que contiene información sobre las transmisiones de medios y los requisitos de conectividad de la red. El respondedor luego genera una respuesta, que incluye los parámetros necesarios para establecer la conexión. Este mecanismo permite la negociación y la configuración de una sesión de WebRTC entre pares.
2. ¿Qué son los mensajes SDP??
Los mensajes SDP, o los mensajes de protocolo de descripción de la sesión, son un formato estandarizado para describir las sesiones de medios. En el contexto de WebRTC, los mensajes SDP se utilizan para intercambiar información entre pares durante el mecanismo de respuesta de oferta. Estos mensajes contienen detalles sobre las transmisiones de medios, códecs, direcciones de red y otros parámetros relevantes necesarios para establecer una conexión WEBRTC.
3. ¿Cómo crea WebRTC SDP Blobs??
WebRTC genera blobs SDP como parte del mecanismo de respuesta de oferta. Estos blobs son esencialmente trozos de mensajes SDP que el par debe indicar al otro par para establecer la conexión. Los blobs contienen información como los códecs preferidos, las transmisiones de medios disponibles, los candidatos de ICE (establecimiento de conectividad interactiva) y otros detalles de la sesión relevantes. Al intercambiar estas blobs SDP, los compañeros pueden negociar y establecer una sesión de WebRTC.
4. ¿Cuál es el papel de un servidor de señalización de WebRTC??
Un servidor de señalización de WEBRTC actúa como intermediario para intercambiar mensajes de señalización entre pares. Facilita la transferencia de blobs SDP y otra información de señalización requerida para establecer una conexión WEBRTC. El servidor de señalización puede usar varios protocolos y canales de comunicación, como WebSocket o HTTP, para habilitar el intercambio de estos mensajes. Una vez que los compañeros han intercambiado la información de señalización necesaria, pueden establecer una conexión directa entre pares sin depender del servidor de señalización.
5. ¿Se puede utilizar el mecanismo de respuesta de oferta sin un servidor de señalización de WebRTC?
No, el mecanismo de oferta se basa en un servidor de señalización para facilitar el intercambio de mensajes SDP entre pares. El servidor de señalización juega un papel crucial en la coordinación de la negociación y la configuración de la sesión de WebRTC. Sin un servidor de señalización, los pares no podrían intercambiar la información de señalización necesaria requerida para establecer una conexión.
6. Qué otros métodos se pueden usar para la señalización en WEBRTC?
Mientras que un servidor de señalización de WEBRTC se usa comúnmente para la señalización entre pares, también se pueden utilizar otros medios de comunicación. Se pueden emplear servicios de mensajería, correos electrónicos o incluso métodos tradicionales como la pluma y el papel para intercambiar la información de señalización necesaria. La elección del método de señalización depende de los requisitos y restricciones específicas de la aplicación o sistema WEBRTC.
7. ¿Cuál es el propósito de un servidor de aturdimiento en una conexión WEBRTC??
Un servidor STUN (Session Traversal Utilidades para NAT) ayuda a establecer y mantener una conexión WEBRTC en diversas configuraciones de red. Su papel principal es determinar la dirección IP pública y el puerto de un cliente cuando está detrás de un dispositivo NAT (traducción de direcciones de red) o firewall. Esta información es crucial para establecer conexiones entre pares, especialmente cuando se comunica a través de Internet. El servidor de aturdimiento permite a sus compañeros descubrir sus propias direcciones IP públicas y facilitar la comunicación directa entre ellos.
8. ¿Necesita un servidor de aturdimiento para conexiones de red locales??
No, un servidor de aturdimiento no es necesario para establecer conexiones WEBRTC dentro de una red local. En un entorno de red local, los pares pueden comunicarse directamente entre sí utilizando sus direcciones IP internas sin la necesidad de NAT Traversal. Sin embargo, si la conexión WEBRTC se extiende más allá de la red local, se puede requerir un servidor de aturdimiento para determinar las direcciones IP públicas y los puertos de los pares.
9. ¿Qué es un servidor de turno en WebRTC??
Un servidor Turn (transversal usando relés alrededor de NAT) es otro tipo de servidor utilizado en las conexiones WEBRTC. Actúa como una opción de retroceso cuando las conexiones directas de igual a igual no se pueden establecer debido a restricciones de red o configuraciones de firewall. En tales casos, el servidor de giro transmite los datos entre los pares, actuando efectivamente como un proxy. Si bien los servidores Turn proporcionan una forma de establecer conexiones en entornos de red desafiantes, imponen requisitos adicionales de procesamiento y ancho de banda. Además, los servidores Turn típicamente son intensivos en recursos y pueden requerir una configuración o pago adicional.
10. ¿Es posible crear un juego multijugador usando WEBRTC sin un servidor??
Sí, WebRTC permite el desarrollo de juegos multijugador sin la necesidad de un servidor centralizado. Los pares pueden establecer conexiones directas de igual a igual utilizando la tecnología WEBRTC, lo que permite la comunicación en tiempo real y el intercambio de datos. Esto es especialmente útil en escenarios en los que los jugadores están en la misma red local, como las familias que juegan un juego juntos en una sala de estar. Con WebRTC, es posible crear juegos multijugador que se puedan jugar sin configurar un servidor dedicado y sin confiar en una conexión constante a Internet.
Servidores de señalización de WebRTC: todo lo que necesita saber
La comunicación entre A y el servidor de señalización de WebRTC se llama mecanismo de respuesta de oferta, que forma parte de WEBRTC. Estos mensajes son mensajes SDP, no WEBRTC. Lo que sucede aquí es que WebRTC crea blobs SDP. Estos son bits de mensajes que el par debe indicar al otro par para conectarse a una sesión. Se puede hacer utilizando un servidor de señalización WEBRTC.
Lesmana/WebRTC-Without-Signaling-server
Esta confirmación no pertenece a ninguna rama en este repositorio, y puede pertenecer a una bifurcación fuera del repositorio.
Cambiar ramas/etiquetas
Etiquetas de ramas
No pudo cargar ramas
Nada que mostrar
No se pudo cargar etiquetas
Nada que mostrar
Nombre ya en uso
Ya existe una etiqueta con el nombre de rama proporcionado. Muchos comandos GIT aceptan los nombres de etiquetas y ramas, por lo que crear esta rama puede causar un comportamiento inesperado. ¿Estás seguro de que quieres crear esta rama??
Cancelar crear
- Local
- Espacios de códigos
Https github cli
Use git o consulte con SVN utilizando la URL web.
Trabaja rápido con nuestra CLI oficial. Aprenda más sobre el CLI.
Inicio de sesión requerido
Inicie sesión para usar CodeSpaces.
Lanzamiento de Github Desktop
Si no pasa nada, descargue el escritorio de Github y vuelva a intentarlo.
Lanzamiento de Github Desktop
Si no pasa nada, descargue el escritorio de Github y vuelva a intentarlo.
Lanzamiento de Xcode
Si no pasa nada, descargue Xcode e intente nuevamente.
Lanzamiento del código Visual Studio
Tu CodeSpace se abrirá una vez que esté listo.
Hubo un problema para preparar su espacio de código, intente nuevamente.
Último cometer
Tsaglio y Lesmana Security Fix para mitigar XSS en el chat.
0CCD614 21 de diciembre de 2021
Estadísticas de git
Archivos
No se pudo cargar información de confirmación más reciente.
Último mensaje de confirmación
Tiempo de compromiso
Readme.Maryland
WebRTC Peer to Chat sin señalización del servidor
Esta demostración de tecnología demuestra una conexión de WebRTC de par de pares sin ningún servidor de señalización. Se utiliza un servidor de aturdimiento gratuito si la conexión se extiende por Internet. Un servidor de giro nunca se usa.
Dado que no se utiliza un servidor de señalización, la negociación debe hacerse manualmente. Eso significa que una llamada “oferta” debe copiarse del iniciador al respondedor. y la “respuesta” debe copiarse del respondedor al iniciador.
Objetivos de esta demostración tecnológica
Tener un sitio web HTML CSS JavaScript que solo debe descargarse una vez en cada dispositivo y luego se puede usar sin conexión a Internet constante. Utilizable en este contexto significa mantener la conexión entre pares.
tener un código fuente bien escrito y comentado para que otros puedan aprender.
Idealmente, todo en un archivo HTML grande. Secundario: un archivo HTML grande pero aún legible por humanos.
Queremos crear un juego multijugador jugable sin configurar un servidor. Los dispositivos de destino son tabletas y teléfonos inteligentes típicamente conectados en una red local. Los usuarios objetivo son familias. Una situación típica sería una familia en una sala de estar, cada una con su propio dispositivo, queriendo jugar un juego juntos.
Con WebRTC esperamos poder crear un juego que se pueda jugar multijugador sin configurar ningún servidor e incluso sin requerir una conexión constante a Internet.
WebRTC es una tecnología para las conexiones entre pares a través de Internet. Peer to Peer significa que los datos van de un navegador directamente al otro navegador sin un servidor en el medio. WebRTC se desarrolló originalmente para chats de video, pero la tecnología subyacente se puede utilizar para cualquier dato.
Una conexión WEBRTC puede involucrar tres tipos de servidores: un servidor de señalización, un servidor de aturdimiento y un servidor de giro.
Un servidor de señalización, si se usa, solo se usa para negociar la conexión. Una vez que se establece la conexión, ya no se requiere un servidor de señalización.
Se requiere un servidor de aturdimiento para que Internet se enfrente a la dirección. Si intenta conectarse a través de una red local, no se requiere un servidor de Stun. Un servidor de aturdimiento también solo se requiere en la fase de negociación.
Se puede usar un servidor de giro como una opción de retroceso si no se pudo establecer una conexión de par a par de pares. Una conexión sobre un servidor de giro forma un navegador típico – Servidor – Conexión del navegador.
La señalización no es parte del estándar WEBRTC. Cualquier medio de comunicación accesible por ambos pares puede usarse para negociar. por ejemplo, servicios de mensajería, correos electrónicos o bolígrafo y papel.
Un servidor de aturdimiento es liviano y generalmente de forma gratuita para cualquier persona. Uno podría pensar en un servidor de aturdimiento como un servidor DNS.
Un servidor de giro necesita para que sean de recubrimiento de todos los datos de un extremo a otro. Por lo tanto, debe ser poderoso y generalmente se limita a los clientes de pago.
Copyright Lesmana Zimmer [email protected]
Este programa es software libre. Tiene licencia bajo la versión 3 o posterior de GNU AGPL. Eso significa, en resumen, usted usa gratuitamente este programa para cualquier propósito; libre de estudiar y modificar este programa para satisfacer sus necesidades; y libre de compartir este programa (en forma original o modificada) con cualquier persona. Si comparte este programa, debe hacerlo bajo la misma licencia. Eso significa que debe proporcionar el código fuente y otorgar las mismas libertades. Si usa este programa como servicio web, se aplican las mismas reglas como si compartan. Para más detalles, consulte https: // www.ñu.org/licencias/AGPL-3.0.html
Acerca de
WebRTC sin servidor de señalización. Todavía se usa un servidor de aturdimiento si se conecta a través de Internet.
Servidores de señalización de WebRTC: todo lo que necesita saber
Antes del servidor de señalización de WebRTC, deje’s explique brevemente qué es WebRTC. WebRTC significa comunicaciones en tiempo real web. Es una tecnología poderosa y un protocolo de transmisión de código abierto.
WebRTC es compatible con HTML5 y le permite agregar comunicaciones en tiempo real a sus aplicaciones para comunicarse directamente entre navegadores y dispositivos. Puedes hacerlo sin complementos. Es compatible con todos los principales navegadores, incluidos Safari, Google Chrome, Firefox y Opera.
I’Estoy seguro de que tu’he oído hablar de WebRTC que se usa como un par de igual. Sin embargo, también se usa en casos de uso de WebRTC N2N (multidifusión o múltiple visión) con servidores de medios como Ant Media Server. Dejar’s Revisa el servidor de señalización de WebRTC ahora.
¿Qué es la señalización de WebRTC??
La señalización de WebRTC es un proceso de configuración, control y terminación de una sesión de comunicación entre pares. Para que dos pares comiencen a conectarse entre sí, se deben intercambiar tres tipos de información:
- Información de control de sesión determina cuándo inicializar, cerrar y modificar las sesiones de comunicaciones. También se puede utilizar para informar errores.
- Datos de red revela dónde se encuentran los puntos finales en Internet (dirección IP y puerto) para que las llamadas (1. par) puede encontrar calles (2. par).
- Datos de medios se requiere para determinar los códecs y los tipos de medios que las personas que llaman y las calles tienen en común. Si los puntos finales que intentan iniciar una sesión de comunicaciones tienen diferentes resoluciones y configuraciones de códec, entonces es poco probable una conversación exitosa. La señalización de que intercambia la información de configuración de los medios entre pares se produce mediante el uso de una oferta y respuesta en el formato de protocolo de descripción de la sesión (SDP).
¿Qué es un servidor WEBRTC??
Un servidor que proporciona la funcionalidad requerida para la conexión adecuada de las sesiones de WebRTC en la nube o autohospedado para que sus proyectos de WebRTC funcionen se denomina “Servidor WEBRTC”.
4 tipos de servidores WEBRTC:
- Servidores de aplicaciones WebRTC
- Servidores de señalización de WebRTC
- Servidores de recorrido NAT para WEBRTC
- Servidores de medios de WebRTC
¿Qué es un servidor de señalización de WebRTC??
Un servidor de señalización de WebRTC es un servidor que administra las conexiones entre pares. Solo se usa para la señalización. Ayuda a permitir que un compañero encuentre otro en la red, negociando la conexión en sí, restableciendo la conexión si es necesario y cerrarla hacia abajo.
Todos los pares envían notificaciones al servidor, están conectados y el servidor las reenvía al par. Las solicitudes de notificación se pueden realizar a través de los protocolos WebSockets o HTTP, como REST para el envío y las largas encuestas para recibir. Ambas formas necesitan un esfuerzo o poder adicionales para recibir mensajes de notificación. Por ejemplo, WebSocket debe estar vivo y no se puede utilizar a pedido o largas necesidades de votación para hacer una solicitud HTTP mucho tiempo en un período corto que consume ancho de banda.
¿Cómo funciona la señalización de WebRTC??
El servidor de señalización de WebRTC en el diagrama ayuda a dos pares a encontrar y conectarse entre sí. Ambos pares están vinculados a ese servidor de señalización de WEBRTC. También puede conectarse de esta manera mientras chatea en video con su cónyuge o hace algunos trabajos bancarios utilizando la comunicación de video con su banco.
A y B están conectados al servidor de señalización WEBRTC a través de una conexión WebSocket o solicitudes de HTTP secuenciales.
La comunicación entre A y el servidor de señalización de WebRTC se llama mecanismo de respuesta de oferta, que forma parte de WEBRTC. Estos mensajes son mensajes SDP, no WEBRTC. Lo que sucede aquí es que WebRTC crea blobs SDP. Estos son bits de mensajes que el par debe indicar al otro par para conectarse a una sesión. Se puede hacer utilizando un servidor de señalización WEBRTC.
La conexión entre Peer A y Peer B en el diagrama se establece para enviar medios directamente entre dispositivos. Para llegar allí, los compañeros primero deben comunicarse a través del servidor de señales WEBRTC.
No hay un protocolo de señalización estándar para transferir ofertas y respuestas. Algunos mecanismos de señalización comúnmente utilizados:
Sondeo largo: Las aplicaciones web, que están utilizando contenido en vivo, deben obtener eventos para actualizar su estado. Desafortunadamente, los servidores sin solicitudes del navegador o las conexiones de WebSocket no pueden actualizar páginas web. Largas encuestas, que es un mecanismo como el cometa, hace solicitudes al servidor en un intervalo para obtener eventos.
Transmisión http: El mecanismo de transmisión es una especie de votación larga que mantiene la conexión abierta indefinidamente. Incluso si un evento se transmite al cliente, la conexión no se cerrará. Si bien este mecanismo resuelve algunos problemas de largas encuestas, tiene sus propios problemas. La transmisión HTTP no funcionará con algunos intermediarios de red, como algunos proxies o puertas de enlace, porque los intermediarios almacenan en caché la respuesta antes de enviarla al cliente. Además, las técnicas de almacenamiento y almacenamiento de clientes se pueden enumerar como otros problemas de la TI.
SIP Over WebSocket: En las aplicaciones basadas en la web generalmente, la comunicación bidireccional es habilitada por WebSockets. Esta conexión bidireccional y full-duplex comienza con el protocolo HTTP/HTTPS y actualiza este protocolo a WebSocket durante el cliente y el servidor’s apretón de manos. Sobre este texto de conexión y los datos binarios se pueden transferir en modo Full-Duplex. Dado que el tamaño mínimo de la trama de datos es dos bytes, esta técnica de conexión no consume el tráfico de red cuando está inactivo. Por lo tanto, el uso de datos especialmente formateados puede hacer una señalización entre pares. SIP Over WebSocket es como WebSockets, solo en lugar de usar mensajes especialmente formateados; Uno usa mensajes SIP en notificaciones. Todos los clientes están conectados al servidor a través de WebSocket y realizan señalización sobre los servidores.
Conectar compañeros y comenzar la comunicación puede sonar fácil. Internet que usamos no nos permite conectarnos con sus compañeros tan fácilmente como imaginamos. Para establecer esta conexión y comunicación, necesitamos pasar por firewalls y dispositivos NAT.
Entonces, ¿cómo se trata un mecanismo de señalización de WebRTC con problemas de Internet??
La señalización de WebRTC utiliza un protocolo conocido como hielo que recoge, intercambia e intenta conectar una sesión con candidatos a ICE . Los candidatos de ICE son direcciones potenciales que pueden hacer que los compañeros se conecten entre sí. Con tres métodos, el hielo puede calcular la ruta transversal Nat más rápida y fácil para que un paquete llegue a su par de destino .
1. Método: conexión UDP
Establecer una conexión UDP utilizando la dirección IP obtenida de un dispositivo’S Sistema operativo y tarjeta de red. Esto inevitablemente fallará en dispositivos detrás de NATS. Eso’S Por qué se ignora esta opción.
2. Método: un servidor de aturdimiento
Los servidores de Stun son el método más utilizado en la señalización de WebRTC. En resumen, funciona así. Un servidor de Stun verifica la dirección IP y el puerto para las solicitudes entrantes y luego envía esa dirección al par en respuesta. Esto permite que la aplicación presente una dirección de acceso público y luego la reenvíe a través del mecanismo de señalización a otro par de WebRTC.
3. Método: un servidor de giro.
El último método utilizado por ICE es un servidor de retransmisión de turnos. Los servidores de giro se utilizan para transmitir audio, video y otros datos en tiempo real entre pares. No comparte información de señal, ya que permite el intercambio de datos en tiempo real entre pares. Los servidores de giro tienen direcciones públicas, por lo que los compañeros pueden conectarse a ellos incluso si están detrás de Nats y Firewalls.
Obtuvimos información detallada sobre la señalización y los servidores de señalización de WebRTC. Como mencionamos al comienzo de la publicación del blog, WebRTC no solo se usa para conexiones entre pares. En escenarios N2N, se necesita más que un servidor de señalización de WEBRTC. Uno de los servidores WEBRTC es un servidor de medios de WEBRTC.
Por qué se requieren servidores de medios WEBRTC para transmisiones N2N WEBRTC?
En algunos escenarios N2N, 1 persona puede transmitir a más de una persona, o varias personas pueden transmitir a varias personas. Puede pensar en ejemplos como seminarios web a los que asiste y transmisiones en vivo de las redes sociales.
Al transmitir contenido de medios de WebRTC a una gran audiencia, debe usar un servidor de medios. Esto se debe a que no queremos establecer conexiones P2P para cada usuario. Un escenario como este consumiría muchos recursos y no es muy realista. Dejar’s da un ejemplo.
Dejar’s Dice que desea transmitir un video de 2 Mbps usando WEBRTC y transmitir una gran conferencia a 200 audiencias. Sin un servidor de medios, el dispositivo que utiliza para llegar a cada visor necesitará usar una conexión de enlace ascendente de 400 Mbps. Imagina lo difícil que sería crear tal configuración.
En tales casos, la solución es usar un servidor de medios como Ant Media Server. La emisora’El dispositivo S envía el contenido multimedia al servidor de medios, que a su vez envía ese contenido a los espectadores’ dispositivo. La mejor característica del servidor de medios no es solo que puede enviar transmisiones a n personas, sino también que el servidor de medios maneja la transcodificación y codificación, incluso reempaquetando la transmisión WEBRTC a otros protocolos, escalándolo e incluso agregando la función de transmisión adaptativa para mantener feliz a la audiencia. El servidor de medios también puede actuar como un servidor de señalización de WEBRTC. Ant Media Server puede hacer todo esto y más. ��
Ant Media ha estado sirviendo a más de 1525 clientes en más de 120 países de todo el mundo. Clientes de diferentes segmentos, como educación, subastas en vivo, transmisiones de radio y televisión, proveedores de servicios, agencias gubernamentales y compañías de juegos mejoran su negocio mediante el uso de Ant Media Server y beneficiándose de sus capacidades.
Pruebe Ant Media Server gratis
Explore Ant Media Server ahora para proporcionar a los espectadores una experiencia única.
Pruebe Ant Media Server de forma gratuita con sus características completas que incluyen Flutter y otros SDK de WEBRTC.
Servidores WEBRTC y comunicación multipartidista en WEBRTC
En publicaciones anteriores, presentamos la tecnología WebRTC y los conceptos básicos. Como mencionamos en artículos anteriores, WebRTC se usa para la comunicación entre pares en los navegadores. Sin embargo, ahora se usa ampliamente en prácticas multilaterales con uno a muchos o muchos a muchos participantes. Además, para usar WEBRTC en dicho proyecto, lo más probable es que necesite servidores WEBRTC.
Lo que sea que esté desarrollando con WebRTC, debe saber qué es un servidor WEBRTC y para qué se usa. Esto hace que tu trabajo sea muy fácil.
En esta publicación detallada, introduciremos servidores WEBRTC y nuevos conceptos como la Unidad de conferencias multipunto (MCU), unidad de reenvío selectivo (SFU), transcodificación y transmisión simultánea, y nosotros’Explicará cómo usar un servidor WEBRTC gratuito.
Dejar’s Comience con la definición de WebRTC y continúe con la pregunta de qué es el servidor WebRTC.
¿Qué es WebRTC??
WebRTC significa comunicaciones en tiempo real web. WebRTC es una tecnología de vanguardia muy emocionante, poderosa y altamente disruptiva y un protocolo de transmisión de código abierto.
WebRTC es compatible con HTML5 y puede usarlo para agregar comunicaciones de medios en tiempo real directamente entre navegadores y dispositivos. Y puede hacerlo sin la necesidad de que se instalaran ningún requisito de complementos en el navegador. Anteriormente, se requerían complementos externos para lograr una funcionalidad similar a la que ofrece WebRTC. Y WebRTC se está volviendo progresivamente respaldado por todos los principales proveedores de navegadores modernos, incluidos Safari, Google Chrome, Firefox, Opera y otros. Gracias a WebRTC, podemos experimentar la latencia sub-segundo/en tiempo real en la transmisión de video. Dejar’s Descubra qué es el servidor de transmisión de WebRTC.
¿Qué es el servidor WEBRTC??
Un servidor que proporciona la funcionalidad requerida para la conexión adecuada de las sesiones de WebRTC en la nube o autohospedado para que sus proyectos de WebRTC funcionen se denomina “Servidor WEBRTC”.
Tipos de servidor WEBRTC?
Hay 4 tipos de servidores WEBRTC:
- Servidores de aplicaciones WebRTC
- Servidores de señalización de WebRTC
- Servidores de recorrido NAT para WEBRTC
- Servidores de medios de WebRTC
Servidores de aplicaciones WebRTC
Los servidores de aplicaciones de WebRTC son básicamente servidores de alojamiento de aplicaciones y sitios web. Si, eso’s todo.
Servidores de señalización de WebRTC
WebRTC Signaling Server es un servidor que administra las conexiones entre dispositivos. No se preocupa por el tráfico de medios en sí, su enfoque está en la señalización. Esto incluye permitir a un usuario encontrar otro en la red, negociar la conexión en sí, restablecer la conexión si es necesario y cerrarla.
Servidores de recorrido NAT para WEBRTC
Traversal de traducción de direcciones de red es una técnica de redes informáticas para establecer y mantener conexiones de protocolo de Internet en las puertas de enlace que implementan la traducción de direcciones de red (NAT).
Se requieren técnicas de recorrido NAT para muchas aplicaciones de red, como el intercambio de archivos entre pares y la voz a través de IP.
Servidores de medios de WebRTC
Un servidor de medios de WebRTC es un tipo de “middleware multimedia” (ubicado en el medio de los pares comunicantes) a través del cual el tráfico de medios pasa a medida que pasa de origen a destino. Los servidores de medios pueden ofrecer diferentes tipos, incluyendo procesamiento de transmisiones de medios y comunicaciones grupales (distribuyendo transmisiones de medios creadas por un par entre varios receptores i.mi. Unidad de múltiples conferencias, que actúa como un MCU), mezcla (convirtiendo varias transmisiones entrantes en una sola corriente compuesta), transcodificación (adaptación de códecs y formatos entre clientes incompatibles), grabación (almacenamiento permanente de medios intercambiados entre pares), etc.
Muchos servicios populares de WebRTC están alojados hoy en AWS, Google Cloud, Microsoft Azure y Servidores de Ocean Ocean. Puede incrustar sus medios WEBRTC en cualquier WordPress, PHP u otro sitio web.
Ahora, sabemos lo suficiente sobre el servidor WEBRTC. Es hora de sumergirse en topologías multipartidistas de WebRTC.
Topologías multipartidistas de Webrtc
Topología de malla
Mesh es la topología más simple para una aplicación multipartidista. En esta topología, cada participante envía y recibe medios de todos los demás participantes. Dijimos que es el más simple porque es el método más directo. Además, no hay obras difíciles y una unidad central como un servidor WEBRTC.
Topología de malla en Webrtc
Pros:
- Requiere solo una implementación básica de WebRTC.
- Dado que cada participante se conecta con el otro par de igual, no es necesario un servidor central.
Contras:
- Solo un número restringido de participantes (casi 4-6) puede conectarse entre sí.
- Dado que cada participante se envía medios entre sí, requiere enlaces ascendentes N-1 y enlaces descendentes N-1.
Mezclar topología y MCU
Mezclar es otra topología en la que cada participante envía sus medios a un servidor central y recibe medios del servidor central. Estos medios pueden contener algunos o todos los demás participantes’S Media. Este servidor central se llama MCU.
Mezcla de topología y MCU en WebRTC
Pros:
- El lado del cliente requiere solo la implementación básica de WEBRTC.
- Cada participante solo tiene un enlace ascendente y un enlace descendente.
Contras:
- Dado que el servidor MCU hace decodificar y codificar cada participante’S Media, requiere una alta potencia de procesamiento.
Topología de enrutamiento y SFU
El enrutamiento es una topología multipartidista donde cada participante envía sus medios a un servidor central y recibe todos los demás’S Media del servidor central. Este servidor central se llama SFU.
Topología de enrutamiento y SFU en WEBRTC
Pros:
- SFU requiere menos potencia de procesamiento que MCU.
- Cada participante tiene un enlace ascendente y cuatro enlaces descendentes.
Contras:
- SFU requiere un diseño e implementación más complejos en el lado del servidor.
Puede consultar aquí para obtener más información.
Transcodificación
La transcodificación es el proceso de decodificación de medios comprimidos, cambiando algo en él y luego volver a codificarlo. El cambio es la palabra clave de este proceso. ¿Qué se puede cambiar en los medios??
Primero, puede cambiar el códec ya que algunos códecs son compatibles con protocolos o jugadores.
Además, la transacción es un cambio que está en la tasa de bits de los medios. Por ejemplo, cambiar la tasa de bits de medios de 600kbps a 300 kbps.
Otro cambio es el tamaño trans que está en el tamaño de los medios. Por ejemplo, cambiar el tamaño del marco de un medio de 1280 × 720 (720p) a 640 × 480 (480p) es el tamaño trans.
Además, hay muchos otros cambios o procesos de filtrado disponibles en el área de procesamiento de videos.
Tasa de bits adaptativa
La transmisión adaptativa de tasa de bits son los ajustes a la calidad del video de acuerdo con la calidad de la red. En otras palabras, si la calidad de la red es baja, el servidor disminuye la tasa de bits de video. Esto es necesario para proporcionar una transmisión ininterrumpida bajo conexiones de red de baja calidad. Claramente, las diferentes tasas de bits de la transmisión deben estar disponibles para proporcionar una técnica de tasa de bits adaptable. Una forma de tener diferentes tasas de bits de la corriente es la transacción. A saber, el servidor produce diferentes transmisiones con diferentes tasas de bits de la transmisión original. Sin embargo, la transacción es costosa en términos de potencia de procesamiento.
Transmisión simultánea
Una alternativa a la transacción para proporcionar tasa de bits adaptativa es la transmisión simultánea. En esta técnica, el editor envía múltiples transmisiones con diferentes tasas de bits en lugar de una transmisión. El servidor selecciona la mejor transmisión para los clientes considerando la calidad de la red.
Con el cambio y el desarrollo de las necesidades de comunicación en el mundo, la curiosidad y el interés en WebRTC y, por lo tanto, los servidores de WebRTC están aumentando. Para satisfacer este interés y necesidad, Ant Media Server se está convirtiendo en un motor de transmisión WEBRTC más potente y ofrece nuevas características prometedoras para la transmisión de video WEBRTC todos los días.
Cómo usar un servidor WEBRTC gratuito
El uso de un servidor WEBRTC de código abierto de forma gratuita debe sonar genial. Ant Media ha comenzado a ofrecer una licencia de pago por uso para contribuir al mundo de la transmisión con 100 horas de uso gratuito cada mes. No hay límites de transmisión ni espectador. Esta es una oportunidad única, especialmente para las personas con el uso limitado de las necesidades del servidor de transmisión de WebRTC.
Utilice Ant Media Server de forma gratuita, uno de los servidores WEBRTC más utilizados
Ant Media ofrece soluciones de transmisión de video en tiempo real listas para usar y altamente escalables para las necesidades de transmisión de video en vivo. Según los requisitos y preferencias del cliente, permite que una solución de transmisión de video en vivo se implementa fácil y rápidamente en las instalaciones o en redes públicas en la nube como AWS, Alibaba Cloud y Azure.
Hormigas’El producto bien conocido, llamado Ant Media Server, es una plataforma de transmisión de video y uno de los servidores de transmisión WEBRTC de código abierto más utilizados, que proporciona soluciones de transmisión de video de latencia altamente escalable y ultra baja (WEBRTC) y de baja latencia (CMAF & HLS) respaldadas con utilidades de gestión operativa con la gestión operativa. Ant Media Server es un servidor WEBRTC de origen completamente abierto para admitir desarrolladores y el ecosistema de transmisión.
Ant Media Server proporciona compatibilidad para reproducirse en cualquier navegador web. Además, los SDK de WebRTC para iOS, Android, JavaScript, Unity, React Native y Flutter se proporcionan libremente para permitir a los clientes expandir su alcance a un público más amplio. Gracias a la función de transmisión de tasa de bits adaptativa que permite que se reproduzca cualquier video en cualquier ancho de banda en dispositivos móviles.
Pruebe Ant Media Server gratis
Explore Ant Media Server ahora para proporcionar a los espectadores una experiencia única.
Pruebe Ant Media Server de forma gratuita con sus características completas que incluyen Flutter y otros SDK de WEBRTC.
En esta publicación de blog, intentamos brindarle la información que necesitará sobre su servidor WebRTC y las topologías multipartidistas de WebRTC. Esperamos poder ayudarte!
Para sus preguntas, puede comunicarse con nosotros utilizando la dirección de correo [email protected].
Enlaces útiles
Puede descargar SDK nativos de Android, iOS, Flutter, React Native y Unity WebRTC e integrarlos en sus aplicaciones de forma gratuita!
Ant Media Server Github Wiki
Configuración de una solución de escala de servidor de medios de hormiga con CloudFormation
Servidor WebRTC: qué es y por qué necesita uno
El protocolo de comunicaciones en tiempo real (WEBRTC) web ha estado haciendo olas con su promesa de transmisión de latencia ultra baja a medida que la demanda de videos interactivos continúa creciendo. WebRTC también es conocido popularmente por no requerir que un servidor se transmita en tiempo real entre pares. Sin embargo, la relación entre WebRTC y los servidores es más compleja de lo que parece, especialmente si’Esperando transmitir a audiencias más amplias.
En este artículo, nosotros’LL toque los diferentes tipos de servidores WEBRTC y cuando los necesite. En particular, nosotros’Discutir los innumerables beneficios de los servidores de medios para una variedad de flujos de trabajo de WebRTC y lo que puede hacer para aprovechar estos beneficios para su solución de transmisión.
Tabla de contenido
- ¿Necesito un servidor WEBRTC??
- Tipos de servidores WEBRTC
- ¿Qué es un servidor de aplicaciones WebRTC??
- ¿Qué es un servidor de señalización de WebRTC??
- ¿Qué es un servidor de traversal WebRTC NAT??
- ¿Qué es un servidor de medios WebRTC??
- Tipos de servidores de medios
- Flujos de trabajo habilitados por servidores de medios
- Resumen de los beneficios del servidor de medios
- Wowza Streaming Engine y WebRTC
- Wowza Video y Webrtc
¿Necesito un servidor WEBRTC??
Que depende completamente de lo que esté tratando de lograr. Dejar’s Tomar un momento para romper cómo funciona WebRTC y afirma que no se necesitan servidores necesarios. WebRTC utiliza tres API de JavaScript para capturar, codificar y transmitir datos, eliminando la necesidad de servidores intermediarios que de otro modo podrían cumplir estas funciones.
- API GetUsermedia – Permite a los usuarios capturar datos de video sin procesar a través de su propia cámara web o micrófono.
- API RTCPeerConnection – toma estos datos sin procesar y los codifica para la transmisión. También establece la conexión inicial de igual a igual sobre la cual se transmitirán los datos codificados y es responsable de transmitir datos de medios de un par a otro.
- API RTCDATACHANNEL – transmite otros tipos de datos, incluidos los datos de texto y de aplicación arbitrarios, entre pares.
Cuando se trata de una conexión básica de igual a igual, estas API hacen el trabajo. Sin embargo, son lamentablemente insuficientes en la mayoría de los casos. Esto es particularmente cierto si desea transmitir a un público más amplio o atravesar un dispositivo NAT. Incluso una conexión de igual a igual basada en el navegador estándar utiliza técnicamente un servidor de aplicaciones, los mismos servidores de aplicaciones en los que dependen los navegadores.
Realmente, ahí’s No hay forma de usar realmente WebRTC sin ningún servidor. Incluso si transmitiera desde una conexión entre pares a través de una conexión de red local (LAN) y con acceso a ambas computadora’S IP e información portuaria, usted’D necesita alguna forma de alojar la aplicación. Entonces ahora que nosotros’Ve Disabrouse de la idea de que WebRTC es una tecnología libre de servidores en cualquier sentido práctico del término, deje que’s Explore cuáles son los diferentes servidores WEBRTC y cuándo es posible que necesite cada uno.
Manténgase al día con todas las últimas tendencias
Obtenga informes de video y artículos entregados en su bandeja de entrada.
Tipos de servidores WEBRTC
Hay cuatro tipos principales de servidores que puede encontrar cuando use WEBRTC. En esta sección, nosotros’he proporcionado una breve descripción de cada uno, lo que hacen y cuando son necesarios.
¿Qué es un servidor de aplicaciones WebRTC??
Nosotros’he tocado esto un poco arriba. Un servidor de aplicaciones simplemente aloja aplicaciones. Para WebRTC, el servidor de aplicaciones suele ser el sitio web que aloja el servicio. Claro, estos no’T técnicamente parte de su servicio WebRTC, pero como tecnología basada en navegador,’no voy a correr sin eso.
¿Es necesario un servidor de aplicaciones WEBRTC?? Sí. Incluso si decide llevar su solución WebRTC a una configuración de LAN, aún necesita alguna forma de alojar el servicio.
¿Qué es un servidor de señalización de WebRTC??
La señalización en WEBRTC es el proceso por el cual los dispositivos cliente establecen una conexión. Básicamente, estos dispositivos deben aceptar hablar entre ellos antes de poder enviar y recibir datos. Y para llegar a un acuerdo, necesitan saber cómo “encontrar” entre sí.
Un dispositivo envía un protocolo de descripción de sesión (SDP) que contiene cierta información de identificación (también conocida como establecimiento de conectividad a Internet o candidatos a ICE), como la información de puerto e IP, a un servidor de señalización. Este servidor envía el SDP al otro dispositivo. También transmite señales de aceptación de SDP entre los pares.
¿Es necesario un servidor de señalización de WEBRTC?? Dejar’S Póngalo de esta manera: lo que necesita es transmitir información de SDP entre dispositivos para establecer una conexión. Si tiene su dirección IP e información de puerto disponible, puede establecer una conexión de cualquier manera que tenga sentido, ya sea en papel, teléfono o paloma de operadores. Al final del día,’s solo un pedazo de texto. Sin embargo, esto no’T Práctico para la mayoría de las personas, haciendo que un servidor de señalización sea efectivamente esencial para su flujo de trabajo WEBRTC.
¿Qué es un servidor de traversal WebRTC NAT??
Parece que debería ser simple: conectar dos o más compañeros de forma remota. Sin embargo, el proceso es más complicado de lo que parece gracias a los dispositivos de traducción de direcciones de red (NAT). Estos dispositivos bloquean los dispositivos de clientes para localizar sus propias direcciones de protocolo de Internet (IP). Antes de enviar una solicitud SDP, una computadora debe saber su dirección IP. Eso’s Donde entra Nat Traversal.
Servidor de Stun WebRTC
El primer método de traversal NAT se conoce como utilidades transversales de sesión para NAT (aturdimiento). En pocas palabras, un dispositivo cliente hace un servidor de aturdimiento, pidiendo una conexión. Este servidor está ubicado en Internet público y requiere una dirección IP para cualquier dispositivo que intente comunicarse con él. Por lo tanto, cuando un dispositivo lo hace, responde con ese dispositivo’S Dirección IP. La información recibida del servidor STUN se puede utilizar en el SDP enviado a través del servidor de señalización.
Servidor de giro webrtc
Si su dispositivo NAT es particularmente estricto, entonces es posible que Stun no funcione para usted. Eso’s Donde el recorrido usando relés alrededor de Nat (giro) entra en. En este caso, renuncia a los candidatos de hielo y las conexiones del protocolo SDP y simplemente da la vuelta al firewall Nat. Los servidores de giro tienen direcciones IP públicas, lo que hace que se conecten. Cuando dos clientes se conectan, pueden enviarse medios entre sí utilizando el servidor Turn como intermediario.
¿Son necesarios los servidores transversales de WebRTC NAT?? Debe poder establecer una conexión con otro dispositivo para enviarlo a los medios. Si conoce su dirección IP, entonces no’Necesito preocuparme por estas elegantes soluciones. Desafortunadamente para muchos, que’es un gran “si.”
¿Qué es un servidor de medios WebRTC??
Por definición, un servidor de medios almacena medios digitales y lo pone a disposición en una red. En el caso de una conexión WEBRTC de igual a igual, este servidor se encuentra entre los pares y actúa como un intermediario multimedia, tomando medios de un extremo y enviándolo a otro. Al hacerlo, hace posibles cosas como transcodificar y de uno a muchos.
¿Es necesario un servidor de medios de WEBRTC?? Técnicamente, no, especialmente si’solo está usando WebRTC para una conexión individual. Sin embargo, los servidores de medios vienen con una miríada de beneficios y hacen posible aprovechar los numerosos flujos de trabajo. Dejar’S eche un vistazo más de cerca a lo que un servidor de medios WEBRTC puede hacer por usted.
Obtenga la mejor guía de WebRTC
Todo lo que necesita para iniciar sus propias transmisiones en vivo de latencia ultra baja está a un clic de distancia.
Resaltar en los servidores de medios de WebRTC
En primer lugar, los servidores de medios pueden ser muchas cosas diferentes. Literalmente, cualquier dispositivo o servicio que tome medios, lo almacene y lo haga a disposición de otros dispositivos es técnicamente un servidor de medios. Cuando se trata de WebRTC, los servidores de medios generalmente ayudan a asumir la carga de flujos de datos de alto volumen, lo que permite transmitir a audiencias más grandes. Esto abre la puerta a una variedad de flujos de trabajo de WebRTC alternativos, incluidos el transcurrido simultáneo y la codificación de video escalable (SVC).
Tipos de servidores de medios
Es probable que su servidor de medios WEBRTC se entregue en una de las dos categorías: unidad de reenvío selectivo (SFU) o unidad de múltiples conferencias (MCU). Cada uno de estos tipos de servidores de medios viene con diferentes fortalezas.
Unidad de múltiples conferencias
El objetivo principal de un MCU es tomar medios proporcionados por dispositivos pares y redistribuirlos como una sola transmisión. Básicamente,’S su solución rápida para transmitir a un grupo más grande. Debido a que emite una señal estándar, también se puede decodificar fácilmente en los sistemas existentes. Sin embargo, carece de la flexibilidad y la escalabilidad de una SFU ya que el trascodado en una sola corriente toma mucha CPU.
Unidad de reenvío selectivo
Una SFU es, bueno, selectiva. Él’es un poco más complejo que un MCU, ya que recibe medios y luego decide qué medios enviar a otras partes. Principalmente difiere de un MCU en el sentido de que’no convierte a todos los medios en una sola transmisión. En cambio, elige de múltiples opciones de acuerdo con ciertos criterios. Un buen ejemplo de esto es en la transmisión simultánea de WebRTC, donde se envían varias versiones de una transmisión a una SFU para su distribución a los dispositivos de usuario final de acuerdo con su ancho de banda disponible. En una configuración más estándar, la SFU toma transmisiones individuales y las envía a todos los demás usuarios como transmisiones individuales.
Flujos de trabajo habilitados por servidores de medios
Lo número uno que un servidor de medios le permite aprovechar es una transmisión de uno a muchos. Técnicamente, esto es posible sin el uso de un servidor de medios. Sin embargo, enviar y recibir múltiples transmisiones puede presentar una tensión en una computadora individual. Los servidores de medios actúan como un par de WebRTC en el lado del servidor y llevan la carga de recopilar y enviar estos datos para aliviar dicha tensión. Los servidores SFU, en particular, también facilitan un puñado de flujos de trabajo destinados a mejorar la calidad y la accesibilidad del flujo.
Transmisión simultánea de Webrtc
No debe confundirse con la transmisión simultánea típica, donde uno se transmite a múltiples plataformas a la vez, la transmisión simultánea de WEBRTC es un método por el cual los medios están codificados en algunas tasas de bits diferentes y se distribuye selectivamente a varios dispositivos de usuario final. En este caso, la SFU’S El trabajo es seleccionar la mejor tasa de bits para un par dado basado en el ancho de banda disponible. Esto hace que sea más fácil transmitir a una variedad de dispositivos en una variedad de anchos de banda sin sacrificar la integridad de la transmisión.
Codificación de video escalable WebRTC
Similar a la transmisión simultánea de WebRTC, la codificación de video escalable hace que varias tasas de bits estén disponibles para la transmisión. Sin embargo, en lugar de recibir tres transmisiones distintas en tres tasas de bits diferentes, la SFU recibe una sola corriente con múltiples capas de tasa de bits. La SFU despega las capas de la corriente según sea necesario para acomodar las necesidades de diferentes dispositivos de usuario final.
Resumen de los beneficios del servidor de medios
- Alivia la presión sobre los editores de medios / dispositivos pares
- Conserva recursos
- Habilita la transcodificación de datos
- Habilita flujos de trabajo adaptativos como la transmisión simultánea y SVC
- A veces puede agregar otras características complejas, como el aprendizaje automático del lado del servidor
Servidores de medios de Webrtc y wowza
Comenzar con un servidor de medios WEBRTC no’tengo que ser complicado. Los proveedores de soluciones de video como Wowza hacen que sea fácil construir un flujo de trabajo basado en WebRTC que se adapte a sus necesidades. Puede integrar nuestro motor de transmisión Wowza en su infraestructura existente u optar por nuestra plataforma de video Wowza basada en la nube.
Wowza Streaming Engine y WebRTC
Wowza Streaming Engine puede ingerir transmisiones WebRTC para su entrega a dispositivos de reproducción. También puede ingerir protocolos de transmisión no WEBRTC y transcodelos a las secuencias de WEBRTC para la salida. Nuestro motor de transmisión también proporciona cifrado SSL/TLS para su transmisión WEBRTC y una gama de opciones de configuración.
Wowza Video y Webrtc
Con Wowza Video, nuestra plataforma basada en la nube prepara datos para la entrega a través de una red de entrega de contenido personalizada (CDN), que actúa como una SFU. Al hacerlo, hace una transmisión de latencia sub-segundo para un millón de usuarios en todo el mundo una realidad. La transmisión en tiempo real a escala recientemente agregó Live to VOD a través de un sistema de gestión de contenido (CMS) para mejorar aún más las capacidades de transmisión de WEBRTC.
Lo que WebRTC tiene en potencial carece de escalabilidad inherente (y por lo tanto usabilidad). Los servidores de medios y las soluciones de flujo de trabajo como las proporcionadas por Wowza le brindan las herramientas necesarias para que WebRTC funcione para usted.
Interesado en la transmisión en tiempo real a escala?
Poder’T espera para comenzar a transmitir con WebRTC? Echa un vistazo a nuestra prueba gratuita.
Acerca de Sydney Roy (Whalen)
Sydney trabaja para Wowza como escritor de contenido residente y comercializador de redes sociales, aprovechando aproximadamente una década de experiencia en redacción, escritura técnica y desarrollo de contenido. Cuando se observa en la naturaleza, se puede encontrar juegos, lectura, caminata, crianza, gasto excesivo … Ver más
Noticias de la industria de transmisión
Únase a los profesionales de transmisión de 2k+ y obtenga el blog de Wowza en su bandeja de entrada.