我正在使用 webrtc 将 1080p 视频流从一个选项卡发送到同一台计算机上的另一个选项卡(windows10、chrome 76)。而且接收方的视频质量不如发送方。码率只有2400kbps(300kb/s)左右,1080p和720p没有区别。当摄像机移动时,视频分辨率也会降低。
如何提高 webrtc 视频流的质量?
我试图修改 sdp 以增加比特率。http://www.rtcbits.com/2016/11/controlling-bandwidth-usage-in-webrtc.html
放 x-google-max-bitrate
peer.createAnswer().then(sdp => {
var arr = sdp.sdp.split('\r\n');
arr.forEach((str, i) => {
if (/^a=fmtp:\d*/.test(str)) {
arr[i] = str + ';x-google-max-bitrate=28000;x-google-min-bitrate=0;x-google-start-bitrate=20000';
}
});
sdp = new RTCSessionDescription({
type: 'answer',
sdp: arr.join('\r\n'),
})
peer.setLocalDescription(sdp);
socket.emit('message_send', { type: 'answer', sdp: sdp.sdp });
});
Run Code Online (Sandbox Code Playgroud)
输出接收速率(kb/s)
var prevReport = null;
var t = setInterval(function() {
if (!peer) {
prevReport = null;
return;
}
peer.getStats(null).then(reporter => {
reporter.forEach(report => {
if (report.type …Run Code Online (Sandbox Code Playgroud)