Skip to content

Tweak simulcast parameters #48

@iamDecode

Description

@iamDecode

The current simulcast parameters were just copied from another project and not tweaked carefully:

params.encodings = [
{rid: 'r0', maxBitrate: 100000, scalabilityMode: 'S1T3'},
{rid: 'r1', maxBitrate: 300000, scalabilityMode: 'S1T3'},
{rid: 'r2', maxBitrate: 900000, scalabilityMode: 'S1T3'},
];
params.codecOptions = {
videoGoogleStartBitrate: 1000,
};

Some users have reported video lagging behind audio, most likely because their CPU cannot keep up encoding the video. Encodings have an option scaleResolutionDownBy: n which might help to decrease the load. Additionally we should just try to find the lowest possible bitrate that is acceptable. It can be much lower than other video applications as the circle is relatively small.

In addition, perhaps it is a good idea to request user media with a specific, small resolution. In my testing it seemed that chrome will usually output 640x480 (iirc), but there is no way to be sure if not initially constrained. This needs to be tested well: if the constraint fails it will completely block a user from using the system.

this.stream = await this.getStream({audio: true, video: true});

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions