Wowza Streaming Engine 4.7.0 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.0 build 20186 released on April 24, 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.0

Detailed list of changes in Wowza Streaming Engine 4.7.0

New Features and Functionality in Wowza Streaming Engine 4.7.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.

New Alibaba Cloud Stream Target Destination

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 destination distributes your live stream, enabling you to scale your Streaming Engine implementation, computing resources, and delivery options for a variety of scenarios. Wowza Streaming Engine 4.7.0 has a new destination option that enables you to send live video streams to Alibaba Cloud CDN. For more information, see How to stream to Alibaba Cloud.

Wowza CDN Stream Target Workflow Improvements

Wowza Streaming Engine 4.7.0 introduces a new stream target destination option that enables you to send a single live video stream or a group of transcoded renditions to Wowza CDN for delivery to viewers. In earlier versions of Wowza Streaming Engine, you could use the Wowza Streaming Cloud stream target destination option to send streams directly to a Wowza CDN endpoint for delivery or to Wowza Streaming Cloud for transcoding and delivery. Existing Wowza Streaming Cloud stream targets that are configured for the CDN workflow will continue to work as expected, but we recommend using the Wowza CDN destination option to configure all new Wowza CDN stream targets. For more information, see How to stream to Wowza CDN.

MPEG-DASH Ingress and Egress over HTTP with Akamai Stream Target

Wowza Streaming Engine 4.7.0 enables you to send MPEG-DASH streams to the Akamai HD network. When configuring an Akamai stream target for MPEG-DASH, select MPEG-DASH as the Destination Protocol. Otherwise, the configuration is similar to Adobe HDS. For more information, see How to stream to Akamai.

Wowza Player for VOD Edge Applications

Wowza™ Player is our new HTML5 player for Apple HLS video and audio streaming from Wowza Streaming Engine media server software and the Wowza Streaming Cloud™ live streaming service. Wowza Player comes with a Player Builder that you can use to customize a player and generate HTML embed code. Wowza Streaming Engine 4.7.0 extends the integration with Wowza Player to support VOD Edge application types. You can use the new Wowza Player in Wowza Streaming Engine manager to launch and pre-populate Wowza Player Builder with a VOD asset provided by a Media Cache source. 

Detailed list of changes in Wowza Streaming Engine 4.7.0


Changes since 4.6.0.04 release

  • Added Wowza CDN stream target
  • Fixed Akamai HLS stream target so that when cupertino.renditions is set to audioonly but cupertinoCreateAudioOnlyRendition is set to false, the original source stream is pushed if it's audio-only
  • Fixed applehls MediaCaster so that configured stream targets are triggered correctly
  • Added Wowza Player to vodedge application type to support Media Cache configurations
  • Fixed restart message in Wowza Streaming Engine Manager when saving Media Cache store or source configurations
  • Fixed MPEGDASH manifest to correctly indicate channel configuration when the number of channels > 2 for AAC audio
  • Fixed Transcoder NVCUVID/CUDA accelerated decoding issue that caused shaky playback of streams with 3 or more B-frames (increased internal frame maximum from 8 to 16)
  • Fixed detection of videocodecid and audiocodecid by numeric value
  • Fixed NSSM failing to start on latest Windows operating system version (OS Build 15063.0 and newer)
  • Remove PUT option from /v3/servers/{serverName}/publishers/{publisher} REST API endpoint as it's not supported
  • Remove PUT option from /v2/servers/{serverName}/publishers/{publisher} REST API endpoint as it's not supported

Wowza Streaming Engine Manager 

  • Fixed Wowza Player page for vod applications so it performs basic field validation on the "Enter a playback URL" field (begins with "http://" or "https://" and contains "playlist.m3u8")
  • Fixed Wowza Player page for vod applications so that the "Host" dropdown only includes hosts for "Streaming" type ports
  • Fixed Wowza Player page for live applications so that the "Playback URL" dropdown only includes URLs for "Streaming" type ports
  • Fixed Wowza Player page for live applications so that the "Select a playback URL" option is selected by default on page entry (was not working correctly on Firefox)
  • Fixed Wowza Player link in the contents panel to support Internet Explorer 11 correctly
  • Removed references to bootstrap-responsive.css stylesheet, which isn't required in the manager
  • Fixed null pointer exception that occurred during the 'First Time User' experience in the manager
  • Updated search functionality in the manager search to use a new location
  • Fixed Wowza Streaming Engine Manager when using Java versions greater than 1.8.0_77
  • Changed Wowza Streaming Engine Manager validation logic for live URLs to only validate .m3u8 file extensions
  • Fixed image flickering on overlay and browser hangs
  • Improved Wowza CPU calculation to improve accuracy displayed in the manager
  • Improved CPU calculation for cloud-based services when displayed in the manager

