New features and functionality in Wowza Streaming Engine 4.7.6
Wowza Streaming Engine is robust, customizable, and scalable media server software that powers reliable streaming of high-quality video and audio to any device, anywhere.
Support for MPEG-DASH with nDVR
The Wowza nDVR feature enables you to record a live stream with Wowza Streaming Engine while simultaneously allowing users to play or pause the live stream, rewind it to a previously recorded point, or resume viewing at the current live point. Wowza Streaming Engine 4.7.6 adds support to record MPEG-DASH live streams with the nDVR feature.
Facebook Live Stream Target enhancements
The Stream Targets feature in Wowza Streaming Engine enables you to send live streams to content delivery networks (CDNs), streaming servers, streaming services, and multicast networks for distributed delivery. The destinations distribute your live stream, enabling you to scale your Streaming Engine implementation, computing resources, and delivery options for a variety of scenarios. One such destination is Facebook Live. Wowza Streaming Engine 4.7.6 adds support for recent changes to the Facebook REST API. For more information, see How to stream to Facebook Live using Wowza Streaming Engine.
Detailed list of changes in Wowza Streaming Engine 4.7.6
Changes since 4.7.5 release
- Added the ability to selectively enable parts of the HTTPByteWriter debug logging.
- Added support for x-forwarded-for (XFF) and x-real-ip headers in HTTP requests.
- Updated the <HTTPStreamer>/<Properties> httpMaxHTTPSessionsPerTCPSession property to support multiple HTTP streamer types.
- Enhanced error checking and logging for serialization and deserialization of Common Encryption (CENC) data.
- Fixed SecureToken v2 to correctly support play2 requests for RTMP.
- Added support for ingesting SHOUTcast and Icecast broadcasts as audio sources.
- Restored addCORSHTTPHeaders (IHTTPResponse resp) method that doesn’t require a request object in HTTPCORSHeaders.
- Fixed an issue that caused playback of HE-AAC HLS VOD content to fail in the Google Chrome browser when using HLS/MSE players such as JW Player, Bitmovin, and hls.js.
- Fixed an issue of incorrectly using an audio samples-per-frame value of 1024 for all AAC and HE-AAC content, when HE-AAC audio should actually use a samplers-per-frame value of 2048.
- Restored the IPushPublishProfileUtil.createGroupPlaylist() method, but deprecated it. Use UPushPublishHTTPGroupMember instead.
- Restored the PushPublishUtils.getProfileUtilInstance() method that does not require an appInstance, but listed it as deprecated.
Stream Targets (Push Publishing)
- Facebook Live stream targets
- Improved the error handling of Facebook API calls made by Wowza Streaming Engine Manager.
- Increased the default Facebook API connection timeout from one second to two seconds and increased the default read/write timeout from six seconds to ten seconds.
- Updated the Facebook graph API to version 3.0 to regain access to publishing streams to Facebook groups and events.
- Akamai stream targets
- Fixed an issue with Akamai stream targets where Cupertino chunks smaller than 10-second durations would overload Akamai content directories.
- Added support for the adaptiveGroup (singular) parameter and deprecated the adaptiveGroups (plural) parameter. Now, if you use the deprecated adaptiveGroups parameter to list multiple group names, only the first group name will be used.
- Modified the way Wowza Streaming Engine processes Apple HLS master playlists for Akamai stream targets. If an adaptive-bitrate master playlist isn’t generated and the stream target is marked as redundant, only the redundancy master playlist is generated.
- Modified the way Wowza Streaming Engine processes MPEG-DASH manifests and Adobe HDS set-level manifests for Akamai stream targets. If it’s not part of an adaptive-bitrate group and the stream target is marked as redundant, individual streams aren’t sent to Akamai stream targets.
- Updated HLS/HDS/DASH stream target endpoint path structure to comply with Akamai recommendations and to resolve issues with Akamai’s billing and toolset.
- Updated the Wowza CDN stream target destination stream naming so that, for transcoded streams, the bitrate value specified in the transcoder template is used in the output stream name. Previously the calculated bitrate was used instead in the output stream name.
- Improved RTMP push publishing debug logging to include IO information.
Live Stream DVR Playback (Wowza nDVR)
- Changed nDVR chunk ID from int to long data type.
- Updated DvrMbrChunkIDByTimecodeResolver to split spans correctly.
- Updated DVRChunkIDByTimecodeHandler2 to correctly start from zero when no nDVR stores are present.
- Fixed AMLST to correctly propagate IHTTPStreamerSession for all nDVR requests.
- Updated dvrChunkIDByTimecodeHandler2 to prevent previous chunk IDs from being used.
- Fixed an issue with DVR thread locking that caused failed chunk deliveries.
- Updated dvrPlayerAdapterBase to remove incorrect data type casting.
- Added the dvrDebugDiscontinuity property in <DVR>/<Properties>. Enable to use discontinuity marker debugging.
- Fixed the dvrPlayerAdapterBase to correctly use long indexes for alignment.
Live Stream Encoding, Transcoding, and Transrating
- Rebuilt the Linux VPX encoder/decoder libraries to regain compatibility with CentOS 6.x distributions.
- Fixed manifest so that it includes the quicksync-2017r3 libraries.
- Fixed an issue that caused Wowza Transcoder to crash when using an Opus encoder with audio resampling.
- Added support for MPEG-DASH ALS live streaming when ingesting low overhead audio stream (LOAS) audio lossless coding (MPEG-4 ALS) audio from an MPEG-TS stream.
- Fixed an issue with periodically dropped audio frames in MPEG-DASH VOD audio chunks because of timecode rounding problem.
- Fixed an issue of incorrectly parsing AAC stream metadata from mp4 files and reporting the wrong audio sample frequency in MPEG-DASH MPDs. (E.g., reporting 24KHz instead of 48KHz)
- Updated the default port for WebRTC ICECandidates to 1935.
- Fixed WebRTC thread exception that caused high CPU usage.
- Fixed a WebRTC UDP port leak.
- Fixed an issue with application instance shutdown when using WebRTC.
- Maximum Connections: Unlimited
- Maximum Incoming Streams: Unlimited
- Transcoder Streams Available: Unlimited (NVEC and Intel Quick Sync)
- Transcoder Watermark: No
- nDVR Available: Yes
- DRM Available: Yes
- HTTP Origin Available: Yes
- Push Publish Available: Yes