Latest software updates for Wowza Streaming Engine

Wowza Media Systems™ regularly releases Wowza Streaming Engine™ media server software builds with new features and functionality. You can install the software on your computer using an installer, or if you already have Wowza Streaming Engine installed, you can update it with a build updater.

Note: If you have problems with or want to provide feedback about our software updates, contact Wowza Technical Support. To learn about the variety of support resources that we offer to our user community, see our Support Resources webpage.

Latest production release 


The latest Wowza Streaming Engine production build is Wowza Streaming Engine 4.8.0 build 20200213142111 released on February 18, 2020.

For a complete list of changes in this build, see the Release Notes.

New features and functionality in Wowza Streaming Engine 4.8.0

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

Transcoder enhancements

Wowza Streaming Engine 4.8.0 includes a variety of improvements to the Transcoder feature. Wowza Transcoder now supports NVIDIA hardware-accelerated transcoding for HEVC/H.265. The libvpx library was also upgraded to version 1.8.1 to improve VP8 and VP9 transcoding.

Improvements since Wowza Streaming Engine 4.7.0

Wowza Streaming Engine 4.8.0 includes all of the big features and improvements since Wowza Streaming Engine 4.7.0. These include full support for WebRTC and Secure Reliable Transport (SRT) streaming; the addition of the CMAF packetizer for MPEG-DASH, HLS, and Low-Latency HLS streaming; and added support for recording MPEG-DASH live streams with the nDVR feature.

Additionally, Wowza Streaming Engine 4.8.0 is built on Java 9 (OpenJDK Java SE JRE 9.0.4), and can be used with Java versions 9-12. This enables you to use your Wowza Streaming Engine media server software with JavaSE 11, which is a long-term supported version. However, because of changes between Java versions, if your Wowza Streaming Engine workflow uses custom modules or plugins, we recommend that you test them in a non-production environment prior to updating your production media server software or Java version. For more information, see Update to Java 9.

Get the latest production release

  • New Wowza Streaming Engine installation
    Installers for this Wowza Streaming Engine build are available on our Downloads webpage and can be used to install a new Wowza Streaming Engine instance.
  • Update an existing Wowza Streaming Engine installation
    To update a Wowza Streaming Engine installation, sign in to your Account Management page using your Wowza account and then check the My Downloads tab for the latest updater for your Wowza Streaming Engine version. You must have an active Maintenance and Support contract to receive updaters. For more information, see Wowza Streaming Engine Maintenance and Support.
     
    Note: You must have an active Maintenance and Support contract to receive updaters.

Latest beta releases


Between production software releases, Wowza produces beta builds so you can get the latest bug fixes and improvements for Wowza Streaming Engine and get early access to new features being developed. Although the improvements and enhancements have been tested by QA, full regression testing and performance testing hasn't been performed on beta builds. Support for beta builds is fully available, but there is no guarantee of hotfixes. Contact support if you want access to a beta build that includes these fixes and enhancements.

Wowza Streaming Engine 4.8.3b

The latest Wowza Streaming Engine beta build is Wowza Streaming Engine 4.8.3b build 20200421150304

Changes since the previous beta release

  • Fixed an issue that caused the creation of duplicate Group Manager, Wowza Streaming Cloud, and Wowza CDN stream target sessions when a new target was added, an existing target was modified, or targets were enabled.
  • Improved the calculation for the jitter value sent in a receiver report for WebRTC MediaCaster ingest. The jitter value is now calculated according to IETF RFC 3550.
  • Added a new interface, IDvrConverterActionNotify, for the Wowza Streaming Engine Java API. This interface invokes onConversionComplete after DVR conversion finishes, sending a notification to registered onConversionComplete listeners with the DVR store handle and the converted file’s name.
  • Fixed an issue with the Wowza Streaming Engine Java API that caused the LiveStreamPacketizer to fail to set a value for the mpegdashSegmentDurationTarget property.

Wowza Streaming Engine 4.8.2b

