Meet Media API'ye genel bakış

Google Meet Media API, Google Meet konferanslarındaki gerçek zamanlı medyaya erişmenizi sağlar. Bu sayede, yapılacaklar listesini belgeleyen, mevcut toplantıyla ilgili anlık analizler sunan veya ses ve videoyu yeni bir yüzeye aktaran uygulamalar gibi çeşitli kullanım alanlarına olanak tanınmaktadır.

Kullanım alanları

Google Cloud Console'a kayıtlı uygulamalar, Meet konferanslarına bağlanmak için Meet Media API'yi kullanabilir. Bu sayede:

  • Video akışlarını kullanma. Örneğin:
    • Meet konferanslarında oluşturulan video akışlarını kendi yapay zeka modellerinize besleyin.
    • Özel kayıtlar için akışları filtreleyin.
  • Ses akışlarını tüketin. Örneğin:
    • Sesi doğrudan Gemini'ye besleyin ve kendi toplantı yapay zeka sohbet botunuzu oluşturun.
    • Meet konferanslarında oluşturulan ses akışlarını kendi transkript hizmetinize besleme
    • Farklı dillerde altyazı oluşturabilirsiniz.
    • Yakalanan seslerden model tarafından oluşturulan işaret dili feed'leri oluşturma
    • Konferanstaki arka plan gürültüsünü ve gürültülü yapıları kaldırmak için kendi gürültü giderme modellerinizi oluşturun.
  • Katılımcı meta verilerini kullanma. Örneğin:
    • Konferansta hangi katılımcıların olduğunu algılayarak daha iyi analizler elde edin.

Meet Media API yaşam döngüsü

Aşağıdaki resimlerde Meet Media API yaşam döngüsü gösterilmektedir:

  • Meet Media API bot'u, üçüncü taraf web sitesinde katılmaya çalışır.
    Şekil 1. Meet Media API bot'u, üçüncü taraf web sitesinde katılmaya çalışır. Reşit olmayan hesaplar varsa bağlantı reddedilir.
  • Şifrelenmiş toplantılar ve filigran içeren toplantılar.
    Şekil 2. Toplantıları şifrelenmiş olarak işaretleyebilir ve filigran ekleyebilirsiniz. Toplantıda şifreleme veya filigran varsa Meet Media API bağlanamaz.
  • Yönetici ayarının doğru olduğundan emin olun.
    Şekil 3. Yönetici ayarının doğru olduğundan emin olun.
  • Toplantıyı Takvim'de oluşturun.
    Şekil 4. Toplantıyı Takvim'de oluşturun. Ana makinenin, Takvim ayarlarında üçüncü taraf uygulamasına izin vermesi gerekir. Aksi takdirde bağlantı reddedilir.
  • Arama sırasında ayar değişikliği.
    Şekil 5. Görüşme sırasında ayar değişikliği Düzenleyen, Meet Media API ayarını arama sırasında devre dışı bırakırsa bağlantı kesilir.
  • Tüketici toplantıları sırasında başlatıcının bulunması gerekir.
    Şekil 6. Toplantı sahibinin tüketici hesabı varsa (@gmail.com ile biten bir hesap) toplantının başlatılması için toplantıyı başlatan kullanıcının toplantıda bulunması gerekir. Aksi takdirde bağlantı reddedilir.
  • Bağlantı kuruldu.
    Şekil 7. Bağlantı kurulduktan sonra düzenleyen, yardımcı düzenleyen veya düzenleyenle aynı kuruluştaki katılımcılar başlatma iletişim kutusunu görür.
  • Herkes görüşme sırasında Meet Media API'yi durdurabilir.
    Şekil 8. Herkes görüşme sırasında Meet Media API'yi durdurabilir.

Sık kullanılan terimler

