updates on scream an implementation
play

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


  1. Updates on SCReAM- An implementation experience draft-ietf-rmcat-scream-cc-02 Zaheduzzaman Sarker Ingemar Johansson Ericsson Research

  2. Agenda › Updates on the draft › Implementation of SCReAM in OpenWebRTC › What's next? Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 2

  3. Changes in the draft › 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 3

  4. implementation status (1/2) › 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 Packetizer SCReAM DTLS RTP RTCP bin RTCP DTLS DTLS incoming Outgoing A very simplified view of the plug-in implementation Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 4

  5. implementation status (2/2) › 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 5

  6. Test case 5.1 (1/3) Bitrate [kbps] 3000 Target 2000 Coder output Transmitted 1000 0 0 20 40 60 80 100 CWND and bytes in flight [byte] 4 x 10 5 CWND In flight 0 0 20 40 60 80 100 Queuing delay [ms] 500 RTP queue Network queue 0 0 20 40 60 80 100 T [s] Delay spikes due to lack of responsiveness of the video codec to the rate change request Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 6

  7. Test case 5.1(2/3) Video encoder (VP8) Bitrate [kbps] Video encoder responsiveness when rate decreases Target 3500 Coder output • Overshoots target rate with 3000 Transmitted big margins (lags by more 2500 than 300ms) 2000 • This leads to sharp decrease 1500 in the target rate 1000 • More investigation needed to 500 see how severe this problem 0 is 58.5 59 59.5 60 60.5 61 T [s] It is expected to have better delay with more responsive encoder Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 7

  8. Test case 5.1(3/3) Video encoder (VP8) Video encoder responsiveness Bitrate [kbps] Target when rate increases 1000 Coder output Transmitted 500 • The encoder output rate lags 0 behind the target rate by ~1 68 70 72 74 76 78 80 second. CWND and bytes in flight [byte] 4 4 x 10 CWND • The SCReAM rate control is In flight 2 much faster than the video coder rate control loop 68 70 72 74 76 78 80 Queuing delay [ms] 500 • Solution is either to decrease RTP queue RAMP_UP_SPEED or to Network queue make VP8 rate control loop 0 68 70 72 74 76 78 80 faster T [s] Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 8

  9. Different RAMP_UP_SPEEDs RAMP_UP_SPEED = 100kbps RAMP_UP_SPEED = 200kbps Target Target Bitrate [kbps] Bitrate [kbps] Coder output Coder output 2000 2000 Transmitted Transmitted 1000 1000 0 0 0 20 40 60 80 100 0 20 40 60 80 100 10 4 10 4 CWND and bytes in flight [byte] CWND and bytes in flight [byte] CWND CWND In flight In flight 5 5 0 0 0 20 40 60 80 100 0 20 40 60 80 100 Queuing delay [ms] Queuing delay [ms] 500 RTP queue 500 RTP queue Network queue Network queue 0 0 0 20 40 60 80 100 0 20 40 60 80 100 T [s] T [s] Less RTP queue spikes but slower increase affects the throughput Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 9

  10. What’s next › 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. Updates on SCReAM | RMCAT WG | IETF 94 | 2015-10-29 | Page 10

Recommend


More recommend