Wowza Streaming Engine 4.1.2 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.1.2 build 13947 released on March 2, 2015.


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.


New Features and Functionality in Wowza Streaming Engine 4.1.2

Detailed list of changes in Wowza Streaming Engine 4.1.2

New Features and Functionality in Wowza Streaming Engine 4.1.2

Wowza Streaming Engine™, formerly Wowza Media Server™, is robust, customizable, and scalable server software that powers reliable streaming of high-quality video and audio to any device, anywhere.

Works With Wowza Integration for Sony and Axis cameras

Wowza Streaming Engine features integrated publishing options that simplify live streaming workflows. The Incoming Publishers page for live applications in Wowza Streaming Engine Manager enables you to deliver connection settings for the application to a variety of popular encoders and cameras. Publishers that aren't integrated with Wowza Streaming Engine can still connect to live applications in Streaming Engine, but you must configure their connection settings manually.

Wowza Streaming Engine 4.1.2 adds Sony and Axis cameras to its growing lineup of integrated publishers.

Detailed list of changes in Wowza Streaming Engine 4.1.2

  • Improved file recording when using live-record StreamType or rtp-record MediaCaster type when using <Streams> property recordWaitForVideoKeyFrame to trim off audio packets before the first keyframe
  • Improved LiveStreamRecord and live-record audio timecode calculations when converting from milliseconds to MP4 track timescale (uses samples per-frame to calculate more accurate timecode)
  • Fixed bug in LiveStreamRecordManager notifyRecordFactory that checked the wrong variable for instanceOf IStreamRecorder, allowing a non-IStreamRecorder object to be returned
  • Fixed bug in LiveStreamRecorderBase that used != to compare strings instead of using the equals string function and not-ing the return value
  • Added backBufferTime parameter to StreamRecorder to allow x number of milliseconds of packets to be pulled from the incoming stream buffer and written to file prior to writing the start of the recording
  • Updated javadocs for IStreamRecorderConstants and StreamRecorderParameters with description and use case for new backBufferTime parameter
  • Added logic to logging initialization that removes the stdout (console appender) when running as a service. The stdout appender is removed by name, if you want the console appender when running as a service, give it a name other than stdout in the conf/ file
  • Added Sony to Incoming Publishers page in Wowza Streaming Engine Manager
  • Fixed bug in Wowza Streaming Engine Manager where Internet Explorer 11 stopped responding while trying to access hidden variables on the Incoming Publishers > Sony and Teradek pages
  • Optimized Application.xml and the stream that's created for JVC publishers on the Incoming Publishers > JVC page
  • Fixed bug in Wowza nDVR where ABR alignment would restart aligned indexes at index 0 after a session restart. This caused HTTP origin mode to re-use chunk IDs
  • Fixed potential NPE when trimming the DVR playlist request. Occurred in HTTP Origin mode when chunks were requested from latent players immediately after Wowza Streaming Engine was restarted
  • Fixed issue with push publish to fix the RTP "multicastplay" query string to enable RTSP playback over multicast
  • Improved live stream ingestion performance by caching NAL unit size calculation so that it was not performed on every frame
  • Enabled transcoder H.264/H.265 loop filter for default video decoder
  • Fixed bug where the play IP whitelist was affecting publish IP whitelist
  • Fixed incorrect security denial when requiring a password on play in publish and releaseStream methods
  • Added <Application>/<DVR> property dvrStreamOnlyLiveStreams (Boolean, default=false) that controls if a client can connect to only an actively recording DVR stream (true) or to either a recording or pre-recorded DVR (false)
  • Improved Smooth Streaming PlayReady encryption of VOD files when using non-random initialization vectors (smoothStreamingEncryptionRandomIV is false) to make sure IVs are different for every fragment per the PIFF specification
  • Set smoothStreamingEncryptionRandomIV property to false by default since it works propertly when doing HTTP byte requests on fragments
  • Fixed Streaming Engine Manager configuration of CEA-608 ingest type to ingest live captions properly
  • Fixed issue where closed-caption type could not be set to CEA-608 in the manager
  • Removed support for NVIDIA CUDA accelerated encoding in Wowza Streaming Engine Manager
  • Fixed issue with parsing of H.264 and H.265 SEI packets when using Transcoder (didn't account for zero-length NAL units)
  • Fixed problem with Transcoder ngrp creation if audio is set to PassThru and incoming stream is video-only. Now the ngrp is properly created with video-only rendition of the stream
  • Fixed SwaggerParameterGenerator to find actions in super classes so Swagger documentation for actions is correct for SMILFileAppAction, StreamFileAppAction, and SDPFileAppAction
  • Added query parameter documentation for SMILFile, SDPFile, StreamFile, SMILFileApp, SDPFileApp, and StreamFileApp {action} APIs
  • Updated server exit code handling to provide better feedback through Wowza Streaming Engine Manager
  • Fixed REST API documentation for POST method on the list level APIs (for example, ApplicationsConfig, StreamFilesConfig, etc.)
  • Fixed REST API documentation to properly show the serverName property for actions APIs
  • Fixed REST API documentation to properly show the vhostName and appName properties for application advanced properties APIs
  • Fixed REST API documentation for action endpoints that erroneously indicated support for the POST method
  • Removed REST API documentation for outgoingstreams endpoint because it's not currently supported
  • Updated references to the RESTLET libraries (from 2.1.6 to 2.2.2) in the startup scripts when a license check fails and the media server goes into the update license key mode
  • Included linux in updates because of the change to the RESTLET 2.2.2
  • Updated the linux service script to use the new RESTLET 2.2.2 libraries
  • Fixed the Application and Machine stats data by forcing the data to be Universal Coordinated Time (UTC) when traveling across the REST API
  • Fixed bug in UserConfig where adding a new user failed with error code 409, even though new user didn't exist, when the Server.xml RESTInterface authentication was set to none
  • Renamed getMPEGDashCConnectionCount to getMPEGDashConnectionCount to remove the extra 'C'
  • Fixed bug with Apple HLS (cupertino) streaming by properly removing query string in URL before extracting Wowza session ID
  • Changed the default behavior for cupertino streaming when requesting a playlist for stream that doesn't exist to return 404 as an HTTP return code
  • Added a new boolean property "cupertinoReturnEmptyPlaylistOnStreamNotFound" that when added to the applications HTTP Streamer properties, reverts the behavior to empty playlist
  • Added new integer property "cupertinoHttpStreamNotFoundReturnCode" that when added to the applications HTTP Streamer properties, allows the for a custom return code if a stream isn't found (404 is the default)
  • Fixed ConcurrentModificationException in Push Publishing where pushing 2 streams through Wowza Streaming Engine and then removing them both triggers the exception
  • Added new "wowza-streaming-cloud" profile in Push Publishing to allow pushing of streams to a Wowza Streaming Cloud-based Wowza Streaming Engine instance
  • Included Push Publishing output in the bytes out totals stored in the statistical databases that feed the monitoring charts in Streaming Engine Manager
  • Fixed logging issue with HTTP streaming where file information wasn't logged properly in all cases when playing back a single stream
  • Fixed a bug in Wowza Streaming Engine Manager where return key was causing a 405 error when entering text into the Filter by Keyword text box on the Logs page
  • Fixed perpetual loading gear when attempting to display real-time Wowza Streaming Engine Manager error logs that have a size of 0
  • Fixed bug where the sort order check box wasn't displayed when switching back from real-time to historical view on the Logs page in Wowza Streaming Engine Manager
  • Added DEBUG icon for debug lines shown in Logs page
  • Fixed bug in SecureToken Version 2 that calculated an incorrect hash when used in conjunction with the StreamNameAlias package
  • Fixed bug in SecureToken by removing line break at the 77th character for Base64-encoded hash parameters longer than 76 characters as this caused the received hash and calculated hash to not match
  • Fixed MediaListRendition.toSMILString(). Properties weren't being output in the SMIL string
  • Added support for RTMPT TCP connections to handle pipelined requests for crossdomain.xml
  • Added new function for SetCodecConfig for H.264, H.265, and AAC to set the codec config bytes without decoding them
  • Added IApplicationInstance API call isLive() that returns true if the stream type for the application instance is a live stream type
  • Fixed HTTP streaming adapter so that if an application uses a live stream type and the packetizer is turned off for a given protocol, the request is treated like a live stream and 404 is returned properly
  • Added WARN log statement to Adobe HDS (sanjose) streaming when a request is made for a live stream that doesn't exist
  • Optimized the file reader code so that it tracks file length during read operations more efficiently