It may be summer here in Boston, but that hasn't slowed down our constant work to improve Red5 Pro. No beach days for us!
So here it is, the 5.0.0 server release. Loads of fixes and improvements including Vp8 transcoding, memory utilization, auth/validation on HLS Subscribers,
iceTransport configuration, "zombie" stream reaping, and lots more.
OH! I almost forgot the best part: new performance metrics!
For a complete list, take a look at our release notes:
Red5 Pro Server:
- Switched default HLS behavior to use Disk Writes to alleviate some memory utilization issues
- Fixed - HLS can't play live stream with Disk Writes set to true
- Fixed - "Zombie" streams are not being reaped
- Fixed - RTMP Publisher memory leak increases over time and ultimately crashes the server
- Fixed - VP8 publish failure in WebRTC (affects Opera and some Android Chrome browsers)
- Fixed - VP8 transcoding not working
- Fixed - RTC video only to RTSP subscriber issues
- Fixed - Internet Explorer Flash broadcast to Windows Chrome quality issues
- Fixed - Underscores in stream names break HLS
- Fixed - appDisconnect Event is called twice for RTC publisher
- Fixed - Opera RTC publish and subscribe issues
- Fixed - Autoscaling - Azure controller unable to create instances for all VM types
- Fixed - Front End to handle UTF-8
- No WebRTC Support for Microsoft Edge.
- We have filed a ticket with Microsoft, and this one, which they closed as "by design."
iOS SDK stream cannot be viewed with WebRTC in Mac or iOS Safari.
- Cannot force constrained baseline on iOS publisher using AVFoundation or VideoToolbox. Safari does not play baseline without constraints. We have filed a bug ticket with Apple regarding this issue.
Autoscaling API v3.0 - New Features:
- Streaming failover for multi-origin broadcasts
- New Cauldron Transcoder Node to generate multiple bitrates with option to transcode VP8
- New Relay Node option to allow for even larger scale and connectivity between regions
- Multi-bitrate stream provisioning
- WebRTC adaptive bitrate subscribing (ABR Support for WebRTC clients only, mobile SDK plus other protocol support coming soon)
- VP8 Transcoding on Cauldron Node to alleviate load on edge servers
VERY IMPORTANT: See this guide for upgrade guidelines.
Release 5.0.0 Server Performance Metrics
Publishing a 256kbps stream via RTMP, we were able to achieve the following while still maintaining quality of stream:
- 400 WebRTC subscribers
- 1,800 RTSP (mobile) subscribers
- 1,000 RTMP subscribers
The same server type can support approximately 75-80 480p RTMP publishers
onbeforeunloadhook to dismantle sockets.
- Allowed for auth/validation on HLS Subscribers - enabling auth/validation using connectionParam options on HLS Subscribers. This will internally attempt to make a connection on a WebSocket using the connection parameters. If the socket is opened, it is considered successful validation. If rejected, the client is shutdown.
- Fix for mutiple property updates on shared object integration.
offload translation logic for orientation to focus on dynamic layout updates.
- Added iceTransport config option.
- WebRTC subscriber config prop maintainConnectionOnSubscribeErrors.
- Removal of unnecessary bandwidth config prop on subscribers.
autoLayoutOrientation- defaulted to true. When set to false, it is up to the developer to assign transitions as related to orientation of broadcasts.
Updates to Webrtc Examples
- Stream Manager tests separated out from standalone tests
- Stream Manager tests incremented to API 3.0
- New Stream Manager tests for new features added, including Transcoder tests
To get the latest release, please login to your account and download the new build.
To upgrade your server, follow this link.
To upgrade your stream manager, follow this link.
For example applications, visit our Github page.