• Wowza Media Server 3.1.0 Release Notes

    Wowza Media Server 3.1.0 Release Notes

    Wowza Media Server 3.1.0 build1410 (19 April 2012)

    Detail list of changes: (since: 3.0.5)
    • Wowza nDVR is out of beta and fully released
    • Apple HLS (cupertino) adaptive streaming has been improved to more robustly support session managment
      • SMIL file is referenced in all chunklist.m3u8 and media URLs
      • If session times out and is re-estabilished all adaptive streaming bitrates are available for streaming
    • Added boolean HTTPStreamer/Properties property cupertinoEnableOnEncKey to turn on/off onEncKey internal Apple HLS key delivery. For security reasons it's off by default
      • If you using this features in earlier version of Wowza Media Server you must add this property to Application.xml for secure Apple HLS streaming to continue to work
    • Fixed DVR San Jose Streaming to work with OSMF 2.0. OSMF 2.0 parser no longer allows first fragment ID in afrt table to be zero
    • Added support for boolean MediaReader/Properties property bufferSeekIO and mp4BufferSeekIO to turn on/off buffered IO when reading MP4 moov atom (default is false)
    • Fixed problem where Cupertino DVR playlist could be malformed when using DVR Window, sometimes causing iOS to stop playing (25338)
    • Fixed CUDA encoder to properly generate IDR frames
    • Fixed synchronization problem with low level UDP session recycling
    • Added boolean DVR/Properties property cupertinoRandomizeMediaName which when true will add a random 8 character string to the media names in the playlist.m3u8 responses to make the media names unique between sessions
    • Added string HTTPStreams/Properties properties dvrCacheControlChunk to control the Cache-Control HTTP headers for the DVR Chunk Provider
    • Added timeOffsetBetweenItems API to Stream class (time in milliseconds between playlist items)
    • Reworked a small part of the overlay API to make it work properly
    • Added log warning if DVR Audio codec is not MPEG1 Layer 3
    • Updated Apple HLS playlist #EXT-X-VERSION version from 2 to 3
    • Added HTTPStreamer/Properties string property smoothStreamingVideoCodecIDH264 to control FourCC value returned in Manifest for smooth streaming. Valid values are (H264 and AVC1)
    • Added support in DVR for HTTPStreamer/Properties smoothStreamingVideoCodecIDH264 to control FourCC value returned in Manifest
    • Added support for string property DVR/Properties dvrSmoothManifestH264Codec which over-rides smoothStreamingVideoCodecIDH264
    • Added DVR boolean debug property dvrDebugFailedChunkRetrievals to provide context when DVR chunk is not found
    • Removed FileNotFoundException stack trace logging when DVR chunk is not found
    • Added warning if LiveStreamPacketizers are set yet stream type if not a LIVE stream type
    • Fixed MPEG-TS ingestion to enable streams with program info descriptors greater than 188 bytes
    • Fixed HTTPProviderMediaList so that it works properly with RTMP dynamic streaming and MediaCache
    • Added warning message if DVR storage directory does not exist when recordings are loaded
    • Added support for tx3g metadata in onMetadata event
    • Fixed track index problem with tx3g tracks
    • Fixed bug where dvrStorageDirectory when specified by properties API was not expanded using environment variables
    • Added ability to allow DVR window duration to be over ridden on a per store basis before store is initialized
    • Fixed problem with RTSP video on demand streaming when .mp3 or .acc extension on file
    • Changed HTTP Streamers to allow application context to be recreated during media requests. This reduces occurrence of "Application Context Not Loaded" warnings
    • Fixed problem with SHOUTcast and RTSP/RTP re-streaming if exception due to DNS resolve failure
    • Added boolean Streams/Properties sendSetDataFrame which when set to true will propagate netStream.send("@setDataFrame", "onMetaData", metaData) from origin to edge (default is false)
    • Added boolean LiveStreamPacketizers/Properties property cupertinoRandomizeMediaName which when true will add a random 8 character string to the media names in the playlist.m3u8 responses to make the media names unique between sessions
    • Added string HTTPStreams/Properties properties cupertinoCacheControlPlaylist, cupertinoCacheControlEncKey and cupertinoCacheControlMediaChunk to control the Cache-Control HTTP headers for the associate HTTP responses
    • Added boolean HTTPStreamers/Properties property streamDomainProtectionActive to control turning on/off the stream crossing protection
    • Added boolean Stream/Properties property sendUpdatedOnMetaData to turn on/off sending of fully updated onMetaData event when we receive @setDataFrame updates
    • Fixed synchronization problem with UDP session recycler
    • Added ability to align video and audio fragment duration when generating smooth streaming fragments (LiveStreamPacketizer/Property boolean property smoothAlignAudioWithVideo)
    • Added additional DVR check to toss invalid A/V chunks based on the audio and video durations differing widely. Sometimes occurs during encoder reset
    • Enhanced DVR API by adding method to retrieve chunk within a delta of the DVR time
    • Moved and renamed RTPPackageFragment
    • classes to PacketFragment*
    • Package updated from com.wowza.wms.rtp.depacketizer to com.wowza.util
    • Added interface IPacketFragment
    • When selecting DVR chunks by time, allow a slight difference from requested time to retrieved chunk time. To support some STBs that calculate time using duration instead of using provided time. (Ticket 24456)
    • For DVR smooth streaming, by default do not provide duration in Manifest except for last chunk.
    • Added DVR property dvrSmoothManifestVerboseDuration to allow duration to be set for each Smooth manifest record
    • Improved logic for calculating DVR audio end time
    • Added warning to transcoder XML template parser if overlay index is used more than once in a transcoder template
    • Added check to DVR serialization code to ensure deserialized mediacache chunks have data in them.
    • Added logging around the server shutdown hook
    • Added packetization event limit to guard against OutOfMemory issues when packetizer is backed up
    • Added try/catch block around base packetization event
    • Fixed incorrect UTC time map when recording audio-only DVR recording (WMS-65, ticket 23977)
    • Added DVR support for MediaCache
    • Added property "dvrMediaCacheEnabled"
    • Added DVR recording limit of 30 hours, at which time the recording stops
    • Added property "dvrMaximumRecordingLength"
    • Added API methods IDvrManifest.getLiveDuration() and IDvrManifest.getRecordedDuration()
    • Fixed DVR repeater case where edge was shutting down if dvrstreamingrepeater was the only repeater specified in application
    • Fixed DVR repeater where edge presented playlist before large manifest had been completely ingested at edge. This sometimes caused the playlist/manifest to be invalid or the playlist to be shorter than expected
    • Fixed case where DVR Smooth Streaming was creating a null DVR playlist request
    • Fixed DVR Smooth Streaming bug where audio codec config packets were incorrectly sent to player
    • Enhanced DVR Smooth manifest to differentiate between live and recorded content
    • Fixed MP3 media reader to properly use more accurate duration in onMetaData data
    • Added audiocodecid and audiosamplerate and audiodatarate to onMetaData data for MP3 files
    • Rearranged the order that transcoder streams are created so that transcoder result flag is set before onPublish is called
    • Fixed file transfer/copy code to handle files over 2GB in size