stream mixing kurento

stream - Concepto de mezclas de transmisión en el servidor de medios kurento



mixing (1)

¿Alguien puede explicar cuál es el concepto básico de la mezcla en el servidor de medios Kurento? Como se menciona en lo que proporciona kurento, hay un término que se mezcla. Entonces, me gustaría saber qué mezcla el servidor de medios de Kurento. Como,

  1. ¿Mezcla varias secuencias generadas por un usuario en una transmisión y las transmite a otros usuarios receptores? Si lo hace, cómo usar este concepto

  2. ¿Puede el kurento recibir múltiples flujos a través de un objeto PeerConnection con el usuario, es decir, en un WebRtcEndPoint Kurento puede recibir o enviar múltiples streams mezclando esos streams en un stream?

Editar con respecto a la actualización de la respuesta

Entonces, puedo usar el concepto de mezcla usando Hubport .

Ahora, ¿este HubPort es compatible con diferentes tipos de MediaTypes ? Como, si un usuario está transmitiendo su pantalla compartida y al mismo tiempo está transmitiendo su audio también. Entonces, ¿este elemento composite mezcla ambas transmisiones en una y transmite una sola transmisión a todos los demás usuarios?


El concepto de mezcla se refiere a la combinación de varios flujos de medios en uno. Esto se puede entender mejor con una sala de conferencias. En otras configuraciones, cada usuario tendría una transmisión en marcha y otra entrando para cada participante (excepto él mismo). Eso te deja con 1 + (n -1) = n secuencias por participante. Esto da como resultado n * n streams total, donde n es el número de participantes.

Mezclar todas las transmisiones en el servidor de medios le permite ahorrar ancho de banda, ideal en escenarios como dispositivos móviles conectados a través de 3G, por ejemplo. Lo que hace el mezclador, combina todos los flujos en uno, de modo que cada usuario está enviando un flujo y recibiendo un flujo que tiene todos los medios combinados del participante (excepto el suyo). Así que solo dos flujos por usuario ahorran mucho ancho de banda.

Esto, sin embargo, tiene un costo en el consumo de CPU, ya que es necesario adaptar los videos a la nueva resolución, combinarlos ... hay algún procesamiento involucrado.

Por otro lado, el concepto al que se refiere es la multicast , que es la capacidad de enviar varias secuencias a través de una conexión WebRTC. Esto no ahorra ancho de banda, ni combina todas las secuencias en una sola, pero ayuda a reducir la cantidad de puntos finales presentes en la implementación. esto está en nuestra hoja de ruta, pero no podemos decir cuándo será eso.

EDITAR

La mezcla se puede lograr en el servidor de medios a través del elemento multimedia Composite . Puede consultar esta otra respuesta SO para obtener más información sobre cómo usar ese elemento multimedia.