Audio Webrtc音频质量在几秒钟后下降
我刚开始学习webrtc,我遇到了一个问题。音频质量(我不在乎视频)几秒钟后就会下降。一开始质量很好,但后来就下降了。我在一个私人网络中,唯一运行的东西是一个raspberry,它连接了一个usb声卡,一个正在运行的流服务器,一个小交换机和一台PC,我在那里收听来自raspberry的流。 我试图修改sdp字符串(通过设置一些参数,如带宽),但没有成功 有人有主意吗 事先非常感谢,Audio Webrtc音频质量在几秒钟后下降,audio,stream,webrtc,raspberry-pi3,Audio,Stream,Webrtc,Raspberry Pi3,我刚开始学习webrtc,我遇到了一个问题。音频质量(我不在乎视频)几秒钟后就会下降。一开始质量很好,但后来就下降了。我在一个私人网络中,唯一运行的东西是一个raspberry,它连接了一个usb声卡,一个正在运行的流服务器,一个小交换机和一台PC,我在那里收听来自raspberry的流。 我试图修改sdp字符串(通过设置一些参数,如带宽),但没有成功 有人有主意吗 事先非常感谢, David。默认设置将为您提供约42 kb/s的单声道音频,因为它主要用于语音。以下是如何提高音频质量: 1) 在
David。默认设置将为您提供约42 kb/s的单声道音频,因为它主要用于语音。以下是如何提高音频质量: 1) 在getUserMedia()约束中禁用
自动增益控制
、回声消除
和噪音抑制
:
navigator.mediaDevices.getUserMedia({
audio: {
autoGainControl: false,
channelCount: 2,
echoCancellation: false,
latency: 0,
noiseSuppression: false,
sampleRate: 48000,
sampleSize: 16,
volume: 1.0
}
});
2) 将立体声
和最大平均比特率
属性添加到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);
这将输出一个如下所示的字符串:
a=fmtp:111 minptime=10;useinbandfec=1; stereo=1; maxaveragebitrate=510000
这为立体声提供了520kb/s的潜在最大比特率,即每个通道260kps。实际比特率取决于网络速度和信号强度
有关其他可用属性的更多信息,请访问:默认设置将为您提供大约42 kb/s的单声道音频,因为它主要用于语音。以下是如何提高音频质量: 1) 在getUserMedia()约束中禁用
自动增益控制
、回声消除
和噪音抑制
:
navigator.mediaDevices.getUserMedia({
audio: {
autoGainControl: false,
channelCount: 2,
echoCancellation: false,
latency: 0,
noiseSuppression: false,
sampleRate: 48000,
sampleSize: 16,
volume: 1.0
}
});
2) 将立体声
和最大平均比特率
属性添加到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);
这将输出一个如下所示的字符串:
a=fmtp:111 minptime=10;useinbandfec=1; stereo=1; maxaveragebitrate=510000
这为立体声提供了520kb/s的潜在最大比特率,即每个通道260kps。实际比特率取决于网络速度和信号强度
有关其他可用属性的更多信息,请访问:没有人遇到此问题?没有人遇到此问题?