Increase RTP send buffer size from 64kb to 256kb.
Assuming 15Mbps video bitrate at 30fps, a single frame is 62500 bytes. Add to that some fluctuations in encoder output rate and capture fps, and frames can easily become larger than 64kb. Given enough bandwidth and the bursty pacer, it will not be uncommon to send the entire frame in one batch - and if the send buffer is at 64kb then you will likely get packetloss already in the IPC packet socket, even before the packet has reached the network card! It's not entirely clear what the optimal size is, but given that the receive buffer size was increased from 64kb to 256kb for high bandwidth receive scenarios and had negligible negative effects I think it's pretty safe to bump the send buffer to match. There is a field trial available that can be used as circuit breaker in case things turn south: WebRTC-SendBufferSizeBytes Bug: webrtc:14780 Change-Id: I6c786d993181a882e6dce832ff56dc92d2a8a341 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290985 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39942}
This commit is contained in:
parent
6a34c75d5d
commit
031ebc42e6
@ -15,7 +15,7 @@ namespace cricket {
|
||||
const int kVideoCodecClockrate = 90000;
|
||||
|
||||
const int kVideoMtu = 1200;
|
||||
const int kVideoRtpSendBufferSize = 65536;
|
||||
const int kVideoRtpSendBufferSize = 262144;
|
||||
const int kVideoRtpRecvBufferSize = 262144;
|
||||
|
||||
const float kHighSystemCpuThreshold = 0.85f;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user