Meet Media API'ye genel bakış

Google Meet Media API, Google Meet konferanslarındaki gerçek zamanlı medyaya erişmenizi sağlar. Bu sayede, işlem öğelerini belgeleyen, mevcut toplantıyla ilgili anlık analizler sunan veya yeni bir yüzeye ses ve video aktaran uygulamalar gibi çeşitli kullanım alanları sağlanır.

Kullanım alanları

Google Cloud Console'a kaydedilen uygulamalar, Meet Media API'yi kullanarak Meet konferanslarına bağlanabilir ve şu işlemleri yapabilir:

  • Video akışlarını kullanma Örneğin:
    • Meet konferanslarında oluşturulan feed video akışlarını kendi yapay zeka modellerinize aktarın.
    • Özel kayıtlar için yayınları filtreleme
  • Ses akışlarını tüketme Örneğin:
    • Sesleri doğrudan Gemini'a aktarın ve kendi toplantı yapay zeka sohbet botunuzu oluşturun.
    • Meet konferanslarında oluşturulan feed ses akışlarını kendi transkripsiyon hizmetinize aktarma
    • Çeşitli dillerde altyazı oluşturun.
    • Kaydedilen seslerden, model tarafından oluşturulan işaret dili feed'leri oluşturun.
    • Konferanstaki arka planı ve gürültülü yapıları kaldırmak için kendi gürültü azaltma modellerinizi oluşturun.
  • Katılımcı meta verilerini kullanma. Örneğin:
    • Konferanstaki katılımcıları tespit ederek daha iyi analizler ve bilgiler elde edebilirsiniz.

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 botu, üçüncü taraf web sitesine katılmaya çalışır.
    1. Şekil. Meet Media API botu, üçüncü taraf web sitesine katılmaya çalışır. Reşit olmayanlara ait hesaplar varsa bağlantı reddedilir.
  • Şifreli toplantılar ve filigranlı toplantılar.
    Şekil 2. Toplantılar şifrelenmiş olarak işaretlenebilir ve filigran içerebilir. Toplantıda şifreleme veya filigran olduğunda Meet Media API'ye bağlanılamaz.
  • Yönetici ayarının doğru olduğundan emin olun.
    3. Şekil. Yönetici ayarının doğru olduğundan emin olun.
  • Toplantıyı Takvim'de oluşturun.
    4. Şekil. 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ştirme
    5. şekil. Görüşme sırasında ayar değişikliği yapılması. Toplantıyı düzenleyen kullanıcı, görüşme sırasında Meet Media API ayarını devre dışı bırakmaya karar verirse bağlantı durdurulur.
  • Başlatan kullanıcı, tüketici toplantıları sırasında hazır bulunmalıdır.
    6. şekil. Toplantı sahibinin tüketici hesabı varsa (@gmail.com ile biten bir hesap) toplantının başlatıcısı, toplantıya izin vermek için hazır bulunmalıdır. Aksi takdirde bağlantı reddedilir.
  • Bağlantı kuruldu.
    7. şekil. Bağlantı kurulduktan sonra toplantıyı düzenleyen, yardımcı düzenleyen veya toplantıyı düzenleyen kişiyle aynı kuruluştaki katılımcılar başlatma iletişim kutusunu görür.
  • Görüşme sırasında herkes Meet Media API'yi durdurabilir.
    Şekil 8. Görüşme sırasında herkes Meet Media API'yi durdurabilir.

Sık kullanılan terimler

Cloud proje numarası
Bir Google Cloud projesi için oluşturulan int64 değiştirilemez tanımlayıcı. Bu değerler, Google Cloud Console tarafından her kayıtlı uygulama için oluşturulur.
Konferans
Toplantı alanında sunucu tarafından oluşturulan bir görüşme örneği. Kullanıcılar genellikle bu senaryoyu tek bir toplantı olarak değerlendirir.
Konferans Kaynak Verileri Kanalı

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

Her kaynak türü için özel bir veri kanalı açılabilir. Açıldıktan sonra istemci, 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ı işaret ettiğini varsayamazsınız. Her RTP paketinin başlığındaki CSRC değeri, paketin gerçek kaynağını tanımlar.

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

Veri kanalları

WebRTC Veri Kanalları, ses ve video akışlarından bağımsız olarak rastgele verilerin (metin, dosya vb.) değiş tokuş edilmesini sağlar. Veri kanalları, medya akışlarıyla aynı bağlantıyı kullanarak WebRTC uygulamalarına veri değişimi eklemenin etkili bir yolunu sunar.

Etkileşimli Bağlantı Oluşturma (ICE)

