Wowza Streaming Engine 4.7.1 Release Notes

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.1 build 20635 released on August 2, 2017.
 
Note: For step-by-step instructions about how to update your Wowza Streaming Engine media server software, see How to update your Wowza Streaming Engine installation.

Contents


New Features and Functionality in Wowza Streaming Engine 4.7.1
Detailed list of changes in Wowza Streaming Engine 4.7.1

New Features and Functionality in Wowza Streaming Engine 4.7.1


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.1 contains several fixes and enhancements that help to improve the security and stability of the media server software.

Detailed list of changes in Wowza Streaming Engine 4.7.1


Changes since 4.7.0.02 release

  • Fixed parsing of AC-3 descriptor in MPEG-TS source streams
  • Added validatePath to IHTTPProvider to enable requested content paths to be validated
  • Updated Application and ApplicationInstance name verification
  • Updated HTTP and RTSP streamer URL validation
  • Updated the default JMX permissions to readonly
  • Disabled Server.readConfig() and Server.writeConfig mbeans
  • Updated HTTP provider HTTPProviderMediaList to validate provided stream names
  • Updated default VHost.xml to remove HTTP provider HTTPProviderCaptionFile
  • Fixed Microsoft PlayReady encryption to properly handle large fragments
  • Fixed CORS headers for Apple HLS and range requests
  • Updated liverepeater MediaCaster when streamForceResetOnReconnect is enabled
  • Fixed Wowza nDVR out-of-bounds exception when segments are empty
  • Added REST endpoint /v3/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/instances/{instanceName}/incomingstreams/{streamName}:
    • Added parameter streamRunningTime, which specifies how long the stream has been running in seconds
    • Added parameter isAudioReady, which specifies the audio codec config packet count from the packet queue
    • Added parameter isVideoReady, which specifies the video keyframe count from the packet queue
  • Improved error handling for HTTPByteWriter and HTTPSByteWriter to avoid exceptions when data can't be written correctly

Stream Targets (Push Publishing)

  • Fixed several issues with how PushPublishManager API interacted with PushPublish module when adding and deleting stream targets
  • Fixed destination stream name generation for Wowza CDN stream targets to follow [stream_name]_1_[bitrate] format as is used for Wowza Streaming Cloud stream targets
  • Fixed issue with incorrect generation of destination stream names for Wowza CDN and Wowza Streaming Cloud stream targets
  • Fixed Stream Targets PushPublishHTTPCupertino base class so that after a media segment is pushed, the actual chunk object reference that's held by the associated MediaSegmentModel is cleared, instead of just the chunk's fragments list
  • Fixed HTTP stream target profiles (for HLS, HDS, and MPEG-DASH) so that they don't show adaptive (ABR) groups as being "ready" until they have a populated chunklist, avoiding the "Failed to create group playlist for group..." log that would appear at the beginning of the ABR push session(s)
  • Fixed Wowza Streaming Engine Manager so that errors that occur while deleting Wowza CDN stream targets are handled properly and a failure message is displayed on the Stream Targets page
  • Fixed PushPublishHTTPCupertino base class so that when a target has no playlist/chunklist built yet and a disconnect() occurs, it doesn't generate an NPE
  • Fixed Akamai HLS/HDS/MPEG-DASH stream targets to properly handle relative playlists when an eventName is defined for the target

Live Stream Recording

  • Fixed LiveStreamRecord synchronization to prevent segmentation failures
  • Added Application/Properties property liveStreamRecorderDebugAACTimecodes (Boolean, default=false) that enables debugging of AAC timecodes when recording to a file

Live Stream DVR Playback (Wowza nDVR)

  • Fixed nDVR Converter REST Swagger documentation to include the dvrConverterStoreList parameter, which is required by the DvrRESTConverterStoresAction API
  • Fixed nDVR Converter API so that it honors the dvrConverterDefaultFileDestination parameter
  • Fixed nDVR 404 playlist responses so they include CORS headers
  • Fixed Wowza Streaming Engine Manager where we showed "not supported when Only DVR Streaming is enabled" for the MPEG-DASH playback type (on application Setup tab) any time when "DVR streaming only" is selected in nDVR configuration, even when nDVR is disabled
  • Added query parameter dvrConverterInterleaveDelay to the nDVR REST API for store conversions to control I/O saturation time
  • Fixed nDVR conversion for audio-only streams when using a start offset
  • Improved nDVR REST API endpoint to report when a conversion is already in progress
  • Improved nDVR store error handling when invalid data is encountered

MediaCasters, Stream Files, and Startup Streams

  • Added MediaCaster/Properties property streamForceResetOnReconnect (Boolean, default = false) to force a complete unpublish/republish of a stream when a live repeater connection is reset
  • Fixed applehls mediacaster fetch timers so they don't overcompensate when large delays occur
  • Fixed applehls mediacaster retry logic to correctly retry within the defined limits
  • Fixed applehls mediacaster when playlist retrieval results in an unparseable response
  • Updated liverepeater MediaCaster to unpublish/republish when forceReset is called using the reconnectWaitTime parameter
  • Updated streamfiles/{streamfileName}/adv endpoint changing RTPTransportMode to interleave to match default Application.xml configuration

WebRTC (Preview)

  • Added the following H.264 WebRTC constraints override properties (they should only be used when WebRTC is being used):
    • Added Application/RTP property rtpForceH264Constraint (Boolean, default=false) to override the constraints value for H.264
    • Added Application/RTP property rtpForceH264ConstraintValue (Integer, default=192) to set the override constraint value (only the top 4 bits MUST be set)
  • Added the following H.264 WebRTC constraints properties (these should only be used when WebRTC is being used):
    • Added Application/RTP property rtpUseLowestH264Constraint (Boolean, default=false) to force the use of the lowest constraint information found in an H.264 video stream
    • Added Application/RTP property rtpUseHighestH264Constraint (Boolean, default=false) to force the use of the highest constraint information found in an H.264 video stream

RTSP/RTP Streaming

  • Fixed Application/RTP property rtpForceH264Constraint so it can be set independently to rtpUseLowestH264Constraint and rtpUseHighestH264Constraint
  • Added Application/RTP property resyncAudioVideoOnSRLogStreamSuffix (String, default not used) that allows timecodes from transcoded streams to be logged when resyncAudioVideoOnSRLog is enabled
  • Improved RTSP/RTP playback to properly handle Streams/Properties instanceOn and instantOnBufferTime

General/Other

  • Fixed bad XML in Akamai DASH manifest for audio Adaptation Set with DRM
  • Added default Sample Frequency (8000) for PCM audio when creating SDP entries
  • Fixed SCTE parsing to correctly return splice information
  • Added IWebSocketEventNotify2.onIdle(IWebSocketSession webSocketSession) handler to websocket event interface to enable hooking into idle events
  • Improved liverepeater-lowlatency stream type to properly set low-latency stream settings
  • Added live stream receiver log statement on stream startup to log more information about live stream settings such as sort buffer and onFlushNotifyClient
  • Improved error handling for HTTPSByteWriter to avoid exceptions when hostname/remote servers aren't available
  • Fixed Server Name Identification (SNI) configuration so that variable expansion works properly on the "DomainToKeyStoreMapPath" field in the host port SSL configuration as well as the "keyStorePath" field in DomainToKeyStoreMap.txt
  • Fixed bug where an application shutdown request via REST or JMX interface occurring at the same time as an HTTP session timeout-shutdown could cause a deadlock
  • Fixed H.264 MediaReader to correctly count atom entries to allow F4V file playback