La API de Google Meet Media te permite acceder a contenido multimedia en tiempo real desde las conferencias de Google Meet. Esto permite una variedad de casos de uso, como apps que documentan tareas, ofrecen estadísticas en tiempo real sobre la reunión actual o transmiten audio y video a una plataforma nueva.
Casos de uso
Las apps registradas en la consola de Google Cloud pueden usar la API de Meet Media para conectarse a conferencias de Meet, lo que les permite hacer lo siguiente:
- Consume transmisiones de video. Por ejemplo:
- Alimenta las transmisiones de video generadas en las conferencias de Meet a tus propios modelos de IA.
- Filtra las transmisiones para las grabaciones personalizadas.
- Consume transmisiones de audio. Por ejemplo:
- Envía audio directamente a Gemini y crea tu propio chatbot de IA para reuniones.
- Cómo enviar transmisiones de audio generadas en las conferencias de Meet a tu propio servicio de transcripción
- Genera subtítulos en varios idiomas.
- Crea feeds de lenguaje de señas generados por modelos a partir del audio capturado.
- Crea tus propios modelos de reducción de ruido para quitar el fondo y los artefactos ruidosos de la conferencia.
- Consume los metadatos de los participantes. Por ejemplo:
- Detecta qué participantes están en la conferencia, lo que permite mejorar la inteligencia y el análisis.
Términos comunes
- Número de proyecto de Cloud
- Un identificador
int64
generado inmutable para un proyecto de Google Cloud. La consola de Google Cloud genera estos valores para cada app registrada. - Conferencia
- Es una instancia generada por el servidor de una llamada dentro de un espacio de reunión. Por lo general, los usuarios consideran esta situación como una sola reunión.
- Canal de datos de recursos de conferencias
En lugar de solicitar recursos a través de HTTP, como con la API de REST de Google Meet, los clientes de la API de Meet Media solicitan recursos del servidor a través de canales de datos.
Se puede abrir un canal de datos dedicado para cada tipo de recurso. Una vez abierto, el cliente puede enviar solicitudes a través del canal. Las actualizaciones de recursos se transmitirán por el mismo canal.
- Fuente de contribución (CSRC)
Con las transmisiones de contenido multimedia virtual, no puedes suponer que una transmisión de contenido multimedia siempre apunta al mismo participante. El valor de CSRC en el encabezado de cada paquete RTP identifica la fuente real del paquete.
Meet asigna a cada participante de una conferencia un valor CSRC único cuando se une. Este valor permanece constante hasta que se van.
- Canales de datos
Los canales de datos de WebRTC permiten el intercambio de datos arbitrarios (texto, archivos, etc.) de forma independiente de las transmisiones de audio y video. Los canales de datos usan la misma conexión que las transmisiones de contenido multimedia, lo que proporciona una forma eficiente de agregar intercambio de datos a las aplicaciones de WebRTC.
- Interactive Connectivity Establishment (ICE)
Es un protocolo para establecer conectividad, encontrar todas las rutas posibles para que dos computadoras se comuniquen entre sí a través de redes entre pares (P2P) y, luego, asegurarse de que permanezcas conectado.
- Transmisión de contenido multimedia
Una transmisión multimedia de WebRTC representa un flujo de datos multimedia, generalmente audio o video, capturado desde un dispositivo, como una cámara o un micrófono. Consiste en una o varias pistas de transmisión de contenido multimedia, cada una de las cuales representa una sola fuente de contenido multimedia, como una pista de video o de audio.
- Pista de transmisión de contenido multimedia
Consiste en un solo flujo unidireccional de paquetes RTP. Una pista de transmisión de contenido multimedia puede ser de audio o video, pero no de ambos. Por lo general, una conexión de protocolo de transporte seguro en tiempo real (SRTP) bidireccional consta de dos segmentos de flujo de contenido multimedia, una salida del par local al remoto y una entrada del par remoto al local.
- Espacio de reuniones
Es un lugar virtual o un objeto persistente (como una sala de reuniones) en el que se lleva a cabo una conferencia. Solo se puede realizar una conferencia activa en un espacio a la vez. Un espacio de reuniones también ayuda a los usuarios a encontrarse y encontrar recursos compartidos.
- Participante
Una persona que se unió a una conferencia o que usa el Modo complementario, que mira como un usuario o un dispositivo de sala conectado a una llamada. Cuando un participante se une a la conferencia, se le asigna un ID único.
- Transmisiones relevantes
Existe un límite para la cantidad de flujos de audio virtual y flujos de video virtual que puede abrir un cliente.
Es muy posible que la cantidad de participantes en una conferencia supere esta cantidad. En estas situaciones, los servidores de Meet transmiten las transmisiones de audio y video de los participantes que se consideran "más relevantes". La relevancia se determina en función de varias características, como el uso compartido de pantalla y la fecha en la que un participante habló por última vez.
- Unidad de reenvío selectivo (SFU)
Una unidad de reenvío selectivo (SFU) es un componente del servidor en las conferencias de WebRTC que administra la distribución de flujos de contenido multimedia. Los participantes se conectan solo a la SFU, que reenvía de forma selectiva las transmisiones relevantes a otros participantes. Esto reduce las necesidades de procesamiento y ancho de banda del cliente, lo que permite conferencias escalables.
- Protocolo de descripción de sesión (SDP)
Es el mecanismo de señalización que usa WebRTC para negociar una conexión P2P.
RFC 8866
lo rige.- Respuesta de SDP
Es la respuesta a una oferta de SDP. La respuesta rechaza o acepta cualquier transmisión recibida del par remoto. También negocia qué transmisiones planea transmitir al par de la oferta. Es importante tener en cuenta que la respuesta de SDP no puede agregar transmisiones señalizadas de la oferta inicial. De manera anecdótica, si un par de ofertas indica que acepta hasta tres transmisiones de audio de su par remoto, este par remoto no puede indicar cuatro transmisiones de audio para la transmisión.
- Oferta de SDP
El SDP inicial en el flujo de negociación de pares de oferta-respuesta. El par que inicia la oferta la crea y dicta las condiciones de la sesión entre pares. El cliente de la API de Meet Media siempre crea la oferta y la envía a los servidores de Meet.
Por ejemplo, una oferta puede indicar la cantidad de transmisiones de audio o video que el ofertante envía (o puede recibir) y si se abrirán los canales de datos.
- Fuente de sincronización (SSRC)
Un SSRC es un identificador de 32 bits que identifica de forma exclusiva una sola fuente de un flujo de contenido multimedia dentro de una sesión de RTP (protocolo de transporte en tiempo real). En WebRTC, los SSRC se usan para distinguir entre diferentes transmisiones de contenido multimedia que provienen de diferentes participantes o incluso de diferentes segmentos del mismo participante (como diferentes cámaras).
- RtpTransceiver
Como se detalla en
RFC 8829
, un transceiver es una abstracción alrededor de las transmisiones de RTP en una sesión punto a punto.Un solo transceptor se asigna a una sola descripción de medios en el SDP y se describe con ella. Un transceptor consta de un
RtpSender
y unRtpReceiver
.Debido a que el RTP es bidireccional, cada par tiene su propia instancia de transceptor para la misma conexión RTP. El
RtpSender
de un transceptor determinado para el par local se asigna alRtpReceiver
de un transceptor específico en el par remoto. Lo opuesto también se cumple. ElRtpSender
del mismo transceiver del par remoto se asigna alRtpReceiver
del par local.Cada descripción de contenido multimedia tiene su propio transceptor dedicado. Por lo tanto, una sesión de par a par con varias transmisiones de RTP tiene varios transceptores con varios
RtpSenders
yRtpReceiver
para cada par.- Transmisiones de contenido multimedia virtual
Las transmisiones de medios virtuales son transmisiones de medios agregadas que genera una unidad de reenvío selectivo (SFU) en las conferencias de WebRTC. En lugar de que cada participante envíe transmisiones individuales a todos los demás, la SFU multiplexa las transmisiones de los participantes seleccionadas en menos transmisiones virtuales salientes. Esto simplifica la topología de conexión y reduce la carga en los participantes, lo que permite realizar conferencias escalables. Cada transmisión virtual puede contener contenido multimedia de varios participantes, que la SFU administra de forma dinámica.
Temas relacionados
Para obtener información sobre cómo comenzar a desarrollar un cliente de la API de Meet Media, sigue los pasos que se indican en Cómo comenzar.
Para aprender a configurar y ejecutar un cliente de referencia de la API de Meet Media de muestra, lee la Guía de inicio rápido del cliente de referencia de C++.
Para obtener una descripción general conceptual, consulta los conceptos de la API de Meet Media.
Para obtener más información sobre WebRTC, consulta WebRTC para los curiosos.
Para obtener información sobre el desarrollo con las APIs de Google Workspace, incluida la administración de la autenticación y la autorización, consulta Desarrollo en Google Workspace.