Updates on SCReAM- An implementation experience
Zaheduzzaman Sarker Ingemar Johansson Ericsson Research
draft-ietf-rmcat-scream-cc-02
Updates on SCReAM- An implementation experience - - PowerPoint PPT Presentation
Updates on SCReAM- An implementation experience draft-ietf-rmcat-scream-cc-02 Zaheduzzaman Sarker Ingemar Johansson Ericsson Research Agenda Updates on the draft Implementation of SCReAM in OpenWebRTC What's next? Updates on
Zaheduzzaman Sarker Ingemar Johansson Ericsson Research
draft-ietf-rmcat-scream-cc-02
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 2
› Updates on the draft › Implementation of SCReAM in OpenWebRTC › What's next?
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 3
› No changes in the actual algorithm › Rewritten and restructured the draft to
– Increase readability
› Addressed comments
– Changed “sender transmission scheduling” to “sender transmission control” › Now that section only describe SCReAM handling one stream but mentions the capabilities of handling multiple streams. – Added description on how to update the “bytes_newly_acked” – Added description on ECN usage – Added section for FEC and RTCP overhead consideration
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 4
› We have implemented SCReAM in the OpenWebRTC (http://www.openwebrtc.org/)
– https://github.com/EricssonResearch/openwebrtc-gst-plugins – We are testing the implementation with RMCAT test cases and will update the WG with detail results soon.
› SCReAM is implemented as a gstreamer plug-in › The implementation experience has been good
RTP bin SCReAM DTLS Packetizer DTLS DTLS A very simplified view of the plug-in implementation
RTCP incoming RTCP Outgoing
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 5
› However, interaction towards video coded has been a big issue
– SCReAM rate control is sometimes considerably faster than what the video rate control loop can deliver – This can cause unstable behavior – Either › We need proper encoder configurations to make it more responsive towards rate change requests. – Or › We need means to feed the SCReAM control loop with the information of the video encoder rate control
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 6
Delay spikes due to lack of responsiveness of the video codec to the rate change request
20 40 60 80 100 1000 2000 3000 Bitrate [kbps]
Target Coder output Transmitted
20 40 60 80 100 5 x 10
4
CWND and bytes in flight [byte]
CWND In flight
20 40 60 80 100 500 Queuing delay [ms] T [s]
RTP queue Network queue
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 7
58.5 59 59.5 60 60.5 61 500 1000 1500 2000 2500 3000 3500 Bitrate [kbps] T [s] Target Coder output Transmitted
Video encoder responsiveness when rate decreases
big margins (lags by more than 300ms)
in the target rate
see how severe this problem is It is expected to have better delay with more responsive encoder Video encoder (VP8)
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 8
Video encoder responsiveness when rate increases
behind the target rate by ~1 second.
much faster than the video coder rate control loop
RAMP_UP_SPEED or to make VP8 rate control loop faster
68 70 72 74 76 78 80 500 1000 Bitrate [kbps]
Target Coder output Transmitted
68 70 72 74 76 78 80 2 4 x 10
4
CWND and bytes in flight [byte]
CWND In flight
68 70 72 74 76 78 80 500 Queuing delay [ms] T [s]
RTP queue Network queue
Video encoder (VP8)
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 9
20 40 60 80 100 1000 2000 Bitrate [kbps] Target Coder output Transmitted 20 40 60 80 100 10 4 5 CWND and bytes in flight [byte] CWND In flight T [s] 20 40 60 80 100 500 Queuing delay [ms] RTP queue Network queue 20 40 60 80 100 1000 2000 Bitrate [kbps] Target Coder output Transmitted 20 40 60 80 100 10 4 5 CWND and bytes in flight [byte] CWND In flight T [s] 20 40 60 80 100 500 Queuing delay [ms] RTP queue Network queue
RAMP_UP_SPEED = 200kbps RAMP_UP_SPEED = 100kbps
Less RTP queue spikes but slower increase affects the throughput
Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 10
› Try out the SCReAM implementation
– Get involved and give feedback on improvements
› More results up coming stay tuned. › More wider reviews required on the draft to move to the next phase.
– Please read and comment.