Bağlantı kurmak, iki bilgisayarın eşler arası (P2P) ağ üzerinden birbirleriyle iletişim kurabileceği tüm olası rotaları bulmak ve ardından bağlantınızın kesilmemesini sağlamak için kullanılan bir protokoldür.

Medya akışı

WebRTC medya akışı, genellikle ses veya video olan ve kamera ya da mikrofon gibi bir cihazdan alınan medya verilerinin akışını ifade 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ışı parçası

Tek yönlü bir RTP paketi akışından oluşur. Bir medya akışı parçası ses veya video olabilir ancak ikisi 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 öğeden uzak öğeye çıkış ve uzak öğeden yerel öğeye giriş.

Toplantı alanı

Konferansın yapıldığı sanal yer veya kalıcı nesne (ör. toplantı odası). Herhangi bir zamanda bir alanda yalnızca bir etkin konferans düzenlenebilir. Toplantı alanı, kullanıcıların buluşmasına ve paylaşılan kaynakları bulmasına da yardımcı olur.

Katılımcı

Bir konferansa katılan veya Tamamlayıcı Mod'u kullanan, izleyici olarak izleyen ya da bir görüşmeye bağlı 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ında sınırlama vardır.

Bir konferanstaki katılımcı sayısının bu sayıyı aşması mümkündür. Bu durumlarda Meet sunucuları, "en alakalı" olarak kabul edilen 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 özelliklere göre belirlenir.

Seçici Yönlendirme Birimi (SFU)

Seçici Yönlendirme Birimi (SFU), WebRTC konferansında medya akışı dağıtımını yöneten sunucu tarafı bir bileşendir. Katılımcılar yalnızca SFU'ya bağlanır. SFU, ilgili akışları diğer katılımcılara seçici bir şekilde yönlendirir. Bu sayede istemci işleme ve bant genişliği ihtiyaçları azaltılarak ölçeklenebilir konferanslar düzenlenebilir.

Oturum Açıklama Protokolü (SDP)

WebRTC'nin P2P bağlantısı görüşmek için kullandığı sinyal mekanizması. RFC 8866 tarafından yönetilir.

SDP yanıtı

SDP teklifine verilen yanıt. Yanıt, uzak taraftan alınan tüm akışları reddeder veya kabul eder. Ayrıca, teklif veren cihaza geri iletmeyi planladığı akışlar için de görüşme yapar. SDP yanıtının, ilk teklifte belirtilen akışları ekleyemeyeceğini unutmamak önemlidir. Örneğin, bir teklif veren taraf, uzak taraftan en fazla üç ses akışı kabul ettiğini belirtirse bu uzak taraf, iletim için dört ses akışı belirtemez.

SDP teklifi

Teklif-yanıt eşler arası görüşme akışındaki ilk SDP. Teklif, oturumu 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 teklif, teklifi veren tarafın gönderdiği (veya alabileceği) ses ya da video akışlarının sayısını ve veri kanallarının açılıp açılmayacağını belirtebilir.

Senkronizasyon Kaynağı (SSRC)

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

RtpTransceiver

RFC 8829 başlıklı makalede ayrıntılı olarak açıklandığı gibi, alıcı-verici, eşler arası oturumdaki RTP akışlarıyla ilgili bir soyutlamadır.

Tek bir alıcı-verici, SDP'deki tek bir medya açıklamasıyla eşlenir ve bu açıklama tarafından tanımlanır. Bir alıcı-verici, RtpSender ve RtpReceiver'den oluşur.

RTP çift yönlü olduğundan, aynı RTP bağlantısı için her eşin kendi alıcı-verici örneği vardır. Yerel eş için belirli bir alıcı-vericinin RtpSender değeri, uzak eşteki belirli bir alıcı-vericinin RtpReceiver değerine eşlenir. Bunun tam tersi de geçerlidir. Uzak eşin aynı RtpSender, yerel eşin RtpReceiver ile eşlenir.

Her medya açıklamasının kendi özel alıcı-vericisi vardır. Bu nedenle, birden fazla RTP akışının olduğu 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 Seçici Yönlendirme Birimi (SFU) tarafından oluşturulan toplanmış medya akışlarıdır. Her katılımcı diğer herkese ayrı ayrı akışlar göndermek yerine SFU, seçilen katılımcı akışlarını daha az sayıda giden sanal akışta çoklar. Bu sayede bağlantı topolojisi basitleştirilir ve katılımcıların üzerindeki yük azaltılır. Böylece, ölçeklenebilir konferanslar düzenlenebilir. Her sanal akış, SFU tarafından dinamik olarak yönetilen birden fazla katılımcının medyalarını içerebilir.