Meet Media API: Panduan memulai klien referensi C++

Halaman ini menjelaskan cara menyiapkan dan menjalankan contoh menggunakan implementasi klien referensi C++. Untuk mempelajari klien TypeScript, lihat mulai cepat klien referensi TypeScript.

Prasyarat

Untuk menjalankan panduan memulai ini, Anda memerlukan prasyarat berikut:

Mengaktifkan Meet REST API

Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud.

Konsol Google Cloud

  1. Di konsol Google Cloud, aktifkan Meet REST API.

    Aktifkan API

  2. Pastikan Anda mengaktifkan Meet REST API di project Cloud yang benar, lalu klik Berikutnya.

  3. Konfirmasi bahwa Anda mengaktifkan Meet REST API, lalu klik Enable.

gcloud CLI

  1. Jika perlu, tetapkan project Cloud saat ini ke project yang Anda buat:

    gcloud config set project PROJECT_ID

    Ganti PROJECT_ID dengan Project ID dari project Cloud yang Anda buat.

  2. Aktifkan Meet REST API:

    gcloud services enable meet.googleapis.com

Membangun klien C++

Implementasi C++ dibuat dengan Generate Ninja (GN). Untuk mengetahui informasi selengkapnya, lihat dokumentasi WebRTC.

  1. Buat sandi dari Git di Google dan konfigurasikan git.

  2. Dari antarmuka command line (CLI), ubah <samples_location> ke direktori yang menyimpan sampel dan jalankan perintah berikut, yang:

    • Mengubah direktori kerja Anda ke direktori utama Anda.
    • Membuat direktori di direktori beranda Anda yang bernama src.
    • Mengubah direktori kerja Anda menjadi src.
    • Meng-clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ke direktori src/ dari git.
    • Menambahkan direktori ~/src/depot_tools untuk sementara ke daftar lokasi yang ditelusuri shell untuk menemukan perintah yang dapat dieksekusi.
    • Mengubah direktori kerja Anda ke direktori cpp di lokasi sampel Anda.
    • Menjalankan skrip 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

Membuat token OAuth

Untuk terhubung ke Meet Media API, aplikasi Anda harus menggunakan OAuth untuk membuat token akses. Untuk mempelajari lebih lanjut cara mengakses Google API dengan OAuth, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.

Anda dapat menggunakan OAuth 2.0 Playground untuk membuat token. Saat menggunakan simulator, pastikan untuk:

  • Gunakan kredensial rahasia dan ID klien dari project cloud Anda.
  • Minta cakupan yang benar.
  • Login ke Akun Google dan setujui akses.

Setelah selesai, klik tombol Exchange authorization code for tokens, lalu salin token akses yang dibuat.

Mulai rapat

Mulai rapat menggunakan akun pengguna yang sama dengan yang Anda gunakan untuk membuat token OAuth. Salin kode rapat. Sekarang Anda siap untuk menjalankan sampel.

Aplikasi contoh

Repositori GitHub menawarkan contoh untuk menerima media dan metadata peserta dari rapat.

Contoh ini mengumpulkan data selama jangka waktu tertentu (defaultnya adalah 3 detik) dan menulis data yang dikumpulkan ke file.

File audio dalam format PCM16. File video dalam format YUV420p. File ini dapat diputar menggunakan library seperti FFmpeg.

Karena resolusi video dapat berubah selama rapat, sampel menyertakan resolusi dalam nama file video.

File metadata peserta akan berupa file teks yang dapat dibaca manusia.

Contoh Media Pengguna Tunggal

Contoh media pengguna tunggal adalah aplikasi dasar yang berfokus pada pengumpulan audio dan video. Sampel tidak menentukan peserta mana yang membuat data audio dan video. Oleh karena itu, menggunakan sampel ini dalam rapat dengan lebih dari satu peserta dapat menyebabkan output yang rusak.

Untuk menjalankan contoh media pengguna tunggal, jalankan:

Linux

$ sh ./run_multi.sh -- \
    --meeting_space_id MEETING_SPACE_ID \
    --oauth_token OAUTH_TOKEN

Secara default, satu file audio disimpan ke /tmp/test_output_audio.pcm.

Karena streaming video dapat mengubah resolusi selama rapat, beberapa file video mungkin dibuat. Nama file video akan menyertakan penghitung yang bertambah dan resolusi untuk file tersebut. Misalnya, jika resolusi streaming video berubah dari 320x180 menjadi 240x135, lalu kembali menjadi 320x180, file video berikut akan dibuat:

  • /tmp/test_output_video_0_320x180.pcm
  • /tmp/test_output_video_1_240x135.pcm
  • /tmp/test_output_video_2_320x180.pcm

(Opsional) Menggunakan FFmpeg untuk Memutar File Output di Linux dan Mac

FFmpeg dapat digunakan untuk memutar file audio dan video yang dibuat. Contoh perintah:

Linux & 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

Opsi

Anda dapat menentukan opsi ini saat menjalankan contoh:

Opsi Deskripsi
--output_file_prefix PREFIX Tentukan awalan untuk file output. Default-nya adalah /tmp_test_output_.
--collection_duration DURATION Tentukan durasi pengumpulan media. Default-nya adalah 30s.
--join_timeout TIMEOUT Tentukan durasi tunggu aplikasi untuk bergabung ke konferensi. Default-nya adalah 2m.
--meet_api_url URL Tentukan URL untuk Meet Media API API. Default-nya adalah https://meet.googleapis.com/v2alpha/.