首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在RTCMulticonnection中限制带宽使用

无法在RTCMulticonnection中限制带宽使用
EN

Stack Overflow用户
提问于 2020-06-17 13:32:44
回答 1查看 174关注 0票数 3

我在我的一个项目中使用了RTCMulticonnection。这里我想把视频流的带宽限制在500-600kbp。我检查了documentation并用bandwidth Handeller设置了sdp constraints。我使用mediaConstrains将宽度减少到320p,高度减少到180。但在发送和接收中仍然使用2-2.5 Mbps。

下面是我使用的代码

代码语言:javascript
复制
<script src="https://rtcmulticonnection.herokuapp.com/dist/RTCMultiConnection.min.js"></script>
<script src="https://rtcmulticonnection.herokuapp.com/socket.io/socket.io.js"></script>

<script>
var connection = new RTCMultiConnection();

// this line is VERY_important
connection.socketURL = 'https://rtcmulticonnection.herokuapp.com:443/';

// if you want audio+video conferencing
connection.session = {
    audio: true,
    video: true
};
connection.mediaConstraints = {
    audio: true,
    video: {
        mandatory: {
            minWidth: 360,
            maxWidth: 360,
            minHeight: 180,
            maxHeight: 180,
            minFrameRate: 15,
            minAspectRatio: 1.77
        }
    }
};

if (DetectRTC.browser.name === 'Firefox') {
    connection.mediaConstraints = {
        audio: true,
        video: {
            width: 360,
            height: 180,
            frameRate: 15,
            aspectRatio: 1.77
        }
    };
}
var BandwidthHandler = connection.BandwidthHandler;
connection.bandwidth = {
    audio: 90,
    video: 400,
    screen: 360
};
connection.processSdp = function(sdp) {
    sdp = BandwidthHandler.setApplicationSpecificBandwidth(sdp, connection.bandwidth, !!connection.session.screen);
    sdp = BandwidthHandler.setVideoBitrates(sdp, {
        min: connection.bandwidth.video,
        max: connection.bandwidth.video
    });

    sdp = BandwidthHandler.setOpusAttributes(sdp);

    sdp = BandwidthHandler.setOpusAttributes(sdp, {
        'stereo': 1,
        //'sprop-stereo': 1,
        'maxaveragebitrate': connection.bandwidth.audio * 1000 * 8,
        'maxplaybackrate': connection.bandwidth.audio * 1000 * 8,
        //'cbr': 1,
        //'useinbandfec': 1,
        // 'usedtx': 1,
        'maxptime': 3
    });

    return sdp;
};

connection.openOrJoin('your-room-id');
</script>

这是我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 16:35:22

我没有关于RTCMulticonnection的经验。

所以我只想说一下bandwidth option in SDP

如何在sdp中增加价值?

就像'b=AS:600‘

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62422078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档