Bu sayfada, C++ referans istemci uygulaması kullanılarak bir örneğin nasıl ayarlanacağı ve çalıştırılacağı açıklanmaktadır. Bunun yerine TypeScript istemcisi hakkında bilgi edinmek için TypeScript referans istemcisi hızlı başlangıç kılavuzuna bakın.
Ön koşullar
Bu hızlı başlangıcı çalıştırmak için aşağıdaki ön koşulları karşılamanız gerekir:
- GitHub deposunu kopyalamış olmanız gerekir.
- Google Meet REST API'nin etkinleştirildiği bir Google Cloud projesi.
- Google Workspace hesabı
Meet REST API'yi etkinleştirme
Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.Google Cloud konsolu
Google Cloud Console'da Meet REST API'yi etkinleştirin.
Meet REST API'yi doğru Cloud projesinde etkinleştirdiğinizi onaylayıp Sonraki'yi tıklayın.
Meet REST API'yi etkinleştirdiğinizi onaylayın ve Etkinleştir'i tıklayın.
gcloud CLI
Gerekirse mevcut Cloud projesini oluşturduğunuz projeyle değiştirin:
gcloud config set project PROJECT_IDPROJECT_ID kısmını, oluşturduğunuz Cloud projesinin proje kimliği ile değiştirin.
Meet REST API'yi etkinleştirin:
gcloud services enable meet.googleapis.com
C++ istemcisini oluşturma
C++ uygulaması Generate Ninja (GN) ile oluşturulur. Daha fazla bilgi için WebRTC belgelerine bakın.
Git at Google'dan şifre oluşturun ve Git'i yapılandırın.
Komut satırı arayüzünüzde (CLI)
<samples_location>yerine örnekleri içeren dizini girin ve aşağıdaki komutu çalıştırın. Bu komut:- Çalışma dizininizi ana dizininizle değiştirir.
- Ana dizininizde
srcadlı bir dizin oluşturur. - Çalışma dizininizi
srcolarak değiştirir. - https://chromium.googlesource.com/chromium/tools/depot_tools.git adresini git'ten src/ dizinine kopyalar.
~/src/depot_toolsdizinini, kabuğun yürütülebilir komutlar için arama yaptığı konumlar listesine geçici olarak ekler.- Çalışma dizininizi, örneklerinizin bulunduğu konumdaki cpp dizini olarak değiştirir.
./build.shkabuk komut dosyasını çalıştırır.
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
OAuth jetonları oluşturma
Meet Media API'ye bağlanmak için uygulamanızın erişim jetonları oluşturmak üzere OAuth kullanması gerekir. Google API'lerine OAuth ile erişme hakkında daha fazla bilgi edinmek için Google API'lerine Erişmek İçin OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.
Jeton oluşturmak için OAuth 2.0 Playground'u kullanabilirsiniz. Playground'u kullanırken şunlara dikkat edin:
- Cloud projenizdeki istemci kimliğinizi ve gizli kimlik bilgilerinizi kullanın.
- Doğru kapsamları isteyin.
- Google Hesabı'nda oturum açın ve erişimi kabul edin.
İşlem tamamlandıktan sonra Exchange authorization code for tokens düğmesini tıklayın ve oluşturulan erişim jetonunu kopyalayın.
Toplantı başlatma
OAuth jetonunu oluşturmak için kullandığınız kullanıcı hesabıyla toplantı başlatın. Toplantı kodunu kopyalayın. Artık örnekleri çalıştırmaya hazırsınız.
Örnek uygulamalar
GitHub deposunda, toplantıdan medya ve katılımcı meta verilerini alma örnekleri yer alır.
Bu örnekler, belirli bir süre boyunca (varsayılan olarak 3 saniye) veri toplar ve toplanan verileri dosyalara yazar.
Ses dosyaları PCM16 biçimindedir. Video dosyaları YUV420p biçiminde olmalıdır. Bu dosyalar, FFmpeg gibi bir kitaplık kullanılarak oynatılabilir.
Toplantı sırasında video çözünürlükleri değişebileceğinden örneklerde video dosyası adlarındaki çözünürlük yer alır.
Katılımcı meta veri dosyaları, okunabilir metin dosyalarıdır.
Tek Kullanıcılı Medya Örneği
Tek kullanıcılı medya örneği, ses ve video toplama üzerine odaklanan temel bir uygulamadır. Örnek, ses ve video verilerini hangi katılımcının oluşturduğunu belirlemez. Bu nedenle, bu örneği birden fazla katılımcının olduğu bir toplantıda kullanmak bozuk çıktıya neden olabilir.
Tek kullanıcılı medya örneğini çalıştırmak için aşağıdaki komutu çalıştırın:
Linux
$ sh ./run_multi.sh -- \
--meeting_space_id MEETING_SPACE_ID \
--oauth_token OAUTH_TOKEN
Varsayılan olarak, tek bir ses dosyası /tmp/test_output_audio.pcm konumuna kaydedilir.
Toplantı sırasında video akışlarının çözünürlüğü değişebileceğinden birden fazla video dosyası oluşturulabilir. Video dosyası adları, artan bir sayaç ve dosyanın çözünürlüğünü içerir. Örneğin, video akışı çözünürlüğü 320x180'den 240x135'e ve ardından tekrar 320x180'e değişirse aşağıdaki video dosyaları oluşturulur:
/tmp/test_output_video_0_320x180.pcm/tmp/test_output_video_1_240x135.pcm/tmp/test_output_video_2_320x180.pcm
(İsteğe bağlı) Çıkış dosyalarını Linux ve Mac'te oynatmak için FFmpeg'i kullanma
Oluşturulan ses ve video dosyalarını oynatmak için FFmpeg kullanılabilir. Örnek komutlar:
Linux ve 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
Seçenekler
Örnekleri çalıştırırken aşağıdaki seçenekleri belirtebilirsiniz:
| Seçenek | Açıklama |
|---|---|
--output_file_prefix PREFIX |
Çıkış dosyalarının ön ekini belirtin. Varsayılan olarak /tmp_test_output_ değerine ayarlanır. |
--collection_duration DURATION |
Medyanın ne kadar süreyle toplanacağını belirtin. Varsayılan olarak 30s değerine ayarlanır. |
--join_timeout TIMEOUT |
Uygulamanın konferansa katılması için beklenecek süreyi belirtin. Varsayılan olarak 2m değerine ayarlanır. |
--meet_api_url URL |
Meet Media API API'sinin URL'sini belirtin. Varsayılan olarak https://meet.googleapis.com/v2alpha/ değerine ayarlanır. |