/

Release 6.0.0

Release 6.0.0, 31 January, 2020


  • Improved sub-second latency over WebRTC (testing showed as low as 200 ms)
  • New - BETA - Added support for ABR over mobile SDK. Note: requires minimum SDK version 6.0.0 and Growth Pro for

  • New - Added support for decoupled shared objects via mobile SDK Note: requires minimum SDK version 6.0.0
  • New - Mobile-friendly UI with server distribution
  • New - For a standalone server, the cluster plugin can be disabled by modifying the cluster.xml file - see
  • New - Autoscaling support added for Digital Ocean (using Terraform). Documentation here
  • New - Cloudstorage support for Digital Ocean Spaces
  • Updated - For better performance, VP8 is disabled by default. To enable VP8, modify {red5pro}/conf/webrtc-plugin.properties, changing rtc.video.codecs=H264_PMODE1 to rtc.video.codecs=H264_PMODE1,VP8 (server needs to be restarted after making this change)
  • Fixed - Memory leaks with WebRTC publishing and subscribing
  • Fixed - Autoscaling - issues in scaling relay and transcoder nodes
  • Fixed - Autoscaling - issues in nodegroups with multiple transcoders
  • Fixed - Autoscaling - multiple nodegroups not being utilized correctly
  • Fixed - Autoscaling - Fix transcoder issues with rtc publishers and nacks
  • Fixed - Autoscaling - Stream Manager may throw out of memory error if it receives too many "bad cookies"
  • Fixed - Added handling for nalu type 12, h264 padded packets, being sent from some RTMP hardware encoders
  • Fixed - Some iOS devices not able to broadcast higher than 720p with WebRTC
  • Fixed - Recordings via iOS SDK started from landscape right front camera and swapped to back camera were dropping the landscape right front portion of the recording in MP4 post-processing
  • Fixed - Duplicate Messages occasionally displayed in Shared Objects examples
  • Fixed - Problems with Multiple Cameras and Safari (Mac and iOS)
  • Fixed - Safari and Firefox do not show resolution in our stats display

Release 6.0.0 Server Performance Metrics

Tests were run against an AWS c5.large instance (2 CPUs with 4GB memory, 2GB allocated to java_heap). We used our RTMP Bee, RTSP Bee, and RTC Bee clients to do load testing. Note - connections are added over the course of several minutes.

SUBSCRIBER TESTS

Publishing a 240p (426x240, 200 kbps) stream via RTMP, we were able to achieve the following while still maintaining quality of stream:

  • 500 WebRTC subscribers
  • 2,000 RTSP (mobile SDK) subscribers
  • 1,200 RTMP subscribers

Publishing a 480p (854x480, 500kbps) stream via RTMP, we were able to achieve the following while still maintaining quality of stream:

  • 300 WebRTC subscribers
  • 1,200 RTSP subscribers
  • 800 RTMP subscribers

Publishing a 720p (1280x720 1,500kbps) stream via RTMP, we were able to achieve the following while still maintaining quality of stream:

  • 200 WebRTC subscribers
  • 920 RTSP subscribers
  • 600 RTMP subscribers

Publishing a 1080p (1920x1080 4,500kbps) stream via RTMP, we were able to achieve the following while still maintaining quality of stream:

  • 130 WebRTC subscribers
  • 800 RTSP subscribers
  • 300 RTMP subscribers

PUBLISHER TESTS

The same server type (2 CPUs with 4GB memory, 2GB allocated to java_heap) can support approximately 30-40 240p RTC publishers (tested using the RTCBee Publisher test) OR 50-60 240p RTMP publishers (tested using the RTMP Bee Publisher test).

The same server type (2 CPUs with 4GB memory, 2GB allocated to java_heap) can support approximately 20 720p RTC publishers (tested using the RTCBee Publisher test) OR 40 720p RTMP publishers (tested using the RTMP Bee Publisher test).