Nesta página, explicamos como configurar e executar um exemplo usando a implementação do cliente de referência do C++ client implementation. Para saber mais sobre o cliente do TypeScript, consulte o guia de início rápido do cliente de referência do TypeScript.
Pré-requisitos
Para executar este guia de início rápido, você precisa dos seguintes pré-requisitos:
- Você clonou o repositório do GitHub.
- Um projeto do Google Cloud com a API REST do Google Meet ativada.
- Uma conta do Google Workspace.
Ativar a API REST do Meet
Antes de usar as APIs do Google, é necessário ativá-las em um projeto na nuvem do Google. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.Console do Google Cloud
No console do Google Cloud, ative a API REST do Meet.
Confirme se você está ativando a API REST do Meet no projeto na nuvem correto e clique em Próxima.
Confirme se você está ativando a API REST do Meet e clique em Ativar.
CLI gcloud
Se necessário, defina o projeto na nuvem atual como o que você criou:
gcloud config set project PROJECT_IDSubstitua PROJECT_ID pelo ID do projeto do projeto na nuvem que você criou.
Ative a API REST do Meet:
gcloud services enable meet.googleapis.com
Criar o cliente do C++
A implementação do C++ é criada com o Generate Ninja (GN). Para mais informações, consulte a documentação do WebRTC.
Gere uma senha do Git no Google e configure o Git.
Na interface de linha de comando (CLI), mude
<samples_location>para o diretório que contém os exemplos e execute o comando a seguir, que:- Altera o diretório de trabalho para o diretório inicial.
- Cria um diretório no diretório inicial chamado
src. - Altera o diretório de trabalho para
src. - Clona https://chromium.googlesource.com/chromium/tools/depot_tools.git no diretório src/ do Git.
- Adiciona temporariamente o diretório
~/src/depot_toolsà lista de locais que o shell pesquisa para comandos executáveis. - Altera o diretório de trabalho para o diretório cpp no local dos exemplos.
- Executa o script 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
Gerar tokens OAuth
Para se conectar à API Meet Media, seu app precisa usar o OAuth para gerar tokens de acesso. Para saber mais sobre como acessar as APIs do Google com o OAuth, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.
Você pode usar o OAuth 2.0 Playground para gerar tokens. Ao usar o playground, faça o seguinte:
- Use o ID do cliente e as credenciais secretas do seu projeto na nuvem.
- Solicite os escopos corretos.
- Faça login em uma Conta do Google e aceite o acesso.
Quando terminar, clique no botão Exchange authorization code for tokens e copie o token de acesso gerado.
Iniciar uma reunião
Inicie uma reunião usando a mesma conta de usuário que você usou para gerar o token OAuth. Copie o código da reunião. Agora você já pode executar os exemplos.
Apps de exemplo
O repositório do GitHub oferece exemplos para receber metadados de mídia e participantes de uma reunião.
Esses exemplos coletam dados por um período especificado (o padrão é de 3 segundos) e gravam os dados coletados em arquivos.
Os arquivos de áudio estão no formato PCM16. Os arquivos de vídeo estão no formato YUV420p. Esses arquivos podem ser reproduzidos usando uma biblioteca como o FFmpeg.
Como as resoluções de vídeo podem mudar durante uma reunião, os exemplos incluem a resolução nos nomes dos arquivos de vídeo.
Os arquivos de metadados dos participantes serão arquivos de texto legíveis.
Exemplo de mídia de usuário único
O exemplo de mídia de usuário único é um app básico que se concentra na coleta de áudio e vídeo. O exemplo não determina qual participante criou os dados de áudio e vídeo. Portanto, o uso desse exemplo em uma reunião com mais de um participante pode resultar em saída corrompida.
Para executar o exemplo de mídia de usuário único, use:
Linux
$ sh ./run_multi.sh -- \
--meeting_space_id MEETING_SPACE_ID \
--oauth_token OAUTH_TOKEN
Por padrão, um único arquivo de áudio é salvo em /tmp/test_output_audio.pcm.
Como os streams de vídeo podem mudar de resolução durante uma reunião, vários arquivos de vídeo podem ser criados. Os nomes dos arquivos de vídeo vão incluir um contador crescente e a resolução desse arquivo. Por exemplo, se a resolução do stream de vídeo mudou de 320 x 180 para 240 x 135 e depois voltou para 320 x 180, os seguintes arquivos de vídeo serão criados:
/tmp/test_output_video_0_320x180.pcm/tmp/test_output_video_1_240x135.pcm/tmp/test_output_video_2_320x180.pcm
(Opcional) Usar o FFmpeg para reproduzir arquivos de saída no Linux e Mac
FFmpeg pode ser usado para reproduzir arquivos de áudio e vídeo criados. Exemplos de comandos:
Linux e Mac
# 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
Opções
É possível especificar essas opções ao executar os exemplos:
| Opção | Descrição |
|---|---|
--output_file_prefix PREFIX |
Especifica o prefixo para arquivos de saída. O valor padrão é /tmp_test_output_. |
--collection_duration DURATION |
Especifica por quanto tempo a mídia será coletada. O valor padrão é 30s. |
--join_timeout TIMEOUT |
Especifica por quanto tempo esperar que o app participe da conferência. O valor padrão é 2m. |
--meet_api_url URL |
Especifica o URL da API Meet Media. O valor padrão é https://meet.googleapis.com/v2alpha/. |