在 mediasoup服务端中启用 FlexFEC代码如何调整
时间: 2024-02-22 10:58:50 浏览: 146
要在 mediasoup 服务端中启用 FlexFEC,你需要按照以下步骤进行调整:
1. 在创建 Router 时,将 enableRtpFlexFEC 参数设置为 true:
```javascript
const router = await worker.createRouter({
enableRtpFlexFEC: true
});
```
2. 在创建 RtpCodecCapability 时,将 flexfec-03 添加到 rtpFeedback 中:
```javascript
const codec = {
kind : 'video',
mimeType : 'video/VP8',
clockRate : 90000,
parameters : {
'x-google-start-bitrate' : 1000
},
rtcpFeedback : [
{ type: 'nack' },
{ type: 'nack', parameter: 'pli' },
{ type: 'ccm', parameter: 'fir' },
{ type: 'goog-remb' },
{ type: 'flexfec-03' } // 添加 flexfec-03
]
};
const codecOptions = {};
const codecCapability = await router.createCodecCapability(codec, codecOptions);
```
3. 在创建 Transport 时,将 sctpParameters 中的 maxMessageSize 设置为足够大的值:
```javascript
const transport = await producerDevice.createSendTransport({
maxSctpMessageSize : 262144, // 设置足够大的 maxMessageSize
...
});
```
4. 最后,mediasoup 会自动进行灵活前向纠错的编码和解码,无需手动调整代码。
需要注意的是,启用 FlexFEC 可能会增加一定的带宽占用,因此需要根据实际情况进行调整。同时,启用 FlexFEC 也需要浏览器的支持,在使用之前需要检查浏览器版本是否支持。
阅读全文