Stream Targets (Push Publishing)

  • Fixed Stream Targets feature in Wowza Streaming Engine Manager to prevent a null pointer exception
  • Fixed Wowza Streaming Cloud stream target causing pushes to Wowza Streaming Cloud CDN stream targets to fail
  • Updated Facebook stream target to reduce the amount of polling, which Facebook doesn't require
  • Fixed playlist-across-sessions functionality for all Apple HLS-based stream targets
  • Fixed a bug (introduced in 4.6.0.02) that caused Wowza Stream Cloud Stream Targets configured for transcoding in Wowza Streaming Cloud to never start pushing
  • Fixed Wowza Streaming Cloud stream targets to use the PUT method when calling Wowza Streaming Cloud v2 APIs to start a transcoder
  • Added support for MPEG-DASH in Akamai Stream Targets
  • Added Alibaba Cloud to Stream Targets destination page in Wowza Streaming Engine Manager
  • Added support for *host* map file parameter for the cupertino-akamai and sanjose-akamai stream target profiles (also provided as the *Destination Host* option in Wowza Streaming Engine Manager)
  • Updated Stream Targets target-creation user interface in Wowza Stream Engine Manager to be more streamlined

Live Stream Encoding, Transcoding, and Transrating

  • Fixed Transcoder problem with CUDA scaler that caused incorrect scaling if frame size wasn't evenly divisible by 8
  • Fixed Transcoder memory leak--several of the audio and video encoders leaked memory on shutdown
  • Improved Transcoder settings for NVIDIA NVENC accelerated H.264 and H.265 encoding to properly set the InitialRCQP settings per the latest NVENC SDK (7.1.9)
  • Updated Transcoder NVIDIA CUDA library support on Linux to 7.5.18 to be more compatible with newer drivers on Amazon Web Services (AWS)
  • Improved Transcoder NVIDIA acceleration code to share context between jobs (one context per-device) to save memory usage on device
  • Added Transcoder support on Linux for Intel Media SDK version 2017 R1 (v5 Broadwell and v6 Skylake only)
  • Fixed Transcoder crash in NVCUVID decoder when decoder fails to initialize
  • Added "makitoX" and "Elemental Live" encoder strings to list of valid encoders in core security
  • Updated Flash string for Haivision (Kulabyte)
  • Fixed Wowza GoCoder auto-config link when using open source security

Live Stream Recording

  • Fixed bug in Wowza Streaming Engine Manager where Advanced edit field in the Segmentation tab of Recording page wasn't disabled out when entering the page
  • Updated LiveStreamRecord to allow the timescale to be changed when recording. Added Application/StreamRecorder property streamRecorderTimeScale (long, default=90000)

Live Stream DVR Playback 

  • Fixed nDVR converter to allow for large timecode changes within an nDVR store
  • Added nDVR property "dvrAbrAlignmentChunksInReserve" (Integer, default: 0) that ignores n chunks closest to live time when doing ABR alignment. If > 0, this reduces alternate chunks being used at the live point and improves overall alignment
  • Fixed incorrect synchronization of updater and creators of MBR alignments
  • Fixed a case in nDVR MBR alignment algorithm where resuming alignment on an update could resume from the wrong chunk
  • Fixed Accept-Encoding header parsing to correctly allow gzip delivery for nDVR manifests
  • Moved nDVR lock when retrieving chunks so manifest updates lock, while network and Media Cache calls don't lock
  • Fixed locking on nDVR MBR resolver to ensure two updates to state data can't happen concurrently

Closed Captions 

  • Fixed DVB teletext subtitle support to properly handle tracking of updates to individual text lines (fixes the "stacked messages" issue)
  • Added support for onTextData when prefixed with @setDataFrame for CEA608 conversion
  • Updated support for onTextData when prefixed with @setDataFrame in LiveCaptionProviders

Media Cache 

  • Fixed HTTP Media Cache playback of files larger than 2 gigabytes (GB)
  • Fixed issue where Media Cache store entries could be edited by read-only user

