En esta página, se explica cómo configurar y ejecutar una muestra con la implementación del cliente de referencia de C++. Para obtener información sobre el cliente de TypeScript, consulta la guía de inicio rápido del cliente de referencia de TypeScript.
Requisitos previos
Para ejecutar esta guía de inicio rápido, necesitas los siguientes requisitos previos:
- Clonaste el repositorio de GitHub.
- Un proyecto de Google Cloud con la API de REST de Google Meet habilitada.
- Una cuenta de Google Workspace
Habilita la API de REST de Meet
Antes de usar las APIs de Google, debes activarlas en un proyecto de Google Cloud. Puedes activar una o más APIs en un solo proyecto de Google Cloud.Consola de Google Cloud
En la consola de Google Cloud, habilita la API de REST de Meet.
Confirma que habilitas la API de REST de Meet en el proyecto de Cloud correcto y, luego, haz clic en Siguiente.
Confirma que habilitas la API de REST de Meet y, luego, haz clic en Habilitar.
gcloud CLI
Si es necesario, configura el proyecto de Cloud actual en el que creaste:
gcloud config set project PROJECT_IDReemplaza PROJECT_ID por el ID del proyecto del proyecto de Cloud que creaste.
Habilita la API de REST de Meet:
gcloud services enable meet.googleapis.com
Compila el cliente de C++
La implementación de C++ se compila con Generate Ninja (GN). Para obtener más información, consulta la documentación de WebRTC.
Genera una contraseña desde Git en Google y configura git.
Desde la interfaz de línea de comandos (CLI), cambia
<samples_location>al directorio que contiene las muestras y ejecuta el siguiente comando, que hace lo siguiente:- Cambia tu directorio de trabajo al directorio principal.
- Crea un directorio en tu directorio principal llamado
src. - Cambia tu directorio de trabajo a
src. - Clona https://chromium.googlesource.com/chromium/tools/depot_tools.git en el directorio src/ desde git.
- Agrega temporalmente el directorio
~/src/depot_toolsa la lista de ubicaciones que la shell busca para los comandos ejecutables. - Cambia tu directorio de trabajo al directorio cpp en la ubicación de las muestras.
- Ejecuta la secuencia de comandos de shell
./build.sh.
cd ~ mkdir src cd src git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=~/src/depot_tools:$PATH cd <samples_location>/cpp sh ./build.sh
Genera tokens de OAuth
Para conectarse a la API de Meet Media, tu app debe usar OAuth para generar tokens de acceso. Para obtener más información sobre el acceso a las APIs de Google con OAuth, consulta Usa OAuth 2.0 para acceder a las APIs de Google.
Puedes usar el OAuth 2.0 Playground para generar tokens. Cuando uses la zona de pruebas, asegúrate de hacer lo siguiente:
- Usa tu ID de cliente y las credenciales secretas de tu proyecto de Cloud.
- Solicita los permisos correctos.
- Accede a una Cuenta de Google y acepta el acceso.
Cuando termines, haz clic en el botón Exchange authorization code for tokens y copia el token de acceso generado.
Inicia una reunión
Inicia una reunión con la misma cuenta de usuario que usaste para generar el token de OAuth. Copia el código de la reunión. Ya estás listo para ejecutar las muestras.
Apps de ejemplo
El repositorio de GitHub ofrece muestras para recibir contenido multimedia y metadatos de participantes de una reunión.
Estas muestras recopilan datos durante un período especificado (el valor predeterminado es de 3 segundos) y escriben los datos recopilados en archivos.
Los archivos de audio están en formato PCM16. Los archivos de video están en formato YUV420p. Estos archivos se pueden reproducir con una biblioteca como FFmpeg.
Debido a que las resoluciones de video pueden cambiar durante una reunión, las muestras incluyen la resolución en los nombres de los archivos de video.
Los archivos de metadatos de los participantes serán archivos de texto legibles por humanos.
Muestra de contenido multimedia de un solo usuario
La muestra de contenido multimedia de un solo usuario es una app básica que se enfoca en recopilar audio y video. La muestra no determina qué participante creó los datos de audio y video. Por lo tanto, usar esta muestra en una reunión con más de un participante puede generar una salida dañada.
Para ejecutar la muestra de contenido multimedia de un solo usuario, ejecuta lo siguiente:
Linux
$ sh ./run_multi.sh -- \
--meeting_space_id MEETING_SPACE_ID \
--oauth_token OAUTH_TOKEN
De forma predeterminada, se guarda un solo archivo de audio en /tmp/test_output_audio.pcm.
Debido a que las transmisiones de video pueden cambiar de resolución durante una reunión, es posible que se creen varios archivos de video. Los nombres de los archivos de video incluirán un contador incremental y la resolución de ese archivo. Por ejemplo, si la resolución de la transmisión de video cambió de 320 x 180 a 240 x 135 y, luego, volvió a 320 x 180, se crearían los siguientes archivos de video:
/tmp/test_output_video_0_320x180.pcm/tmp/test_output_video_1_240x135.pcm/tmp/test_output_video_2_320x180.pcm
(Opcional) Usa FFmpeg para reproducir archivos de salida en Linux y Mac
FFmpeg se puede usar para reproducir archivos de audio y video creados. Comandos de ejemplo:
Linux y macOS
# Audio
$ ffplay -f s16le -ar 48k -af aformat=channel_layouts=mono \
/tmp/test_output_audio.pcm
# Video
#
# `video_size` must match the resolution in the video filename (320x180 in
# this example).
$ ffplay -f rawvideo -pixel_format yuv420p -video_size 320x180 \
/tmp/test_output_video_0_320x180.yuv
Opciones
Puedes especificar estas opciones cuando ejecutes las muestras:
| Opción | Descripción |
|---|---|
--output_file_prefix PREFIX |
Especifica el prefijo para los archivos de salida. El valor predeterminado es /tmp_test_output_. |
--collection_duration DURATION |
Especifica cuánto tiempo se recopilará el contenido multimedia. El valor predeterminado es 30s. |
--join_timeout TIMEOUT |
Especifica cuánto tiempo esperar para que la app se una a la conferencia. El valor predeterminado es 2m. |
--meet_api_url URL |
Especifica la URL de la API de Meet Media. El valor predeterminado es https://meet.googleapis.com/v2alpha/. |