WebRTC STUN/TURN 与带宽自适应实战基本连接与 ICEconst pc = new RTCPeerConnection({ iceServers: [ { urls: 'stun:stun.l.google.com:19302' }, { urls: 'turn:turn.example.com:3478', username: 'user', credential: 'pass' } ] }); pc.onicecandidate = e => { if (e.candidate) sendCandidate(e.candidate); }; 码率调节示例const sender = pc.getSenders().find(s => s.track && s.track.kind === 'video'); const params = sender.getParameters(); params.encodings = params.encodings || [{}]; params.encodings[0].maxBitrate = 800_000; // 单位:bps await sender.setParameters(params); 自适应与监控结合 `getStats()` 观察丢包、往返时延与可用比特率根据网络状况动态调整分辨率与帧率TURN 注意事项为 TURN 开启 TCP/TLS 端口以提高成功率对移动网络优先选择中继,减少直连失败开销总结通过合理配置 ICE 与 TURN,并结合码率与分辨率调节,可在复杂网络环境下获得稳定的实时体验。

发表评论 取消回复