Opentok对订户的PreferredResolution不起作用

时间:2018-10-26 09:49:57

标签: webrtc opentok tokbox

我使用MediaMode.ROUTED在后​​端创建opentok会话,并创建像这样的发布者对象:

var publisherOptions =  {
    resolution: '1280x960',
    style: {
        nameDisplayMode: "on",
        buttonDisplayMode: "off"
    },
};
const el = createElement();
publisher = OT.initPublisher(el, publisherOptions);

在订户端,我这样连接:

subscriberOptions = {
    insertMode: 'append',
    preferredResolution: {width: 320, height: 240},
    style: {
        buttonDisplayMode: 'off'
    }
};
subscriber = session.subscribe(event.stream, 'subscriber', subscriberOptions, function(error) {
     if (error) {
     console.log('There was an error publishing: ', error.name, error.message);
     }
 });

但是我在订户上收到的流是1280x960,不是320x240吗?

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

此处是TokBox开发人员的传播者。

该实现看起来是正确的,但是请记住,如果会话使用Scalable Video,则只能以订户的身份控制分辨率。设置首选分辨率仅适用于支持可伸缩视频的客户端发布的流:使用OpenTok iOS SDK(在某些设备上),OpenTok Android SDK(在某些设备上)或Chrome中的OpenTok.js的客户端。 在不使用可伸缩视频的流中,设置此属性无效。

还请记住,并非所有分辨率都可供订户使用。设置首选分辨率时,OpenTok.js和视频编码器会选择与您的设置相匹配的最佳可用分辨率。可用的分辨率取决于已发布流的分辨率。 Subscriber对象的stream.resolution属性表示可用于流的最高分辨率。流可用的每个分辨率将使用相同的宽高比。可用的实际分辨率动态取决于发布者和订阅者可用的网络和CPU资源。

有关更多信息,请查看documentation进行订阅。