Невозможно ограничить использование полосы пропускания в RTCMulticonnection - PullRequest
3 голосов
/ 17 июня 2020

Я использую RTCMulticonnection в одном из моих проектов. Где я хочу ограничить пропускную способность видеопотока до 500-600 кбит / с. Я просмотрел документацию и установил ограничения sdp с пропускной способностью Handeller . и я уменьшил ширину до 320p и высоту 180, используя mediaConstrains . но все же 2-2,5 Мбит / с используются как для отправки, так и для приема.

Вот код, который я использую

<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>

Я что-то делаю не так?

1 Ответ

0 голосов
/ 17 июня 2020

У меня нет опыта работы с RTCMulticonnection.

Итак, я просто хочу сказать о параметре пропускной способности в SDP .

Как насчет добавления значения в sdp?

как 'b = AS: 600'

...