apirtc:与音频系统共享屏幕的问题

apirtc: Problem with screen share with audio system

我开发了一个网络会议,发现屏幕共享有问题。当我与音频系统共享屏幕时,在侦听器 streamListChanged 中没有将参数“isScreensharing”设置为 true。另一个问题是这个配置选项是否最优

{
    qos: {
        videoStartQuality: 'excellent',
        videoMinQuality: 'excellent',
        videoMinBitrate: 1500,
        videoStartBitrate: 2500
    },
    simulcast: {
        encodings: {
            high: {
                maxBitrate: 2500 // kbps
            },
            medium: {
                maxBitrate: 1500, // kbps
                scaleResolutionDownBy: 2
            },
            low: {
                maxBitrate: 800, // kbps
                scaleResolutionDownBy: 4
            }
        }
    }
}

抱歉我的英语不好。

关于第一点,你是对的,有一个关于音频屏幕共享的错误。 streamListChanged 事件中的参数“isScreensharing”设置为 false。 我会开票给开发团队来解决这个问题。

有一种解决方法可用于使用发布选项识别您的屏幕共享流。

您可以像这样将“上下文”对象传递给您的屏幕共享发布:

var options = {
        context : { screensharingwithaudio : true}
                        
}
connectedConversation.publish(screensharingStream,options);

此上下文包含在 streamListChanged 事件中,因此您可以轻松识别可用流的类型。

对于第二点,如果您使用联播,则不会使用 qos 选项,因此对于您的信息质量选项和比特率选项是唯一的。 你必须使用其中之一而不是 2.

目前,我们的生产平台将发布流的比特率限制为 2500 Kbps,因此在您的联播配置中,最高流将被 ApiRTC 禁用。

你可以试试这个配置:

simulcast: {
        encodings: {
            high: {
                maxBitrate: 1700 // kbps
            },
            medium: {
                maxBitrate: 600, // kbps
                scaleResolutionDownBy: 2
            },
            low: {
                maxBitrate: 200, // kbps
                scaleResolutionDownBy: 4
            }
        }
    }