Media API kavramlarını öğrenme
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Google Meet Media API, uygulamanızın Google Meet konferansına katılmasına ve gerçek zamanlı medya akışlarını kullanmasına olanak tanır.
İstemciler, Meet sunucularıyla iletişim kurmak için WebRTC'yi kullanır. Sağlanan referans istemciler (C++, TypeScript) önerilen uygulamaları gösterir ve doğrudan bu istemciler üzerinde geliştirme yapmanız önerilir.
Ancak Meet Media API'nin teknik koşullarına uyan tamamen özel WebRTC istemcileri de oluşturabilirsiniz.
Bu sayfada, başarılı bir Meet Media API oturumu için gereken temel WebRTC kavramları özetlenmektedir.
Teklif-yanıt sinyali
WebRTC, eşlerin birbirlerine sinyal göndererek iletişim kurduğu bir eşler arası (P2P) çerçevedir. Bir oturum başlatmak için oturumu başlatan eş, uzak bir eşe SDP
teklifi gönderir. Bu teklif aşağıdaki önemli ayrıntıları içerir:
Ses ve video için medya açıklamaları
Medya açıklamaları, eşler arası oturumlar sırasında neyin iletildiğini gösterir. Üç tür açıklama vardır: ses, video ve veri.
Teklif sahibi, n ses akışını belirtmek için teklife n sesli medya açıklaması ekler. Aynı durum video için de geçerlidir. Ancak en fazla bir veri medya açıklaması olacaktır.
Yön belirleme
Her sesli veya görüntülü açıklama, RFC
3711 tarafından yönetilen ayrı Güvenli Gerçek Zamanlı İletim Protokolü (SRTP) akışlarını açıklar. Bu bağlantılar çift yönlüdür. İki eşin aynı bağlantı üzerinden medya göndermesine ve almasına olanak tanır.
Bu nedenle, her medya açıklaması (hem teklifte hem de yanıtta), akışın nasıl kullanılması gerektiğini açıklayan üç özellikten birini içerir:
sendonly: Yalnızca teklif veren eşten medya gönderir. Uzak eş, bu akışta medya göndermeyecek.
recvonly: Yalnızca uzak taraftan gelen medyayı alır. Teklifi sunan eş, bu akışta medya göndermeyecek.
sendrecv: Her iki taraf da bu akışta gönderme ve alma işlemi yapabilir.
Codec'ler
Her medya açıklaması, bir eşin desteklediği codec'leri de belirtir. Meet Media API'de, istemci teklifleri teknik koşullarda belirtilen codec'leri (en azından) desteklemediği sürece reddedilir.
DTLS el sıkışması
SRTP akışları, eşler arasında ilk Datagram Taşıma Katmanı Güvenliği ("DTLS", RFC
9147) el sıkışmasıyla güvence altına alınır.
DTLS geleneksel olarak istemciden sunucuya protokolüdür. Sinyal verme işlemi sırasında bir eş sunucu olarak hareket etmeyi kabul ederken diğeri eş olarak hareket eder.
Her SRTP akışının kendi özel DTLS bağlantısı olabileceğinden, her medya açıklaması, DTLS el sıkışmasında eşin rolünü belirtmek için üç özellikten birini belirtir:
a=setup:actpass: Teklif veren eş, uzak eşin seçimine uyar.
a=setup:active: Bu eş, istemci olarak hareket eder.
a=setup:passive: Bu eş, sunucu görevi görür.
Uygulama medya açıklamaları
Veri kanalları (RFC 8831), Akış Denetimi İletim Protokolü'nün ("SCTP", RFC
9260) bir soyutlamasıdır.
İlk sinyal aşamasında veri kanallarını açmak için teklif application media description içermelidir. Ses ve video açıklamalarının aksine, uygulama açıklamalarında yön veya codec'ler belirtilmez.
ICE adayları
Bir eşin Etkileşimli Bağlantı Kurma ("ICE", RFC
8445) adayları, uzak bir eşin bağlantı kurmak için kullanabileceği rotaların listesidir.
Aday çiftler olarak bilinen iki eşin listelerinin kartezyen çarpımı, iki eş arasındaki olası rotaları temsil eder. Bu çiftler, en uygun rotayı belirlemek için test edilir.
Şekil 1. Sesli medya açıklaması içeren örnek fırsat.
Uzak eş, aynı sayıda medya açıklaması satırı içeren bir SDP
yanıtı ile yanıt verir. Her satır, uzak tarafın SRTP akışları üzerinden teklif veren istemciye geri gönderdiği medyayı (varsa) gösterir. Uzak uç, teklif verenden gelen belirli akışları da reddedebilir. Bunun için medya açıklaması girişini recvonly olarak ayarlaması gerekir.
Meet Media API'de istemciler, bağlantı başlatmak için her zaman SDP teklifi gönderir. Meet hiçbir zaman başlatıcı olmaz.
Bu davranış, referans istemciler (C++, TypeScript) tarafından dahili olarak yönetilir ancak özel istemcilerin geliştiricileri, teklif oluşturmak için WebRTC'nin PeerConnectionInterface özelliğini kullanabilir.
Meet Meet'e bağlanmak için teklifin belirli koşullara uyması gerekir:
İstemci, DTLS el sıkışmasında her zaman istemci olarak hareket etmelidir. Bu nedenle, teklifteki her medya açıklaması a=setup:actpass veya a=setup:active değerini belirtmelidir.
Her medya açıklaması satırı, söz konusu medya türü için tüm gerekli codec'leri desteklemelidir:
Ses:Opus
Video:VP8, VP9, AV1
Ses almak için teklif tam olarak 3 adet yalnızca alım amaçlı sesli medya açıklaması içermelidir. Bunu, eş bağlantısı nesnesinde alıcı-vericileri ayarlayarak yapabilirsiniz.
Video almak için teklif, 1-3 adet yalnızca video alma amaçlı medya açıklaması içermelidir. Bunu, eş bağlantısı nesnesinde alıcı-vericileri ayarlayarak yapabilirsiniz.
Teklif her zaman veri kanallarını içermelidir. En azından session-control ve media-stats kanalları her zaman açık olmalıdır. Tüm veri kanalları ordered olmalıdır.
Geçerli bir SDP teklifi ve eşleşen SDP yanıtının tam örneğini aşağıda bulabilirsiniz. Bu teklif, ses ve tek bir video akışıyla Meet Media API oturumu başlatır.
Üç sesli medya açıklaması, bir video medya açıklaması ve gerekli uygulama medya açıklamasının olduğunu gözlemleyin.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2026-05-13 UTC."],[],[]]