The second available beta build after Wowza Streaming Engine 4.8.0 was Wowza Streaming Engine 4.8.2b build 20200407153812

Changes since the previous beta release

  • Made the following improvements for WebRTC:
    • Improved WebRTC publisher and player timeouts as well as resource deallocation.
    • Added the ability to block publishing and playing of WebRTC streams when using the IMediaStreamNameAliasProvider3 Java API interface.
    • Fixed issues with WebRTC session initiation for streams that used query parameters in their stream names.
  • Fixed an issue, introduced in Wowza Streaming Engine 4.8.1b, with removal of an updater that did not correctly restore previous version files in Wowza Streaming Engine 4.8.0. If you have installed Wowza Streaming Engine 4.8.1b, you will need to reinstall Wowza Streaming Engine 4.8.0 before applying subsequent updaters.
  • Fixed an issue, introduced in Wowza Streaming Engine 4.8.1b, with MPEG-DASH and CMAF live repeater configurations. Invalid segments were created on edge instances, causing both DASH and CMAF-packetized HLS playback to fail.
  • Improved the Wowza Streaming Engine updater script to implement stricter file access permissions on Linux and macOS.
  • Fixed a performance regression when using NVIDIA hardware accelerated decoding on multiple graphics cards that lead to dropped frames before hardware limits were reached.
  • Fixed an issue with the RTPDePacketizerWrapperReChunkMPEGTS property that allowed non-MPEG-TS data to be manipulated.
  • Fixed an issue with RTSP streaming that caused a null pointer exception to occur when using a jitter buffer.
  • Fixed an issue that created extra transcoding sessions and didn't clean them up properly.
  • Fixed an issue with MPEG-DASH nDVR functionality that caused video duration to decrease during playback.
  • Fixed an issue with the dvrPacketSortTime property. When dvrPacketSortTime was set to add latency to DVR playback, additional unnecessary log messages appeared in the log file. With updated behavior, logs show a single entry when a problem arises in the DVR stream.
  • Updated the Restlet framework library to version 2.3.12.
  • Fixed an issue with Low Latency HLS that caused player requests for partial segments associated with completed media segments to fail with 404 resource not found errors.
  • Made the following updates for SRT:
    • Made the following updates to .stream file properties for SRT MediaCaster ingest:
      • Deprecated the following properties:
        • srtDataTimeout. Use the streamTimeout parameter instead (name: streamTimeout; location: [install-dir]/conf/Application.xml, <Application>/<MediaCaster>/<Properties>; type: Integer). This prompts Wowza Streaming Engine to monitor the stream. If a break occurs in the stream that's longer than the streamTimeout value, in milliseconds, it resets the connection to the camera.
        • srtMinimumVersion. This was introduced in Wowza Streaming Engine beta 4.8.1b, but is no longer available. No replacement is needed.
        • srtPeerIdleTimeout. This was introduced in Wowza Streaming Engine beta 4.8.1b, but is no longer available. No replacement is needed.
        • srtTrafficType. No replacement is needed.
        • SendBufferSize. This was renamed to srtSendBufferSize in Wowza Streaming Engine beta 4.8.1b, but is no longer available for SRT MediaCaster ingest. No replacement is needed.
        • SendBufferSizeUDP. This was renamed to srtSendBufferSizeUDP in Wowza Streaming Engine beta 4.8.1b, but is no longer available for SRT MediaCaster ingest. No replacement is needed.
      • Renamed the following property:
        • The srtMaximumSegmentSize property (name: srtMaximumSegmentSize; location: [install-dir]/conf/Application.xml, <Application>/<MediaCaster>/<Properties>; type: integer; default: 1500) replaced srtMaximumTransferUnit, which was introduced in Wowza Streaming Engine beta 4.8.1b. It specifies the maximum size for a unit of transfer data (MTU), in bytes. For MPEG-TS streams, use the default. 
    • Made the following updates to SRT Stream Target properties, which can be configured in Wowza Streaming Engine Manager or the PushPublishMap.txt file:
      • Deprecated the following properties:
        • srtMinimumVersion. This was introduced in Wowza Streaming Engine beta 4.8.1b, but is no longer available. No replacement is needed.
        • ReceiveBufferSize. This was renamed to srtReceiveBufferSize in Wowza Streaming Engine beta 4.8.1b, but is no longer available for SRT Stream Targets. No replacement is needed.
        • ReceiveBufferSizeUDP. This was renamed to srtReceiveBufferSizeUDP in Wowza Streaming Engine beta 4.8.1b, but is no longer available for SRT Stream Targets. No replacement is needed.
        • srtUdpPayloadSize. This was introduced in Wowza Streaming Engine beta 4.8.1b, but is no longer available. No replacement is needed.
      • Renamed the following property:
        • The srtMaximumSegmentSize property (name: srtMaximumSegmentSize; type: integer; default: 1500) replaced srtMaximumTransferUnit, which was introduced in Wowza Streaming Engine beta 4.8.1b. It specifies the maximum size for a unit of transfer data (MTU), in bytes. For MPEG-TS streams, use the default.   

Wowza Streaming Engine 4.8.1b

The first available beta build after Wowza Streaming Engine 4.8.0 was Wowza Streaming Engine 4.8.1b build 20200313112037.

Changes since the previous production release

  • Added support for IP address message filtering for UDP messages received within an RTSP or RTP/RTCP session. This filtering can eliminate stream cross-talk when a disconnected RTSP source continues to send UDP messages to the same ports after the ports have been reallocated to a new RTSP connection.
    • Added a new property to enable IP address message filtering on RTSP streams (name: rtspCheckIpAddresses, type: Boolean, path: Root/Application/RTP, default: false).
    • For applications that support RTSP sources that use different IP addresses for their RTSP and RTP/RTCP communications, IP address filtering for RTSP streams shouldn't be enabled. If it is enabled, all packets will be dropped.
  • Fixed issue where "@" characters were incorrectly filtered from data saved to XML files using the Wowza Streaming Engine REST API.
  • Fixed an issue where HTTP requests routed to HTTP Providers on HostPorts defined in VHost.xml would throw a ConcurrentModificationException.
  • Updated the name of the property used to enable debug logging for RTSP streams (name: rtspDebugSession, path: Root/Application/RTP, type: Boolean,  default: false). The property can also be used in a .stream file to affect only the steam associated with the file. This property replaces rtpDebugSession.
  • Fixed an issue with HLS-based stream targets where a restart of a stream's Cupertino packetizer due to source stream issues resulted in associated stream targets failing to push the stream.
  • Fixed an issue with CMAF-packetized MPEG-DASH live stream encryption using key files. Previously, including both mpegdashstreaming-cenc and cmafstreaming-cenc entries in a key file could result in the generation of an invalid MPD file.
  • Made the following updates for Low Latency HLS:
    • Removed support for the HTTP/2 push delivery mechanism.
    • Added support for the EXT-X-PRELOAD-HINT media playlist tag.
    • Added support for blocking partial segment requests based on EXT-X-PRELOAD-HINT tags.
    • Added support for setting PART-HOLD-BACK in all media playlists in a multi-rendition, adaptive-bitrate playback session to at least three times the maximum PART-TARGET value across the renditions.
  • Fixed an issue with search functionality in Wowza Streaming Engine Java API reference documentation.
  • Made the following updates for SRT:
    • Updated the SRT implementation to version 1.4 for increased reliability.
    • Fixed an issue where the onStreamStop() callback for SRT sometimes had a null stream. There is always a stream object available when calling mediacaster.getStream().
    • Fixed a memory leak that could be caused by disconnecting and reconnecting SRT MediaCaster streams.
    • Made the following updates to .stream file properties for SRT MediaCaster ingest:
      • Renamed the following properties:
        • The srtLatency property (name: srtLatency, path: Root/Application/MediaCaster, type: Integer, default: 400) replaces srtRecoveryBuffer and specifies the latency, in milliseconds. This is the time it takes for a UDP packet to be sent and delivered, including the time required to account for sending and retransmitting lost packets.The srtLatency value should be 2.5 * the round trip time (RTT). When peers set different latency values, the maximum of the two values applies to both peers.
        • The srtReceiveBufferSize property (name: srtReceiveBufferSize, path: Root/Application/MediaCaster, type: integer, default: 12058624) replaces receiveBufferSize and specifies the receive buffer size, in bytes.
        • The srtReceiveBufferSizeUDP property (name: srtReceiveBufferSizeUDP, path: Root/Application/MediaCaster, type: integer, default: 12288000) replaces receiveBufferSizeUDP and specifies the receive buffer size for UDP connections, in bytes.
        • The srtSendBufferSize property (name: srtSendBufferSize, path: Root/Application/MediaCaster, type: integer, default: 12058624) replaces sendBufferSize and specifies the send buffer size, in bytes.
        • The srtSendBufferSizeUDP property (name: srtSendBufferSizeUDP, path: Root/Application/MediaCaster, type: integer, default: 65536) replaces sendBufferSizeUDP and specifies the send buffer size for UDP connections, in bytes.
        • The srtTimestampBasedDeliveryMode property (name: srtTimestampBasedDeliveryMode, path: Root/Application/MediaCaster, type: Boolean, default: true) replaces srtTimeMode and specifies whether the SRT time-stamp based packet delivery mode is enabled.
        • The srtTooLatePacketDrop property (name: srtTooLatePacketDrop, path: Root/Application/MediaCaster, type: Boolean, default: true) replaces srtLatePacketDrop and specifies whether all packets that are received late are dropped.
      • Added support for the following new properties: 
        • Added a new property (name: srtDebug, path: Root/Application/MediaCaster, type: Boolean, default: false) that specifies whether to write additional details to log files for SRT workflow debugging.
        • Added a new property (name: srtFlightFlagSize, path: Root/Application/MediaCaster, type: integer, default: 25600) that specifies the maximum number of bytes that can be sent without being acknowledged.
        • Added a new property (name: srtInputBandwidth, path: Root/Application/MediaCaster, type: integer, default: 0) that works with srtOverheadBandwidth to specificy the maximum bandwidth, only if srtMaximumBandwidth is set to 0. Uses this formula: max bandwidth = input bandwidth * (100 + overhead bandwidth)/100. If srtInputBandwidth is set to 0, then input bandwidth is estimated from the rate of input during transmission.
        • Added a new property (name: srtKeyAnnounce, path: Root/Application/MediaCaster, type: integer, default: 0x1000) that specifies the interval between when a new encryption key is sent and when switchover occurs. This value also applies to the subsequent interval between when switchover occurs and when the old encryption key is decommissioned.
        • Added a new property (name: srtKeyRefreshRate, path: Root/Application/MediaCaster, type: integer, default: 0x1000000) that specifies the number of packets to be transmitted with an encryption key before switching to a new key.
        • Added a new property (name: srtMaximumBandwidth, path: Root/Application/MediaCaster, type: integer, default: -1) that specifies the maximum bandwidth, in bytes per second, that the connection can use. Valid values are -1 (infinite), 0 (calculated from srtInputBandwidth and srtOverheadBandwidth), and integers greater than 0 for an absolute limit in bytes per second.
        • Added a new property (name: srtMaximumTransferUnit, path: Root/Application/MediaCaster, type: integer, default: 1500) that specifies the maximum size for a unit of transfer data, in bytes. For MPEG-TS streams, use the default.
        • Added a new property (name: srtMinimumVersion, path: Root/Application/MediaCaster, type: integer, default: 0) that specifies the minimum SRT version number accepted for a peer connection. Connection attempts from peers with an earlier version are rejected. For SRT version 1.4, use 66560, and for SRT version 1.3, use 66304.
        • Added a new property (name: srtOverheadBandwidth, path: Root/Application/MediaCaster, type: integer, default: 25) that works with srtInputBandwidth to specificy the maximum bandwidth, only if srtMaximumBandwidth is set to 0. Uses this formula: max bandwidth = input bandwidth * (100 + overhead bandwidth)/100.
        • Added a new property (name: srtPacketLossTolerance, path: Root/Application/MediaCaster, type: integer, default: 0) that specifies the maximum packet reorder tolerance, which is the number of packets to receive after loss before sending a loss report. When set to 0, the loss report is sent immediately when there is a gap in a sequence.
        • Added a new property (name: srtPeerIdleTimeout, path: Root/Application/MediaCaster, type: integer, default: 5000) that specifies, in milliseconds, the peer idle timeout, or the maximum time of silence heard from a peer.
        • Added a new property (name: srtReconnectWaitTime, path: Root/Application/MediaCaster, type: integer, default: 3000) that specifies, in milliseconds, how often the listener looks for an incoming stream. If a source drops, and the immediate reconnection attempt fails, the system waits this amount of time before looking for an incoming stream again.
        • Added a new property (name: srtSendNakReports, path: Root/Application/MediaCaster, type: Boolean, default: true) that enables the receiver to send periodic NAK (Negative Acknowledgment) packet reports.
        • Added a new property (name: srtTimesToPrintStats, path: Root/Application/MediaCaster, type: integer, default: 0) that specifies how many times stream statistics are written into the log after the stream starts. Statistics are logged each second. Set to -1 to log statistics indefinitely.
    • Previously added SRT properties for SRT MediaCaster ingest can now be configured in Wowza Streaming Engine Manager.
    • Made the following updates to SRT Stream Target properties, which can be configured in Wowza Streaming Engine Manager or the PushPublishMap.txt file:
      • Renamed the following property:
        • The srtLatency property (name: srtLatency, type: Integer, default: 400) replaces srtRecoveryBuffer and specifies the latency, in milliseconds. This is the time it takes for a UDP packet to be sent and delivered, including the time required to account for sending and retransmitting lost packets. The srtLatency value should be 2.5 * the round trip time (RTT). When peers set different latency values, the maximum of the two values applies to both peers.
      • Added support for the following new properties:
        • Added a new property (name: srtConnectTimeout, type: integer, default: 3000) that specifies how long Wowza Streaming Engine waits for a target to respond to a connection request, in milliseconds.
        • Added a new property (name: srtFlightFlagSize, type: integer, default: 25600) that specifies the maximum number of bytes that can be sent without being acknowledged.
        • Added a new property (name: srtInputBandwidth, type: integer, default: 0) that works with srtOverheadBandwidth to specify the maximum bandwidth, only if srtMaximumBandwidth is set to 0. Uses this formula: max bandwidth = input bandwidth * (100 + overhead bandwidth)/100. If srtInputBandwidth is set to 0, then input bandwidth is estimated from the rate of input during transmission.
        • Added a new property (name: srtKeyAnnounce, type: integer, default: 0x1000) that specifies the interval between when a new encryption key is sent and when switchover occurs. This value also applies to the subsequent interval between when switchover occurs and when the old encryption key is decommissioned.
        • Added a new property (name: srtKeyRefreshRate, type: integer, default: 0x1000000) that specifies the number of packets to be transmitted with an encryption key before switching to a new key.
        • Added a new property (name: srtMaximumBandwidth, type: integer, default: -1) that specifies the maximum bandwidth, in bytes per second, that the connection can use. Valid values are -1 (infinite), 0 (calculated from srtInputBandwidth and srtOverheadBandwidth), and integers greater than 0 for an absolute limit in bytes per second.
        • Added a new property (name: srtMaximumTransferUnit, type: integer, default: 1500) that specifies the maximum size for a unit of transfer data, in bytes. For MPEG-TS streams, use the default.
        • Added a new property (name: srtMinimumVersion, type: integer, default: 0) that specifies the minimum SRT version number accepted for a peer connection. Connection attempts from peers with an earlier version are rejected. For SRT version 1.4, use 66560, and for SRT version 1.3, use 66304.
        • Added a new property (name: srtOverheadBandwidth, type: integer, default: 25) that works with srtInputBandwidth to specify the maximum bandwidth, only if srtMaximumBandwidth is set to 0. Uses this formula: max bandwidth = input bandwidth * (100 + overhead bandwidth)/100.
        • Added a new property (name: srtPeerIdleTimeout, type: integer, default: 5000) that specifies, in milliseconds, the peer idle timeout, or the maximum time of silence heard from a peer.
        • Added a new property (name: srtReceiveBufferSize, type: integer, default: 12058624) that specifies the receive buffer size, in bytes.
        • Added a new property (name: srtReceiveBufferSizeUDP, type: integer, default: 12288000) that specifies the receive buffer size for UDP connections, in bytes.
        • Added a new property (name: srtSendBufferSize, type: integer, default: 12058624) that specifies the send buffer size, in bytes.
        • Added a new property (name: srtSendBufferSizeUDP, type: integer, default: 65536) that specifies the send buffer size for UDP connections, in bytes.
        • Added a new property (name: srtStreamId, type: string, default: none) that populates a string sent on the socket prior to connecting. Length is a maximum of 512 characters. If using a stream ID, a peer connection must have a minimum SRT version of 1.3.
        • Added a new property (name: srtTimestampBasedDeliveryMode, type: Boolean, default: true) that specifies whether the SRT time-stamp based packet delivery mode is enabled.
        • Added a new property (name: srtTimesToPrintStats, type: integer, default: 0) that specifies how many times stream statistics are written into the log after the stream starts. Statistics are logged each second. Set to -1 to log statistics indefinitely.
        • Added a new property (name: srtTooLatePacketDrop, type: Boolean, default: true) that specifies whether all packets that are received late are dropped.
        • Added a new property (name: srtUdpPayloadSize, type: string, default: 1316) that specifies the maximum payload size sent in one UDP packet, in bytes. Valid values are 0 (unlimited) to 1456.
  • Removed the Wowza Player page from Wowza Streaming Engine Manager.

    Note: Running the Wowza Streaming Engine 4.8.1b updater on an instance of Wowza Streaming Engine may result in a broken Wowza Player page link in Wowza Streaming Engine Manager. To resolve, clear the browser cache and restart Wowza Streaming Engine Manager.

Known issues with Wowza Streaming Engine beta builds

H.264 decoding issue in 4.8.2b and 4.8.3b

In Wowza Streaming Engine 4.8.2b and 4.8.3b, using the Transcoder to decode H.264 in a CPU with source signals containing certain sets of encoded parameters of SPS and PPS results in a server crash shortly after stream start.

Solution

There is no fix at this time, but the issue will be addressed in an upcoming production release.

Removing Wowza Streaming Engine 4.8.1b with the updater tool breaks transcoder and SRT functionality

Using the updater tool to remove the Wowza Streaming Engine 4.8.1b update breaks transcoder and SRT functionality in Wowza Streaming Engine 4.8.0.

Solution

A fix for this issue is available in the latest beta release of Wowza Streaming Engine. If you are experiencing this issue, contact Wowza Support to request access to the latest beta build.

If you have installed Wowza Streaming Engine 4.8.1b, you will need to reinstall Wowza Streaming Engine 4.8.0 before applying subsequent updaters.

Origin-edge CMAF streaming workflows not working in 4.8.1b

The Wowza Streaming Engine 4.8.1b beta release breaks the origin-edge functionality for CMAF streaming.

Solution

A fix for this issue is available in the latest beta release of Wowza Streaming Engine. If you are experiencing this issue, contact Wowza Support to request access to the latest beta build.