Wowza Streaming Engine 4.2.0 released




What's new?

  • new installation
  • Stream Publishing for Distributed Delivery - more working with Cloud, CDNs
  • Integrated Pan/Tilt/Zoom Control for Axis and Sony Camera
  • New Transcoder Codec and Hardware Acceleration -> Supported VP8, VP9 for video and Vorbis, Opus for audio. NVIDIA CUDA and NVCUVID for hardware acceleration

    I have not test it, but you can download transcode webm profile from http://www.wowza.com/downloads/webm/transcoder/transcode-webm.xml and follow up How to transcode live streams using WebM
  • Renamed some menu
  • Not in document, but I notice Wowza support Java 1.8 as default
 

Detailed list of changes in Wowza Streaming Engine 4.2.0

  • Added logging of operating system network parameters on server startup
  • Improved server startup logging to include indication of free and total memory values

  • Improved startup scripts to use bootstrap class loader when starting the license update REST API
  • Modified Windows startup.bat to not use the Windows Service Controller to shut down the service on error. This prevented the Windows Service Control restart mechanism from working
  • Added following Streams/Properties to control maximum UDP packet size used for RTP streaming:
    • h265MaxPacketSize
    • rfc3984H264MaxPacketSize
    • rtpAACMaxPacketSize
  • Improved RTP stream ingestion to handle packetizers that have mixed startcode length and startcode indicator NAL units
  • Fixed synchronization issue with stream demo publisher that caused streams to not start on slower systems
  • Added MP4 file support for iTunes metadata in udta atom attached to moov atom or trak atoms
  • Added additional debug logging to MP4 stream recorder code to track packet timecodes and offsets
  • Fixed Smooth Streaming chunk generation to include sample flags in tfhd atom to fix streaming on Google Chromecast device
  • Added smil and ngrp support for cupertinoBitrateAdjustmentFactor property in HTTP/Properties
  • Fixed Null Pointer Exception when app context could not be loaded due to incorrect application being requested in Cupertino playlist.m3u8 request
  • Added methods to HTTPStreamerSessionCupertino to control auto multi-bitrate generation for Apple HLS (cupertino) streams, enables controlling audio-only renditions based on user agent:
    • boolean HTTPStreamerSessionCupertino.isAutoCreateMultibitratePlaylist()
    • void HTTPStreamerSessionCupertino.setAutoCreateMultibitratePlaylist(boolean autoCreateMultibitratePlaylist)
  • Fixed LiveStreamPacketizer/Properties cupertinoResetTargetDurationOnNewChunk, which was accessed using incorrect properties container
  • Added HTTPStreamer/Properties integer property cupertinoFirstChunkRequestDelay to add a time delay to the first chunk request for a given Apple HLS (cupertino) streaming session (default is 0, which is no delay)
  • Added support for the tag {host} in the cupertinoEncryptionBaseURL property. When returned to the client the {host} is changed to the requested IP/Hostname/Port.
  • Fixed issue with Apple HLS (cupertino) SAMPLE-AES encryption (NAL unit length was not set properly if escaping was needed)
  • Improved Apple HLS (cupertino) initialization vector (IV) generation for ENVELOPE-PLAYREADY encryption to work properly when doing HTTP byte range requests (IV is the same for requests of a given chunk)
  • Improved MPEG-DASH CENC initialization vector (IV) generation to work properly when doing HTTP byte range requests (IV is the same for requests of a given fragment)
  • Changed MPEG-DASH ABR rendition ordering so that renditions in the manifest are listed in the same order as they appear in the SMIL file, instead of always listing them in bitrate order. Changed for both on-demand and live streaming
  • Fixed specification of presentationTimeOffset values in on-demand DASH manifests so that wowzaplaystart and wowzaplayduration query parameters work properly for all DASH manifest formats (by-time, by-list, and by-number)
  • Updated the MPEG-DASH test player in Wowza Streaming Engine Manager and the MPEG-DASH Live and VOD example players with a fix from dash.js v1.3 to allow a canPlayType of "maybe" (in addition to "probably") to compensate for the more restrictive video codec support response provided by Chrome
  • Added LiveStreamPacketizers/Properties and HTTPStreamer/Properties boolean property mpegdashForceDisplaySizeToBeEven to force frame size to be even for MPEG-DASH streaming (issue with latest Chrome browser, default is true)
  • Added properties drmVerimatrixCupertinoDTVPosition and drmVerimatrixMpegDashDTVPosition to enable UTC timecodes for positions when requesting keys from Verimatrix. Default is false.
  • Fixed HLS bug in Verimatrix module where the positionCount would get forced to the default value any time a keyRotateInterval parameter was not provided in the stream mapping, and the keyRotateInterval would also not be set properly if a user had defined a custom default value through the drmVerimatrixCupertinoKeyRotateInterval property
  • Added code to discard MPEG Transport Packets with transport errors or transport scrambling enabled
  • Added the following encoder strings to list of valid encoders in core security:
    • "Lavf/" (ffmpeg)
    • "UA Teradek/"
    • "KulaByte/"
  • Improved Transcoder NVENC shutdown code to make sure encoder is not running when destroyed
  • Improved Transcoder onMetaData injection to include a better-formatted string for the track.description field
  • Updated Transcoder MainConcept HEVC/H.265 libraries to version 4.1
  • Added Transcoder template boolean property sortDebug to turn on/off Transcoder sort buffer debug logging
  • Fixed problem with Transcoder sort buffer timecode map that was not returning the realtime values in all cases
  • Fixed frame rate calculation issue with HEVC/H.265 streams (off by a factor of 2)
  • Fixed an issue with range requests that started at offset 0 and would not return the Content-Range header
  • Fixed deadlock on nDVR shutdown caused by lock inversion
  • Enhanced ability to specify DVR mode with either _dvr or _DVR from within encoded playlist.m3u8 request
  • Fixed DVR chunking algorithm. There was a case where the PTS was incorrectly checking against the chunk's DTS start time, causing a shorter than expected chunk length
  • Fixed problem where DVR would sometimes create transcoded chunks larger than their ingest counterparts, if the ingest stream differed between pts and dts values
  • Fixed an off-by one error when creating DVR chunks. If chunksize exactly equaled the minimum chunk size, the chunk would add content up to the next key frame
  • Fixed a bug in Wowza Streaming Engine Manager for nDVR options when disabling Media Cache
  • Added MediaCacheSource/Properties integer property awsSigningVersion to conf/MediaCache.xml to enable version 2 or version 4 AWS URL signing (default is version 2, valid values are 2 or 4)
  • Added MediaCacheSource/Properties string property awsDefaultRegion to conf/MediaCache.xml to enable setting of default region (default is us-east-1)
  • Added support for Amazon AWS version 4 URL signing to MediaCache system:
    • To turn on version 4 signing, set awsSigningVersion to 4
    • When using version 4 signing, the bucket of the region must be included in the stream name along with the bucket name in the form [bucket-name].s3-[region], for example: amazons3/mybucket.s3-us-west-1/myfolder/myfile.mp4. The region can be omitted if bucket is in default region (awsDefaultRegion)
  • Added MediaCacheSource/Properties string property userAgent to conf/MediaCache.xml to enable setting of user agent name for HTTP requests
  • Added support for the configuration of push publishing through the Stream Targets feature Wowza Streaming Engine Manager
  • Fixed problem where push publishing would throw an exception when invalid RTMP metadata was found in the packets list of the source stream
  • Fixed push publishing RTMP issue where a missing parameter in the "publish" command caused connection issues with Microsoft Azure destinations
  • Fixed the push publishing REST API so that the field name for the application instance map file parameter is labeled "appInstance" instead of "applicationInstance", as required by the Stream Targets feature
  • Fixed push publishing in the handling of the HowToPublish parameter that is part of the RTMP "publish" command during the connection sequence. The default value for HowToPublish is now "live" instead of "publish"
  • Added ability in PushPublishing module's "rtmp" profile to filter-out metadata items from onMetaData messages on a per-map-entry basis. Associated new map entry properties:
    • removeMetadataObjects (Boolean) - enables removal of all array and object data types
    • filteredMetadataItems (String) - allows definition of a pipe-separated list of named metadata items to remove
  • Fixed Secure Token bug where the Client IP address was always checked in the hash when include client IP address in the hash was not enabled  ( This bug make me spend time T-T)
  • Fixed SMIL over-ride of HLS default VOD subtitle attributes: FORCED, AUTOSELECT, DEFAULT, and GROUP-ID
  • Fixed SMIL over-ride of HLS subtitle. Was using wrong title value to match subtitles to video stream
  • Fixed problem where HLS streams would specify a SUBTITLE track when their SMIL did not contain subtitles
  • Added TimedText property "ccIngestCEA608RemoveExistingCEA608" to allow original CEA-608 captions in ingest stream to be removed after conversion to other caption types
  • Added support for Streams/Properties boolean property fixH264VideoNALLenStartcodeMix in RTPPacket processing for RTP and RTSP streams
  • Added application-level integer property liveStreamRecorderWaitForVideoFrameCount for live stream record that controls how many packets are processed before the stream is determined to be most likely audio-only
  • Fixed Live Stream FLV Recorder when not starting on a key frame to avoid null pointer exception error
  • Fixed HTTP audio-only on-demand streaming to insure that fragments/chunks are packetized the same regardless of the order they are requested
  • Fixed security module where publish should be denied if we require password and stream is not recognized as a publisher via its flashVer
  • Changed default Garbage Collector from TuningGarbageCollectorConcurrentDefault to TuningGarbageCollectorG1Default to accompany Java 8
  • Fixed NPE when serializing the origin repeater context between 3.x and 4.x
  • Fixed issue in Wowza Streaming Engine Manager where Epiphan, Hauppauge, Matrox, NewTek, and Telestream XML generation had an undesired resources tag
  • Moved Sources (Live) (was Incoming Publishers), Stream Files, and Incoming Streams features in the Wowza Streaming Engine Manager contents panel to better represent the flow of actions taken
  • Fixed Content-Length handling to negate any negative values presented

Reference: Wowza Streaming Engine 4.2.0 Release Notes

Comments