Llamadas multimedia en tiempo real y reuniones con Microsoft Teams

La Plataforma multimedia en tiempo real permite a los bots interactuar con Microsoft Teams llamadas y reuniones mediante el uso compartido de voz, vídeo y pantalla en tiempo real. La Plataforma multimedia en tiempo real es una funcionalidad avanzada que permite al bot enviar y recibir contenido de voz y vídeo fotograma por fotograma. El bot tiene acceso sin procesar a las secuencias multimedia de voz, vídeo y pantalla compartida. Hay bots multimedia hospedados en servicios más sencillos que dependen de la Plataforma multimedia en tiempo real para todo el procesamiento de medios. Los bots que procesan los medios por sí mismos se denominan bots multimedia hospedados en aplicaciones.

Por ejemplo, en una llamada 1:1 con un bot, mientras el usuario habla, el bot recibe 50 fotogramas de audio por segundo. El bot recibe fotogramas de audio con cada fotograma de 20 milisegundos (ms) de audio. Un bot multimedia hospedado por la aplicación puede realizar el reconocimiento de voz en tiempo real a medida que se reciben los fotogramas de audio. No es necesario esperar una grabación después de que el usuario haya dejado de hablar. El bot también puede enviar y recibir vídeo de resolución de alta definición, incluido el contenido de uso compartido de pantalla basado en vídeo.

La plataforma proporciona una API sencilla como socket para que el bot envíe y reciba medios. Controla la codificación y decodificación en tiempo real de paquetes de audio o vídeo. Usa códecs como SILK y G.722 para audio y H.264 para vídeo. La plataforma también controla todo el cifrado o descifrado de paquetes multimedia y la transmisión de red de paquetes. El bot solo se preocupa por el contenido real de audio o vídeo. Un bot multimedia en tiempo real participa en llamadas y reuniones 1:1 con varios participantes.

Sesión multimedia

Un bot multimedia en tiempo real debe declarar qué modalidades debe admitir. El bot multimedia en tiempo real debe declarar compatibilidad cuando responde a una llamada entrante o se une a una Teams reunión. Para cada modalidad admitida, el bot declara si puede enviar y recibir medios, recibir solo o enviar solo. Por ejemplo, un bot diseñado para controlar las llamadas Teams 1:1, requiere enviar y recibir audio. Pero el bot solo debe enviar vídeo, ya que no necesita recibir el vídeo del autor de la llamada. El conjunto de modalidades de audio y vídeo establecidas entre el bot y el Teams o reunión se denomina sesión multimedia.

Se admiten dos tipos de modalidades de vídeo, el vídeo principal y el uso compartido de pantalla basado en vídeo. El vídeo principal se usa para transportar el vídeo desde la cámara web de un usuario. El uso compartido de pantalla basado en vídeo permite que un usuario comparta la pantalla. La plataforma permite que un bot envíe y reciba ambos tipos de vídeo.

Cuando se une a una reunión Teams, un bot puede recibir varias secuencias de vídeos principales simultáneamente hasta 10 por sesión multimedia. El bot puede ver a más de un participante en la reunión.

La siguiente sección proporciona detalles sobre el bot que envía y recibe medios como una secuencia de fotogramas.

Fotogramas y velocidad de fotogramas

Un bot multimedia en tiempo real interactúa directamente con las modalidades de audio y vídeo de una sesión multimedia. El bot envía y recibe medios como una secuencia de fotogramas y cada fotograma es una unidad de contenido. Un segundo de audio se transmite como una secuencia de 50 fotogramas. Cada fotograma contiene 20 ms que es el 1/50 de un segundo de contenido de voz. Un segundo de vídeo se transmite como una secuencia de 30 imágenes fijas. Cada imagen está diseñada para ser vista durante solo 33,3 ms, es decir, 1/30 de segundo antes del siguiente fotograma de vídeo. El número de fotogramas transmitidos o representados por segundo se denomina velocidad de fotogramas.

En la siguiente sección se proporcionan detalles sobre el formato de audio y vídeo que se usa en las reuniones y llamadas multimedia en tiempo real.

Formato de audio y vídeo

En formato de audio, cada segundo de audio se representa como 16 000 muestras, con cada muestra que contiene 16 bits de datos. Un marco de audio de 20 ms contiene 320 muestras que tienen 640 bytes de datos.

En formato de vídeo, se admiten varios formatos. Dos propiedades clave de un formato de vídeo son el tamaño del marco y el formato de color. Los tamaños de fotograma admitidos incluyen 640 x 360 píxeles, 1280 x 720 píxeles y 1920 x 1080 píxeles. Los formatos de color admitidos incluyen NV12 que es de 12 bits por píxel y RGB24 que es de 24 bits por píxel.

Un marco de vídeo de 720 p contiene 921.600 píxeles que es 1280 por 720. En el formato de color RGB24, cada píxel se representa como 3 bytes de 24 bits, incluidos 1 byte cada uno de los componentes de color rojo, verde y azul. Un único fotograma de vídeo RGB24 de 720p requiere 2.764.800 bytes de datos que son 921.600 píxeles por 3 bytes por píxel. A una velocidad de fotogramas variable, enviar fotogramas de vídeo RGB24 de 720p significa procesar aproximadamente 80 megabytes por segundo de contenido. El códec de vídeo H.264 comprime considerablemente 80 megabytes antes de la transmisión de red.

Una funcionalidad avanzada de la plataforma permite que un bot envíe o reciba vídeo como fotogramas H.264 codificados. Se admiten bots que proporcionan su propio codificador o descodificador H.264, o la secuencia de vídeo descodificada en mapas de bits RGB24 o NV12 sin procesar.

En la siguiente sección se proporcionan detalles acerca de qué participantes de la reunión hablan los que son oradores activos y dominantes.

Altavoces activos y dominantes

Cuando se une a una Teams que consta de varios participantes, un bot puede identificar qué participantes de la reunión están hablando actualmente. Los altavoces activos identifican qué participantes se escuchan en cada fotograma de audio recibido. Los altavoces dominantes identifican qué participantes son actualmente más activos o dominantes en la conversación de grupo, aunque su voz no se escucha en todos los fotogramas de audio. El conjunto de altavoces dominantes puede cambiar a medida que los diferentes participantes toman turnos de palabra.

En la siguiente sección se proporcionan detalles sobre las solicitudes de suscripción de vídeo realizadas por un bot.

Suscripción de vídeo

En una llamada 1:1, el bot recibe automáticamente el vídeo del autor de la llamada si el bot está habilitado para recibir el vídeo. En una Teams, el bot debe indicar a la plataforma qué participantes quiere ver. Una suscripción de vídeo es una solicitud del bot para recibir el vídeo principal o el contenido para compartir pantalla de un participante. A medida que los participantes en la reunión llevan a cabo su conversación, el bot modifica sus suscripciones de vídeo necesarias. El bot modifica las suscripciones de vídeo en función de las actualizaciones del conjunto de altavoces dominantes o las notificaciones que indican qué participante está compartiendo pantalla actualmente.

En la siguiente sección se proporcionan detalles sobre lo que debe instalar y los requisitos para desarrollar un bot multimedia hospedado en la aplicación.

Recursos para desarrolladores

Para desarrollar un bot multimedia hospedado por la aplicación, debe instalar microsoft.Graph. La biblioteca .NET Calls.Media NuGet paquete dentro del Visual Studio proyecto.

Los bots multimedia hospedados en aplicaciones requieren .NET o C# y Windows Server. Para obtener más información, vea requisitos y consideraciones para bots multimedia hospedados en aplicaciones.

Paso siguiente

Consulte también

Formatos multimedia admitidos para bots