Important: A newer version of Wowza Streaming Engine is available. For more information, see Latest software updates for Wowza Streaming Engine.Version: Wowza Streaming Engine™ 4.7.5 build 21763 released on April 5, 2018.
Contents
New Features and Functionality in Wowza Streaming Engine 4.7.5
Detailed list of changes in Wowza Streaming Engine 4.7.5
Detailed list of changes in Wowza Streaming Engine 4.7.5.01 updater
Detailed list of changes in Wowza Streaming Engine 4.7.5.02 updater
New Features and Functionality in Wowza Streaming Engine 4.7.5
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. Wowza Streaming Engine 4.7.5 contains several fixes and enhancements that help to improve the functionality of the media server software.
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.5 adds several enhancements to Facebook Live stream targets to improve functionality, including fixing a rate-limiting issue that sometimes caused the stream target to fail. For more information, see How to stream to Facebook Live using Wowza Streaming Engine.WebRTC preview enhancements
Wowza Streaming Engine supports WebRTC streaming as a public preview AddOn. Wowza Streaming Engine 4.7.5 addresses some previously known issues and limitations, including improved support for playing WebRTC streams in the Google Chrome and Mozilla Firefox browsers. Some issues with UDP connections have also been fixed. For more information, see How to use WebRTC with Wowza Streaming Engine.
Detailed list of changes in Wowza Streaming Engine 4.7.5
Changes since 4.7.4 release
- Updated HTTP range requests to return code 206 even when returning a full response. VHost/Properties httpRangeCodeOverride (Boolean, default is false)
- Added support for 32-bit timecode wrapping from non-64-bit compliant streams
- Updated the update tool to correctly check for Java 7 and prevent incompatible updates
- Updated CORS to allow dynamic responses based on the CORS request. By default this is disabled.
- Application/HTTPStreamer/Properties [httptype]CORSDynamicEnabled (Boolean, default is false)
- Application/HTTPStreamer/Properties [httptype]CORSUseHostname (Boolean, default is false)
Updated MPEG-TS non-aligned PES packet processing to better handle small packets
Stream Targets (Push Publishing)
- Fixed the Wowza Streaming Cloud stream target so that it generates the correct RTMP stream name when pushing to a Live Stream transcoder in the Wowza Streaming Cloud service
- Facebook stream target updates:
- Replaced Facebook degub_token API calls with calls that are less sensitive to rate limiting
- Fixed bug where reusing a Facebook stream target would fail if the previous video post created through that stream target had been deleted
- Increased default Facebook API read/write timeout to 6 seconds and added properties to allow modification of the default values.
- PushPublishMap.txt file: facebook.connectionTimeout and facebook.readWriteTimeout
- Application.Properties: pushPublishFacebookConnectionTimeout (Integer, default is 1000 milliseconds) and pushPublishFacebookReadWriteTimeout (Integer, default is 6000 milliseconds)
- Updated Wowza Streaming Engine Manager Stream Targets to correctly show MPEG-DASH stream targets with Akamai
- Fixed Wowza Streaming Engine Manager port validation for Stream Target entries
- Fixed PushPublishCupertino class (used by Akamai HLS stream targets) so that it collects chunks only for the rendition(s) specified in the target (audio-only, video-only, or a/v), avoiding race conditions that can cause chunk misses
Live Stream DVR Playback (Wowza nDVR)
- Added Application/DVR/Properties dvrCupertinoPutEndTagIfPlaylistDurationReached to add EXT-X-ENDLIST tags only to requested DVR playlists with durations that have been reached
- Added NDVR read caching system. Application/DVR.Properties chunkReadMemeoryCacheEnable (Boolean, default is false)
- Fixed a bug that caused the mishandling of sessions for adaptive bitrate streams with HLS DVR functionality
- Fixed nDVR chunkID by timecode to correctly manage indexes for multi-bitrate searching and purging
- Updated nDVR chunkID by timecode to correctly handle META and CODEC packet updates
- Updated nDVR chunkID by timecode resolver
- Updated nDVR chunkID by timecode example implementation
- I[dated nDVR getLastLiveEntry() to search chunkID index correctly when using chunkID by timecode
- Updated nDVR converter to be more accurate for specified durations
- Added REST API query parameter dvrConverterTolerance to allow conversion windows to check if the last GOP will fit within the tolerance specified. Default is 1000 milliseconds
- Updated DvrMBRChunkIDByTimecodeResolver to correctly handle dynamic ChunkID gaps
- Updated IDVRChunkIDHandler2
- Added getLastAssignedChunkId which must return the most recent ID delivered by onAssignChunkID
- Deprecated onAssignChunkID (String streamName, AMFPacket dataPacket) for metadata packets
Live Stream Encoding, Transcoding, and Transrating
- Updated Transcoder decoding to prevent invalid aspect ratio streams from being transcoded
- Upgraded the MainConcept Transcoder libraries to 10.5
- Improved MainConcept H.264 support for B-frames
- Upgraded Intel Media SDK for Linux to 2017 R3
- Added NVIDIA NVENC support for B-frames
- Added variables to track additional parameters
- Fixed misspelling of decrementMessageBytesWaiting method
- Added support for B-frames in QuickSync H.264 encodes
WebRTC (Preview)
- Upgraded Bouncy Castle cryptography library to 159
- Fixed thread leak caused by failed connections
- Fixed UDP connections to prevent stalls
- Fixed H264 constraints from failing to propagate correctly
- Fixed JSON response to prevent an 'OK' response being included after a failed response
- Fixed client correctly disconnecting after a source stream is unpublished
- Fixed bug where a WebRTC debug-enabled log statement caused an exception while handling STUN requests
- Fixed WebRTC to correctly handle thread shutdown after negotiation
- Fixed WebRTC UDP port leak
Apple HLS (Cupertino) Streaming
- Changed Cupertino chunk overflow logic so that chunks are forcibly ended when they get too long, such as when Wowza Streaming Engine stops receiving keyframes
- Added property cupertinoForceEndChunkWhenNoKeyframes to wrap Cupertino logic that forcibly ends chunks when Wowza Streaming Engine stops receiving keyframes. Application/LiveStreamPacketizer/Properties cupertinoForceEndChunkWhenNoKeyframes (Boolean, default is false)
- Updated Apple HLS MediaCaster to correctly support HTTPS absolute paths
Secure Reliable Transport (SRT) Streaming
- Fixed SRT MediaCaster to correctly support srtRecoveryBuffer and srtLatePacketDrop
Microsoft Smooth Streaming
- Fixed Smooth Streaming when using NGRP/SMIL to correctly return a complete manifest when audio-only is listed as the first entry
MPEG-DASH Streaming
- Updated ALS VOD playback for MPEG-DASH to correctly support variable coded descriptor lengths
Media Cache
- Fixed Media Cache SSL source to prevent caching of 404 return codes
Closed Captioning
- Updated TimedText to correctly log when using a MediaCache source
- Updated ModuleCEA608ToOnTextData so that if ccIngestCEA608RemoveExistingCEA608 is false, then the conversion of CEA608 captions to OnTextData captions won't occur in transcoded streams to duplicate onTextData messages
Detailed list of changes in Wowza Streaming Engine 4.7.5.01 updater
Between server software builds, Wowza produces incremental updaters so you can get the latest bug fixes and improvements for Wowza Streaming Engine. The following improvements were made in Wowza Streaming Engine 4.7.5.01 build 21914 released on May 9, 2018.
Changes (since 4.7.5 server release)
- Fixed manifest so that it includes the quicksync-2017r3 libraries.
- Rebuild the Linux VPX encoder/decoder libraries to regain compatibility with CentOS 6.x distributions.
- Fixed SecureToken v2 to correctly support play2 requests for RTMP.
- Enhanced error checking and logging for serialization and deserialization of Common Encryption (CENC) data.
- 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.
Detailed list of changes in Wowza Streaming Engine 4.7.5.02 updater
The following improvements were made in Wowza Streaming Engine 4.7.5.02 build 22076 released on June 27, 2018.
Changes (since 4.7.5.01 updater release)
- Fixed an issue with DVR thread locking that caused failed chunk deliveries.
- 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)
- 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.
- 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 with periodically dropped audio frames in MPEG-DASH VOD audio chunks because of timecode rounding problem.
- Fixed an issue that caused Wowza Transcoder to crash when using an Opus encoder with audio resampling.
- Improved RTMP push publishing debug logging to include IO information.
- Added support for x-forwarded-for (XFF) and x-real-ip headers in HTTP requests.
- Restored the PushPublishUtils.getProfileUtilInstance() method that does not require an appInstance, but listed it as deprecated.
- Restored the IPushPublishProfileUtil.createGroupPlaylist() method, but deprecated it. Use UPushPublishHTTPGroupMember instead.
- Fixed an issue with application instance shutdown when using WebRTC.
- Fixed a WebRTC UDP port leak.
- Updated the HTTPStreamer/Properties httpMaxHTTPSessionsPerTCPSession property to support multiple HTTP streamer types.
- Updated dvrChunkIDByTimecodeHandler2 to prevent previous chunk IDs from being used.
- Fixed AMLST to correctly propagate IHTTPStreamerSession for all nDVR requests.
- Updated DVRChunkIDByTimecodeHandler2 to correctly start from zero when no nDVR stores are present.
- Fixed WebRTC thread exception that caused high CPU usage.
- Updated DvrMbrChunkIDByTimecodeResolver to split spans correctly.
- Fixed an issue with Akamai stream targets where Cupertino chunks smaller than 10-second durations would overload Akamai content directories.
- Changed nDVR chunk ID from int to long data type.
- Updated the default port for WebRTC ICECandidates to 1935.
- Restored addCORSHTTPHeaders (IHTTPResponse resp) method that doesn't require a request object in HTTPCORSHeaders.
- Added support for ingesting SHOUTcast and Icecast broadcasts as audio sources.