gpt4 book ai didi

html - WebRTC - 使用来自纯音频流的提议接收来自另一个对等方的视频

转载 作者:太空狗 更新时间:2023-10-29 15:40:40 26 4
gpt4 key购买 nike

如果调用 createOffer() 的对端仅在通过 getUserMedia() 请求时允许音频,是否有可能从另一个对端接收视频和音频?

场景解释:

  1. Alice 连接到信令服务器,当调用 getUserMedia() 时,选择共享视频和音频。
  2. Bob 连接到信令服务器,当调用 getUserMedia() 时, 共享音频。
  3. 由于 Bob 是最后一个参加派对的,Bob 通过 RTCPeerConnection.createOffer() 创建对等连接提议。他分享了他的 localDescription,其中包含未提及视频的 SDP 数据。
  4. 由于 SDP 数据仅包含与音频相关的信息,因此生成的连接仅包含音频。

能否创建一个要求接收视频数据但不共享的报价?

最佳答案

所以关键在于要约的创建。

引用规范

WebRTC 1.0 specification说:

4.2.5 Offer/Answer Options

These dictionaries describe the options that can be used to control the offer/answer creation process.

dictionary RTCOfferOptions {
long offerToReceiveVideo;
long offerToReceiveAudio;
boolean voiceActivityDetection = true;
boolean iceRestart = false;
};

在视频的情况下:

offerToReceiveVideo of type long

In some cases, an RTCPeerConnection may wish to receive video but not send any video. The RTCPeerConnection needs to know if it should signal to the remote side whether it wishes to receive video or not. This option allows an application to indicate its preferences for the number of video streams to receive when creating an offer.

解决方案

RTCPeerConnection.createOffer()可以将 MediaConstraints 作为可选的第三个参数。

我找到的例子来自 WebRTC for Beginners文章:

Creating Offer SDP

peerConnection.createOffer(function (sessionDescription) {
peerConnection.setLocalDescription(sessionDescription);

// POST-Offer-SDP-For-Other-Peer(sessionDescription.sdp, sessionDescription.type);

}, function(error) {
alert(error);
}, { 'mandatory': { 'OfferToReceiveAudio': true, 'OfferToReceiveVideo': true } });

这些 MediaContraints 也可以与 createAnswer() 一起使用。

关于html - WebRTC - 使用来自纯音频流的提议接收来自另一个对等方的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29737725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com