MediaCasters, Stream Files, and Startup Streams

  • Added AAC segment support to applehls MediaCaster type
  • Fixed applehls MediaCaster so cupertinoManifestBufferBlockCount and cupertinoManifestMaxBufferBlockCount parameters are used correctly
  • Added ICupertinoMediaCasterID3Processor interface. The default implementation can be overridden with Application/Properties/cupertinoID3ProcessorClass (String), which should contain the class path of an implementation to use. All ID3 tags are converted to an onMetaData event.
  • Fixed applehls MediaCaster memory leak
  • Fixed Stream Files feature in Wowza Streaming Engine Manager to populate application list correctly when using Firefox and connecting .stream file to live application
  • Added .stream file property rtspMulticastServerDestinationInSetup that suppresses the destination=[ip-address] from RTSP SETUP command for multicast connections when set to false (default is true)

WebRTC (Preview)

  • Updated WebRTC getOffer() to wait for enough video/audio data to allow playback
  • Fixed stream status in payload response to browser from getAvailableStreams() call in WebRTC
  • Fixed getOffer and getAvailableStreams to use the webrtcPlayTimeoutStream and webrtcPlayTimeoutRepeater properties
  • Fixed issue in WebRTC SDP exchange where a sendOffer had a=sendonly and the response was also sendonly (should have been recvonly)
  • Added additional metadata support for WebRTC when publishing with RTMP encoder
  • Fixed WebRTC playback for G.711 when published with RTMP
  • Fixed WebSocket message parsing issue with messages broken across TCP packet boundaries

HTTP Streaming (MPEG-DASH)

  • Added support in MPEG-DASH live streaming for <UTCTiming> elements (initially supports "direct" and "http-head" schemes)
  • Fixed null pointer exception for MPEG-DASH playback when source stream disconnects/connects

HTTP Streaming (Smooth)

  • Fixed Smooth Streaming Audio/Video sync when using begin or wowzaplaystart parameters
  • Fixed Smooth Streaming Audio/Video sync when audio and video frames are within a small tolerance for begin or wowzaplaystart parameters
  • Updated Smooth Streaming Audio/Video sync tolerance check when using begin or wowzaplaystart parameters
  • Fixed Smooth Streaming manifest so that TimeScale attribute is written with camel case per the specification

REST API

  • Fixed REST API vhosts/streamfiles endpoint to correctly validate provided application name
  • Updated streamRecorders REST API to allow timescale to be changed; added parameter timeScale
  • Removed excessive debug for CPU calculations when debugEnable property was set to true in the REST API properties in Server.xml
  • Added backup file authentication for Remote HTTP authentication failure for the REST API
  • Added /crossdomain.xml and /clientaccesspolicy.xml as endpoints to the REST API
  • Fixed applications/streamrecorders REST API endpoint to prevent Wowza Streaming Engine Manager from showing an invalid application instance

General/Other

  • Added VHost property "httpKeepAliveRejectInvalidPath" (Boolean, default: false) that rejects HTTP requests with a 404 response if a persistent HTTP connection is in use and a request is outside the original scope
  • Added VHost Boolean property "debugRTSPCommand" to output low level RTSP commands prior to application attachment
  • Added RTP/Properties/rtpResyncAudioVideoOnSRLog property to log the audio/video timecodes when resyncing occurs
  • Fixed Apple HLS ingest when only child playlists are available
  • Updated RTSP authentication methods to allow whitelists and blacklists to be selected based on Publish or Play methods in use
  • Fixed server startup when user.language and user.country aren't for new HTTP Provider data functionality
  • Fixed MP4 media reader to correctly count atom entries
  • Fixed MP4 media reader to correctly close files when invalid options are used
  • Fixed handling of AAC LATM audio streams that specify one of the "Error Resilience" audioObjectTypes so the "Unsupported audioObjectType: ret.extensionFlag=1" warning is no longer reported and packets dropped
  • Fixed issue where HTTP session trackers lingered until the session timeout occurred, even though they were rejected sessions. Now, they're flagged for deletion immediately such that they're cleaned up on the next poll instead of waiting for the session timeout. This helps prevent memory buildup on heavily loaded systems that have connection limits set for the application
  • Fixed RTMP and RTSP secure token to correctly use the content path in use
  • Updated HTTP writer to support implicit port numbers for 80 and 443 in Host and URLs
  • Fixed startup logging to remove tabs(\t) from Linux system configuration items
  • Updated SHOUTcast receiver to provide API access to supported packet types
  • Fixed problem with MPEG-TS outbound data API, which was missing a way to specify the PID
  • Fixed default RTP type IDs in IRTPPacketizer so that H.264 and Opus/Vorbis types don't collide