Cloud proje numarası
Google Cloud projesi için oluşturulan ve değiştirilemeyen bir int64 tanımlayıcısı. Bu değerler, kayıtlı her uygulama için Google Cloud Console tarafından oluşturulur.
Konferans
Toplantı alanındaki bir aramanın sunucu tarafından oluşturulan örneği. Kullanıcılar genellikle bu senaryoyu tek bir toplantı olarak değerlendirir.
Konferans Kaynağı Veri Kanalı

Meet Media API istemcileri, Google Meet REST API'de olduğu gibi HTTP üzerinden kaynak istemek yerine sunucudan veri kanalları üzerinden kaynak ister.

Her kaynak türü için özel bir veri kanalı açılabilir. İstemci, açıldıktan sonra kanal üzerinden istek gönderebilir. Kaynak güncellemeleri aynı kanal üzerinden iletilir.

Katkıda Bulunan Kaynak (CSRC)

Sanal medya akışlarında, bir medya akışının her zaman aynı katılımcıyı gösterdiğini varsayamazsınız. Her RTP paketinin başlığındaki CSRC değeri, paketin gerçek kaynağını tanımlar.

Meet, konferansa katılan her katılımcıya benzersiz bir CSRC değeri atar. Bu değer, kullanıcı siteyi terk edene kadar sabit kalır.

Veri kanalları

WebRTC Veri Kanalları, ses ve video akışlarından bağımsız olarak rastgele verilerin (metin, dosya vb.) aktarılmasını sağlar. Veri kanalları, medya akışlarıyla aynı bağlantıyı kullanır. Bu sayede WebRTC uygulamalarına veri alışverişi eklemenin etkili bir yolunu sunar.

Etkileşimli Bağlantı Kurma (ICE)

Bağlantı kurmak için kullanılan bir protokoldür. İki bilgisayarın eşler arası (P2P) ağ üzerinden birbirleriyle iletişim kurması için tüm olası yolları bulur ve ardından bağlantınızın devam etmesini sağlar.

Medya akışı

WebRTC medya akışı, kamera veya mikrofon gibi bir cihazdan alınan genellikle ses veya video olan bir medya verisi akışını temsil eder. Her biri video parçası veya ses parçası gibi tek bir medya kaynağını temsil eden bir veya daha fazla medya akışı parçasından oluşur.

Medya akışı kanalı

Tek yönlü tek bir RTP paketi akışından oluşur. Medya akışı kanalı ses veya video olabilir ancak ikisini birden olamaz. İki yönlü Güvenli Gerçek Zamanlı İletim Protokolü (SRTP) bağlantısı genellikle iki medya akış parçasından oluşur: yerel eşe uzak eşe giden çıkış ve uzak eşe yerel eşe gelen giriş.

Toplantı alanı

Konferans'ın düzenlendiği sanal bir yer veya kalıcı nesne (ör. toplantı odası). Aynı anda yalnızca bir alanda tek bir etkin konferans yapılabilir. Toplantı alanları, kullanıcıların bir araya gelmesine ve paylaşılan kaynakları bulmasına da yardımcı olur.

Katılımcı

Konferans'a katılan veya Tamamlayıcı Mod'u kullanarak izleyici olarak izleyen bir kişi ya da görüşmeye bağlı bir oda cihazı. Bir katılımcı konferansa katıldığında benzersiz bir kimlik atanır.

Alakalı yayınlar

Bir istemcinin açabileceği sanal ses akışları ve sanal video akışları sayısı sınırlıdır.

Konferans'taki katılımcı sayısının bu sayıyı aşması mümkündür. Bu durumlarda Meet sunucuları, "en alakalı" olarak değerlendirilen katılımcıların ses ve video akışlarını iletir. Alaka düzeyi, ekran paylaşımı ve katılımcının ne kadar süre önce konuştuğu gibi çeşitli özelliklerden belirlenir.

Seçici Yönlendirme Birimi (SFU)

