gpt4 book ai didi

javascript - webRTC 真的有可能无噪音地传输高质量音频吗?

转载 作者:行者123 更新时间:2023-11-29 19:02:14 26 4
gpt4 key购买 nike

我已经使用最高质量设置和多个 STUN/TURN 服务器进行了测试,但没有找到真正的高质量流。

根据我的经验,webRTC 始终具有波动和有限的带宽以及无法达到 mp3/Shoutcast/Icecast radio 流质量的高水平背景噪音。

有没有人找到一种方法来使用 webRTC 提供真正的高带宽音频流,或者目前实际上不可能吗?

最佳答案

WebRTC 的默认音频设置非常低。它默认为大约 42 kb/s 的单声道音频,因为它似乎是为语音设计的。我通过配置一些设置提高了质量。

  1. 在 getUserMedia() 约束中禁用 autoGainControlechoCancellationnoiseSuppression:
navigator.mediaDevices.getUserMedia({
audio: {
autoGainControl: false,
channelCount: 2,
echoCancellation: false,
latency: 0,
noiseSuppression: false,
sampleRate: 48000,
sampleSize: 16,
volume: 1.0
}
});
  1. stereomaxaveragebitrate 属性添加到 SDP:
let answer = await peer.conn.createAnswer(offerOptions);
answer.sdp = answer.sdp.replace('useinbandfec=1', 'useinbandfec=1; stereo=1; maxaveragebitrate=510000');
await peer.conn.setLocalDescription(answer);

这为立体声提供了 520kbps 的潜在最大比特率,即每个 channel 260kbps!

实际比特率取决于您的网络速度和信号强度。

有关 SDP 的更多信息:

The Session Description Protocol (SDP) [RFC4566] describes various aspects of multimedia session such as media capabilities, transport addresses and related metadata in a transport agnostic manner, for the purposes of session announcement, session invitation and parameter negotiation.

https://tools.ietf.org/id/draft-nandakumar-rtcweb-sdp-01.html#rfc.section.3

查看我的实现了这些功能的项目: https://github.com/kmturley/webrtc-radio

关于javascript - webRTC 真的有可能无噪音地传输高质量音频吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46063374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com