Hızlı Başlangıç: Arama uygulamanızda video kısıtlamaları ayarlama
Önemli
Bu makalede açıklanan işlevsellik şu anda genel önizleme aşamasındadır. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Genel bakış
Video Kısıtlamaları API'si, geliştiricilerin görüntülü aramalarının içinden video kalitesini denetlemesine olanak tanır. Bu hızlı başlangıç kılavuzunda, kısıtlamaları ayarlamak için API'nin nasıl kullanılacağını göstereceğiz.
Önkoşullar
Sesli arama ile örnek bir uygulama ayarlamak için Sesli Arama Hızlı Başlangıcı'na bakın.
Sınıflar
Veri Akışı Adı | Açıklama |
---|---|
VideoConstraints | Hem gelen video kısıtlamalarını hem de giden video kısıtlamalarını tutmak için kullanılır. |
GidenVideoConstraints | Giden video akışları için kısıtlamaları (MaxWidth | MaxHeight | MaxFrameRate ) belirtmek için kullanılır. |
IncomingVideoConstraints | Gelen video akışları için kısıtlamaları (MaxWidth | MaxHeight ) belirtmek için kullanılır. |
Video kısıtlamalarını kullanma
Aşağıdaki bölümlerde, aramanın farklı zamanlarında gelen ve/veya giden video akışları için video kısıtlamalarının nasıl ayarlanabileceği açıklanmaktadır.
Arama başlatmadan önce video kısıtlamalarını ayarlama
Gelen video akışları için öğesine bir IncomingVideoConstraints
eklenmelidirIncomingVideoOptions
.
var IncomingVideoOptions = new IncomingVideoOptions()
{
Constraints = new IncomingVideoConstraints()
{
MaxWidth = /*value*/,
MaxHeight = /*value*/
},
// other options
// ...
}
Giden video akışları için öğesine bir OutgoingVideoConstraints
eklenmesi OutgoingVideoOptions
gerekir.
var OutgoingVideoOptions = new OutgoingVideoOptions()
{
Constraints = new OutgoingVideoConstraints()
{
MaxWidth = /*value*/,
MaxHeight = /*value*/,
MaxFrameRate = /*value*/
},
// other options
// ...
}
Seçenekler bir çağrıyı başlatmak/birleştirmek için kullanıldığından, kısıtlamalar akışlara otomatik olarak uygulanabilir. Örneğin:
var joinCallOptions = new JoinCallOptions()
{
IncomingVideoOptions = new IncomingVideoOptions()
{
Constraints = new IncomingVideoConstraints()
{
MaxWidth = /*value*/,
MaxHeight = /*value*/
},
// other options
// ...
},
OutgoingVideoOptions = new OutgoingVideoOptions()
{
Constraints = new OutgoingVideoConstraints()
{
MaxWidth = /*value*/,
MaxHeight = /*value*/,
MaxFrameRate = /*value*/
},
// other options
// ...
}
};
await callAgent.JoinAsync(locator, joinCallOptions);
Arama sırasında video kısıtlamalarını ayarlama
Arama başlatmadan önce video kısıtlamalarını ayarlamak yerine, arama sırasında video kısıtlamalarını dinamik olarak da ayarlayabilirsiniz. Tür sınıfınızı çağırmanız SetVideoConstraints
Call
ve kısıtlamaları sağlamanız gerekir.
OutgoingVideoConstraints outgoingVideoConstraints = new OutgoingVideoConstraints()
{
outgoingVideoConstraints.MaxWidth = /*value*/ ;
outgoingVideoConstraints.MaxHeight = /*value*/ ;
outgoingVideoConstraints.MaxFrameRate = /*value*/ ;
};
IncomingVideoConstraints incomingVideoConstraints = new IncomingVideoConstraints()
{
incomingVideoConstraints.MaxWidth = /*value*/ ;
incomingVideoConstraints.MaxHeight = /*value*/ ;
};
VideoConstraints constraints = new VideoConstraints();
constraints.OutgoingVideoConstraints = outgoingVideoConstraints;
constraints.IncomingVideoConstraints = incomingVideoConstraints;
call.SetVideoConstraints(constraints);
Daha önce ayarladığınız video kısıtlamalarını sıfırlamak/kaldırmak için yukarıdaki deseni izlemeniz ve kısıtlama değeri olarak sağlamanız 0
gerekir. null
Kısıtlamalardan biri IncomingVideoConstraints
için değer sağlama veya OutgoingVideoConstraints
sıfırlama/kaldırma ve değer null
içeren kısıtlamalar yoksayılır.
Sınırlamalar
Not
Video Kısıtlamaları API'sini kullanırken bu sınırlamaların farkında olduğunuzdan emin olun. Sınırlamalardan bazıları gelecek sürümlerde kaldırılacaktır.
Geçerli Video Kısıtlamaları API'sinde bilinen bazı sınırlamalar vardır.
Kısıtlama bir maksimum kısıtlamadır; bu da olası kısıtlama değerinin belirtilen değer veya daha küçük olabileceği anlamına gelir. Gerçek değerin kullanıcı tarafından belirtilen değerle aynı kalmasının garantisi yoktur.
Kullanıcı çok küçük bir kısıtlama değeri belirlediğinde, SDK desteklenen en küçük kullanılabilir değeri kullanır.
Arama sırasında ayar
OutgoingVideoConstraints
için, geçerli devam eden video akışı belirtilen kısıtlamaları otomatik olarak almaz. Kısıtlamaların etkili olması için giden videoyu durdurmanız ve yeniden başlatmanız gerekir.IncomingVideoConstraints
şu anda sabit kısıtlama yerine kullanıcı tarafından tercih edilen bir kısıtlamadır. Bu, ağınıza ve donanımınıza bağlı olarak alınan gerçek değerin yine de kısıtlama kümesini aşabileceği anlamına gelir.
Medya istatistikleri
Video kısıtlamalarını uyguladıktan sonra video kalitesini değerlendirmek ve karşılaştırmak için MediaStats API'sine erişerek akışın video çözünürlüğü ve bit hızı bilgilerini alabilirsiniz. Medya istatistikleri, akışlarla ilgili değişim, paket kaybı, gidiş dönüş süresi vb. gibi diğer ayrıntılı istatistikleri de içerir.
Önemli
Bu makalede açıklanan işlevsellik şu anda genel önizleme aşamasındadır. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Genel bakış
Video Kısıtlamaları API'si, geliştiricilerin görüntülü aramalarının içinden video kalitesini denetlemesine olanak tanır. Bu hızlı başlangıç kılavuzunda, kısıtlamaları ayarlamak için API'nin nasıl kullanılacağını göstereceğiz.
Önkoşullar
Sesli arama ile örnek bir uygulama ayarlamak için Sesli Arama Hızlı Başlangıcı'na bakın.
Sınıflar
Veri Akışı Adı | Açıklama |
---|---|
VideoConstraints | Hem gelen video kısıtlamalarını hem de giden video kısıtlamalarını tutmak için kullanılır. |
GidenVideoConstraints | Giden video akışları için kısıtlamaları (maxWidth | maxHeight | maxFrameRate ) belirtmek için kullanılır. |
IncomingVideoConstraints | Gelen video akışları için kısıtlamaları (maxWidth | maxHeight ) belirtmek için kullanılır. |
Video kısıtlamalarını kullanma
Aşağıdaki bölümlerde, aramanın farklı zamanlarında gelen ve/veya giden video akışları için video kısıtlamalarının nasıl ayarlanabileceği açıklanmaktadır.
Arama başlatmadan önce video kısıtlamalarını ayarlama
Gelen video akışları için öğesine bir IncomingVideoConstraints
eklenmelidirIncomingVideoOptions
.
IncomingVideoConstraints incomingVideoConstraints = new IncomingVideoConstraints();
incomingVideoConstraints.setMaxWidth(/*value*/);
incomingVideoConstraints.setMaxHeight(/*value*/);
// ...
IncomingVideoOptions incomingVideoOptions = new IncomingVideoOptions();
incomingVideoOptions.setConstraints(incomingVideoConstraints);
Giden video akışları için öğesine bir OutgoingVideoConstraints
eklenmesi OutgoingVideoOptions
gerekir.
OutgoingVideoConstraints outgoingVideoConstraints = new OutgoingVideoConstraints()
outgoingVideoConstraints.setMaxWidth(/*value*/);
outgoingVideoConstraints.setMaxHeight(/*value*/);
outgoingVideoConstraints.setMaxFrameRate(/*value*/);
// ...
OutgoingVideoOptions outgoingVideoOptions = new OutgoingVideoOptions();
outgoingVideoOptions.setConstraints(outgoingVideoConstraints);
Seçenekler bir çağrıyı başlatmak/birleştirmek için kullanıldığından, kısıtlamalar akışlara otomatik olarak uygulanabilir. Örneğin:
JoinCallOptions joinCallOptions = new JoinCallOptions();
joinCallOptions.setIncomingVideoOptions(incomingVideoOptions);
joinCallOptions.setOutgoingVideoOptions(outgoingVideoOptions);
callAgent.Join(context, locator, joinCallOptions);
Arama sırasında video kısıtlamalarını ayarlama
Arama başlatmadan önce video kısıtlamalarını ayarlamak yerine, arama sırasında video kısıtlamalarını dinamik olarak da ayarlayabilirsiniz. Tür sınıfınızı çağırmanız setVideoConstraints
Call
ve kısıtlamaları sağlamanız gerekir.
OutgoingVideoConstraints outgoingVideoConstraints = new OutgoingVideoConstraints();
outgoingVideoConstraints.setMaxWidth(/*value*/);
outgoingVideoConstraints.setMaxHeight(/*value*/);
outgoingVideoConstraints.setMaxFrameRate(/*value*/);
IncomingVideoConstraints incomingVideoConstraints = new IncomingVideoConstraints();
incomingVideoConstraints.setMaxWidth(/*value*/);
incomingVideoConstraints.setMaxHeight(/*value*/);
VideoConstraints constraints = new VideoConstraints();
constraints.setOutgoingVideoConstraints(outgoingVideoConstraints);
constraints.setIncomingVideoConstraints(incomingVideoConstraints);
call.setVideoConstraints(constraints);
Daha önce ayarladığınız video kısıtlamalarını sıfırlamak/kaldırmak için yukarıdaki deseni izlemeniz ve kısıtlama değeri olarak sağlamanız 0
gerekir. null
Kısıtlamalardan biri IncomingVideoConstraints
için değer sağlama veya OutgoingVideoConstraints
sıfırlama/kaldırma ve değer null
içeren kısıtlamalar yoksayılır.
Sınırlamalar
Not
Video Kısıtlamaları API'sini kullanırken bu sınırlamaların farkında olduğunuzdan emin olun. Sınırlamalardan bazıları gelecek sürümlerde kaldırılacaktır.
Geçerli Video Kısıtlamaları API'sinde bilinen bazı sınırlamalar vardır.
Kısıtlama bir maksimum kısıtlamadır; bu da olası kısıtlama değerinin belirtilen değer veya daha küçük olabileceği anlamına gelir. Gerçek değerin kullanıcı tarafından belirtilen değerle aynı kalmasının garantisi yoktur.
Kullanıcı çok küçük bir kısıtlama değeri belirlediğinde, SDK desteklenen en küçük kullanılabilir değeri kullanır.
Arama sırasında ayar
OutgoingVideoConstraints
için, geçerli devam eden video akışı belirtilen kısıtlamaları otomatik olarak almaz. Kısıtlamaların etkili olması için giden videoyu durdurmanız ve yeniden başlatmanız gerekir.IncomingVideoConstraints
şu anda sabit kısıtlama yerine kullanıcı tarafından tercih edilen bir kısıtlamadır. Bu, ağınıza ve donanımınıza bağlı olarak alınan gerçek değerin yine de kısıtlama kümesini aşabileceği anlamına gelir.
Medya istatistikleri
Video kısıtlamalarını uyguladıktan sonra video kalitesini değerlendirmek ve karşılaştırmak için MediaStats API'sine erişerek akışın video çözünürlüğü ve bit hızı bilgilerini alabilirsiniz. Medya istatistikleri, akışlarla ilgili değişim, paket kaybı, gidiş dönüş süresi vb. gibi diğer ayrıntılı istatistikleri de içerir.
Önemli
Bu makalede açıklanan işlevsellik şu anda genel önizleme aşamasındadır. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Genel bakış
Video Kısıtlamaları API'si, geliştiricilerin görüntülü aramalarının içinden video kalitesini denetlemesine olanak tanır. Bu hızlı başlangıç kılavuzunda, kısıtlamaları ayarlamak için API'nin nasıl kullanılacağını göstereceğiz.
Önkoşullar
Sesli arama ile örnek bir uygulama ayarlamak için Sesli Arama Hızlı Başlangıcı'na bakın.
Sınıflar
Veri Akışı Adı | Açıklama |
---|---|
VideoConstraints | Hem gelen video kısıtlamalarını hem de giden video kısıtlamalarını tutmak için kullanılır. |
GidenVideoConstraints | Giden video akışları için kısıtlamaları (maxWidth | maxHeight | maxFrameRate ) belirtmek için kullanılır. |
IncomingVideoConstraints | Gelen video akışları için kısıtlamaları (maxWidth | maxHeight ) belirtmek için kullanılır. |
Video kısıtlamalarını kullanma
Aşağıdaki bölümlerde, aramanın farklı zamanlarında gelen ve/veya giden video akışları için video kısıtlamalarının nasıl ayarlanabileceği açıklanmaktadır.
Arama başlatmadan önce video kısıtlamalarını ayarlama
Gelen video akışları için öğesine bir IncomingVideoConstraints
eklenmelidirIncomingVideoOptions
.
let incomingVideoConstraints = IncomingVideoConstraints()
incomingVideoConstraints.maxWidth = /*value*/
incomingVideoConstraints.maxHeight = /*value*/
// ...
let incomingVideoOptions = IncomingVideoOptions()
incomingVideoOptions.constraints = incomingVideoConstraints
Giden video akışları için öğesine bir OutgoingVideoConstraints
eklenmesi OutgoingVideoOptions
gerekir.
let outgoingVideoConstraints = OutgoingVideoConstraints()
outgoingVideoConstraints.maxWidth = /*value*/
outgoingVideoConstraints.maxHeight = /*value*/
outgoingVideoConstraint.maxFrameRate = /*value*/
// ...
let outgoingVideoOptions = OutgoingVideoOptions()
outgoingVideoOptions.constraints = outgoingVideoConstraints
Seçenekler bir çağrıyı başlatmak/birleştirmek için kullanıldığından, kısıtlamalar akışlara otomatik olarak uygulanabilir. Örneğin:
let incomingVideoConstraints = IncomingVideoConstraints()
incomingVideoConstraints.maxWidth = /*value*/
incomingVideoConstraints.maxHeight = /*value*/
let incomingVideoOptions = IncomingVideoOptions()
incomingVideoOptions.constraints = incomingVideoConstraints
let outgoingVideoConstraints = OutgoingVideoConstraints()
outgoingVideoConstraints.maxWidth = /*value*/
outgoingVideoConstraints.maxHeight = /*value*/
outgoingVideoConstraint.maxFrameRate = /*value*/
let outgoingVideoOptions = OutgoingVideoOptions()
outgoingVideoOptions.constraints = outgoingVideoConstraints
let joinCallOptions = new JoinCallOptions()
joinCallOptions.incomingVideoOptions = incomingVideoOptions
joinCallOptions.outgoingVideoOptions = outgoingVideoOptions
callAgent.join(with: locator, joinCallOptions: joinCallOptions);
Arama sırasında video kısıtlamalarını ayarlama
Arama başlatmadan önce video kısıtlamalarını ayarlamak yerine, arama sırasında video kısıtlamalarını dinamik olarak da ayarlayabilirsiniz. Tür sınıfınızı çağırmanız set(videoConstraints)
Call
ve kısıtlamaları sağlamanız gerekir.
let outgoingVideoConstraints = OutgoingVideoConstraints()
outgoingVideoConstraints.maxWidth = /*value*/
outgoingVideoConstraints.maxHeight = /*value*/
outgoingVideoConstraint.maxFrameRate = /*value*/
let incomingVideoConstraints = IncomingVideoConstraints()
incomingVideoConstraints.maxWidth = /*value*/
incomingVideoConstraints.maxHeight = /*value*/
let videoConstraints = VideoConstraints()
videoConstraints.outgoingVideoConstraints = outgoingVideoConstraints
videoConstraints.incomingVideoConstraints = incomingVideoConstraints
call?.set(videoConstraints: videoConstraints)
Daha önce ayarladığınız video kısıtlamalarını sıfırlamak/kaldırmak için yukarıdaki deseni izlemeniz ve kısıtlama değeri olarak sağlamanız 0
gerekir. null
Kısıtlamalardan biri IncomingVideoConstraints
için değer sağlama veya OutgoingVideoConstraints
sıfırlama/kaldırma ve değer null
içeren kısıtlamalar yoksayılır.
Sınırlamalar
Not
Video Kısıtlamaları API'sini kullanırken bu sınırlamaların farkında olduğunuzdan emin olun. Sınırlamalardan bazıları gelecek sürümlerde kaldırılacaktır.
Geçerli Video Kısıtlamaları API'sinde bilinen bazı sınırlamalar vardır.
Kısıtlama bir maksimum kısıtlamadır; bu da olası kısıtlama değerinin belirtilen değer veya daha küçük olabileceği anlamına gelir. Gerçek değerin kullanıcı tarafından belirtilen değerle aynı kalmasının garantisi yoktur.
Kullanıcı çok küçük bir kısıtlama değeri belirlediğinde, SDK desteklenen en küçük kullanılabilir değeri kullanır.
Arama sırasında ayar
OutgoingVideoConstraints
için, geçerli devam eden video akışı belirtilen kısıtlamaları otomatik olarak almaz. Kısıtlamaların etkili olması için giden videoyu durdurmanız ve yeniden başlatmanız gerekir.IncomingVideoConstraints
şu anda sabit kısıtlama yerine kullanıcı tarafından tercih edilen bir kısıtlamadır. Bu, ağınıza ve donanımınıza bağlı olarak alınan gerçek değerin yine de kısıtlama kümesini aşabileceği anlamına gelir.
Medya istatistikleri
Video kısıtlamalarını uyguladıktan sonra video kalitesini değerlendirmek ve karşılaştırmak için MediaStats API'sine erişerek akışın video çözünürlüğü ve bit hızı bilgilerini alabilirsiniz. Medya istatistikleri, akışlarla ilgili değişim, paket kaybı, gidiş dönüş süresi vb. gibi diğer ayrıntılı istatistikleri de içerir.
Görüntülü aramalarınızda çözünürlük veya kare Hızına veya bit hızına göre video kalitesini denetlemek için aramalarınızda video kısıtlamaları ayarlayabilirsiniz. Bu hızlı başlangıç kılavuzunda, bir çağrının başlangıcında video kısıtlamalarını ayarlamayı ve çağrı sırasında video kısıtlamalarını dinamik olarak ayarlamak için çağrı nesnesinde yöntemimizin setConstraints
nasıl kullanılacağını göstereceğiz.
Video kısıtlamalarını gönderme
Azure İletişim Hizmetleri Web Çağrısı SDK'sı, bir istemcinin gönderdiği maksimum video çözünürlüğü, kare hızı veya bit hızı ayarlamayı destekler. Gönderen video kısıtlamaları Masaüstü tarayıcılarında (Chrome, Edge, Firefox) ve iOS Safari mobil tarayıcısı veya Android Chrome mobil tarayıcı kullanılırken desteklenir.
Desteklenen Kısıtlamalar |
---|
Gelen video: çözünürlük Giden video: çözünürlük, kare hızı, bit hızı |
Aramanın başlangıcında video kısıtlamalarını ayarlama - giden (gönderme) video
Video kısıtlamaları ayarı arabirimde Call
uygulanır. Video Kısıtlamalarını kullanmak için, arama yaparken, çağrıyı kabul ettiğinizde veya bir aramaya katıldığınızda kısıtlamaları içinden belirtebilirsiniz CallOptions
. içinde videoOptions
belirtmelisinizlocalVideoStreams
.
Yalnızca sesli bir aramaya katıldığınızda ve kamerayı daha sonra açtığınızda kısıtlamaların çalışmadığını unutmayın. Bu durumda, arabirimdeki Call
yöntemini kullanarak setConstraints
video kısıtlamalarını dinamik olarak ayarlayabilirsiniz.
const callOptions = {
videoOptions: {
localVideoStreams: [...],
constraints: {
send: {
bitrate: {
max: 575000
},
frameHeight: {
max: 240
},
frameRate: {
max: 20
}
}
}
},
audioOptions: {
muted: false
}
};
// make a call
this.callAgent.startCall(identitiesToCall, callOptions);
// join a group call
this.callAgent.join({ groupId }, callOptions);
// accept an incoming call
this.incomingCall.accept(callOptions)
Video kısıtlama türleri aşağıdaki gibi açıklanmıştır:
export declare interface VideoOptions {
localVideoStreams?: LocalVideoStream[];
//video constraint when call starts
constraints?: VideoConstraints;
};
export declare type VideoConstraints = {
send?: VideoSendConstraints;
};
export type VideoSendConstraints = {
/**
* Resolution constraint
*/
frameHeight?: MediaConstraintRange;
/**
* FrameRate constraint
*/
frameRate?: MediaConstraintRange;
/**
* Bitrate constriant
*/
bitrate?: MediaConstraintRange;
};
export declare type MediaConstraintRange = {
max?: number;
};
Video kısıtlamalarını ayarlarken, SDK çözünürlük, frameRate ve bit hızı değerlerinin ayarlanan en yüksek kısıtlama değerlerini aşmamasını önlemek için kısıtlama kümesi içinde yer alan en yakın değeri seçer. Ayrıca, çözümleme kısıtlaması değeri çok küçük olduğunda SDK kullanılabilir en küçük çözünürlüğü seçer. Bu durumda, seçilen çözümlemenin yüksekliği kısıtlama değerinden daha büyük olabilir.
Not
Tüm bitrate
ve için frameHeight
frameRate
kısıtlama değeri bir max
kısıtlamadır; bu da çağrıdaki gerçek değerin belirtilen değer veya daha küçük olabileceği anlamına gelir.
Gönderilen video çözünürlüğünün belirtilen çözünürlükte kalacağı bir gurantee yoktur.
frameHeight
inVideoSendConstraints
, mobil cihaz dikey moddayken farklı bir anlama sahiptir. Dikey modda, bu değer cihazın daha kısa tarafını gösterir. Örneğin, dikey modda bir 1080(W) x 1920(H) cihazında 240 ile değer belirtildiğinde frameHeight.max
, kısıtlama yüksekliği 1080(W) tarafındadır. Aynı cihaz yatay moddayken (1920(W) x 1080(H)), kısıtlama 1080(H) tarafındadır.
Gönderilen video çözünürlüğünü izlemek için MediaStats API'sini kullanırsanız, gönderilen çözünürlüğün arama sırasında değişebileceğini öğrenebilirsiniz. Yukarı ve aşağı gidebilir, ancak sağladığınız kısıtlama değerinden eşit veya daha küçük olmalıdır. Bu çözüm değişikliği beklenen bir davranıştır. Tarayıcı ayrıca cpu veya ağ koşullarına göre gönderilen çözünürlüğü ayarlamak için bazı düşüş kuralına sahiptir.
Arama sırasında video kısıtlamalarını ayarlama - giden (gönderme) video
Nesnedeki Call
yöntemini kullanarak setConstraints
çağrı sırasında video kısıtlamaları ayarlayabilirsiniz.
// For eg, when you've started a call,
const currentCall = this.callAgent.startCall(identitiesToCall, callOptions);
// To set constraints during the call,
await currentCall.setConstraints({
video: {
send: {
frameHeight: {
max: 360
},
frameRate: {
max: 15
}
}
}
});
// To set only a particular constraint (the others will stay as what they were set before, if they were set)
await currentCall.setConstraints({
video: {
send: {
bitrate: {
max: 400000
}
}
}
});
// To unset any constraint,
await currentCall.setConstraints({
video: {
send: {
frameHeight: {
max: 0
}
}
}
});
Not
Kısıtlama değerinin olarak 0
ayarlanması, önceden ayarlanmış kısıtlamaların ayarlanmasını kaldıracaktır. Kısıtlamaları sıfırlamak veya kaldırmak için bu yöntemi kullanabilirsiniz.
Video kısıtlamalarını alma
Azure İletişim Hizmetleri Web Çağrısı SDK'sını kullanarak alıcı tarafında çözünürlüğü denetlemek için bu videonun oluşturucusunun boyutunu ayarlayabilirsiniz. Çağrı SDK'sı, alınan çözünürlüğü işleyicinin boyutlarına göre otomatik olarak ayarlar. SDK, işleyici video penceresine sığabilecek bir gelen video akışı (genişlik ve yükseklik) istemez.
Video kısıtlamalarının etkisini anlamak için Medya statiklerini kullanma
Video kısıtlamalarını uyguladıktan sonra video kalitesini değerlendirmek ve karşılaştırmak için MediaStats API'sine erişerek gönderen akışın video çözünürlüğü ve bit hızı bilgilerini alabilirsiniz. Medya istatistikleri, akışlarla ilgili değişim, paket kaybı, gidiş dönüş süresi vb. gibi diğer ayrıntılı istatistikleri de içerir.
const mediaStatsFeature = call.feature(Features.MediaStats);
const mediaStatsCollector = mediaStatsFeature.createCollector();
mediaStatsCollector.on('sampleReported', (sample: SDK.MediaStatsReportSample) => {
// process the stats for the call.
console.log(sample);
});
Sonraki adımlar
Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Video Kısıtlamaları kavram belgesi hakkında bilgi edinin
- SDK'ları çağırma özellikleri hakkında daha fazla bilgi edinin
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin