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 release


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.

The latest Wowza Streaming Engine beta build is Wowza Streaming Engine 4.8.1b build 20200313112037.

Changes since the latest 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 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.
      • 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.
        • 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 4.8.1b

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

Uninstall then re-install Wowza Streaming Engine 4.8.0 to restore transcoder and SRT functionality. See Uninstall Wowza Streaming Engine.

Origin-edge CMAF streaming workflows not working

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

Solution

There is no fix available at this time. If you require the use of origin-edge with CMAF-packetized streams, don't update to Wowza Streaming Engine 4.8.1b. Instead, continue using Wowza Streaming Engine 4.7.8 - 4.8.0.