Seçmeli Yönlendirme Birimi (SFU), WebRTC konferans görüşmesinde medya akışının dağıtımını yöneten sunucu tarafı bir bileşendir. Katılımcılar yalnızca SFU'ya bağlanır. SFU, alakalı akışları diğer katılımcılara seçerek yönlendirir. Bu, istemci işleme ve bant genişliği ihtiyaçlarını azaltarak ölçeklenebilir konferanslar yapılmasını sağlar.

Oturum Açıklama Protokolü (SDP)

WebRTC'nin P2P bağlantısı için pazarlık yapmak üzere kullandığı sinyal mekanizması. RFC 8866 tarafından yönetilir.

SDP yanıtı

SDP teklifine verilen yanıt. Yanıt, uzak eşleşirden alınan tüm akışları reddeder veya kabul eder. Ayrıca, teklif veren eşe geri aktarmayı planladığı akışlar için pazarlık yapar. SDP yanıtının, ilk tekliften sinyallenmiş akışlar ekleyemeyebileceğini unutmayın. Bir teklif eden eş, uzaktaki eşinden en fazla üç ses akışı kabul ettiğini bildirirse bu uzak eş, aktarım için dört ses akışı sinyali gönderemez.

SDP teklifi

Teklif-yanıt eşler arası pazarlık akışında ilk SDP. Teklif, başlatan eş tarafından oluşturulur ve eşler arası oturumun şartlarını belirler. Teklif her zaman Meet Media API istemcisi tarafından oluşturulur ve Meet sunucularına gönderilir.

Örneğin, bir teklifte teklif verenin gönderdiği (veya alabileceği) ses veya video akışlarının sayısı ve veri kanallarının açılıp açılmayacağı belirtilebilir.

Senkronizasyon Kaynağı (SSRC)

SSRC, bir RTP (Gerçek Zamanlı İletim Protokolü) oturumunda medya akışının tek bir kaynağını benzersiz şekilde tanımlayan 32 bitlik bir tanımlayıcıdır. WebRTC'de SSRC'ler, farklı katılımcılardan gelen farklı medya akışlarını veya hatta aynı katılımcının farklı kanallarını (farklı kameralar gibi) ayırt etmek için kullanılır.

RtpTransceiver

RFC 8829 bölümünde ayrıntılı olarak açıklandığı gibi, alıcı/verici, eşler arası oturumdaki RTP akışları etrafında bir soyutlamadır.

Tek bir alıcı/verici, SDP'de tek bir medya açıklamasıyla eşlenir ve açıklanır. Alıcı/verici, bir RtpSender ve bir RtpReceiver'ten oluşur.

RTP iki yönlü olduğundan her eş, aynı RTP bağlantısı için kendi alıcı/verici örneğine sahiptir. Yerel eş için belirli bir alıcı/vericinin RtpSender değeri, uzak eşteki belirli bir alıcı/vericinin RtpReceiver değeriyle eşlenir. Bunun tam tersi de geçerlidir. Uzak eşlemenin aynı alıcı/vericisinin RtpSender, yerel eşlemenin RtpReceiver ile eşlenir.

Her medya açıklamasının kendi özel alıcı-verici cihazı vardır. Bu nedenle, birden fazla RTP yayını içeren bir eşler arası oturumda, her eş için birden fazla RtpSenders ve RtpReceiver içeren birden fazla alıcı/verici bulunur.

Sanal Medya Akışları

Sanal medya akışları, WebRTC konferanslarında bir seçici yönlendirme birimi (SFU) tarafından oluşturulan birleştirilmiş medya akışlarıdır. SFU, her katılımcının diğer herkese ayrı ayrı akış göndermesi yerine, seçili katılımcı akışlarını daha az sayıda giden sanal akışta birleştirir. Bu, bağlantı topolojisini basitleştirir ve katılımcılar üzerindeki yükü azaltarak ölçeklenebilir konferanslar sağlar. Her sanal yayın, SFU tarafından dinamik olarak yönetilen birden fazla katılımcının medyasını içerebilir.