Tags: odoo/sfu
Tags
[REF] version 1.3.2: node 22 and typescript This commit increases the required node version to the next LTS (node 22). Since node 22.7, it is possible to have complete native (non-transpiled) TypeScript support with node.js, so this commit also updates the codebase to TypeScript.
[IMP] add simulcast This commit adds the support for simulcast: Simulcast is a way to let producers sent multiple version of the streams as different layers of quality. This allows the server to select the optimal layer based on the available bandwidth for each client. Two env variables are used to control this feature: `VIDEO_MAX_BITRATE`: Specifies the bitrate for the highest encoding layer per stream. It sets the `maxBitrate` property of the highest encoding of the `RTCRtpEncodingParameters` and is used to compute the bitrate attributed to the other layers. `MAX_BITRATE_OUT`: The maximum outgoing bitrate (=from the server) per session (meaning that this cap is shared between all the incoming streams for any given user). The appropriate simulcast layers used by each consumer will be selected to honor this limit. If the bitrate is still too high, packets will be dropped. Without this limit, the connections will use as much bandwidth as possible, which means that the simulcast layer will be chosen based on the client (or server) max available bandwidth. This commits also bumps the minor version as the bundle and the server need to be updated to benefit from the feature (although both the client and the server are backwards compatible).
[FIX] cleanup package.json * Remove the "sideEffects" property from the package.json as this property was for WebPack* and we are now using Rollup. dev dependencies changes: * Limit version tolerance of some linting dependencies to prevent linting inconsistencies. * Add missing rollup dependencies. * Lint JS files back to es5 trailing comma as it is the default of prettier <3.0, which is the version used in the rest of the odoo codebase.