• Wowza Media Server 3.0.0 Release Notes

    Wowza Media Server 3.0.0 Release Notes

    New Features


    • Live Stream Transcoder
      • Support for transcoding on Windows 64-bit and Linux 64-bit (no support for 32-bit or OSX at this time)
      • CUDA accleration available on Windows
      • Intel Quick Sync acceleration available on Windows
      • Following formats are supported:
        • Video decoding: H.264, MPEG2, MPEG4 Part 2
        • Video encoding: H.264
        • Audio decoding: AAC, MP3, MPEG 1 Part 1/2, Speex, G.711 (mu-law, a-law)
        • Audio encoding: AAC
      • Following ingestion protocols are supported:
        • H.264: RTMP, RTSP/RTP && native RTP (IETF RFC3984, QuickTime Generic RTP Payload Format), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
        • ACC: RTMP, RTSP/RTP && native RTP (IETF RFC3640, IETF RFC3016, ISO/IEC 14496-3), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
        • MP3: RTMP, RTSP/RTP && native RTP (IETF RFC2250), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
        • MPEG2: RTSP/RTP && native RTP (IETF RFC2250), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
        • MPEG1 Part 1/2: RTSP/RTP && native RTP (IETF RFC2250), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
        • MPEG4 Part 2: RTSP/RTP && native RTP (IETF RFC3106), MPEG-TS (ISO/IEC 13818-1), MPEG-TS over RTP (IETF RFC2038)
      • Rich API (better document API with clear examples for final release)
      • Considering a deeper video profile system to control lower level encoding parameters
      • Transcoding templating system for defining encoding parameters
        • StreamNameGroups feature for creating multi-bitrate groups
        • Support for looping the source stream back into encoding list so it can be part of a StreamNameGroup
      • All transcoded streams are sorted and aligned using a 750ms sort buffer
      • Support for image overlays (watermarks) with transparency
      • Support for cropping of source video frame

    • Network DVR (nDVR) (beta)
      • Single nDVR cache - any screen playback
      • Records H264 Video and either AAC or MP3 Audio
      • Playback of recorded streams via HTTP Streaming (Cupertino, San Jose, Smooth Streaming)
      • Multi-bitrate stream support (currently assumes streams as recorded are time aligned)
      • Support for pause, seek, resume
      • Rich APIs (better document API with clear examples for final release)
      • Origin Edge Support
      • Memory cache of most recent Audio and Video chunks for better performance.


    • Digital Right Management (DRM)
      • Verimatrix support for iOS streams
      • PlayReady support for smooth streaming streams
      • New low-level encryption API to enable iOS key rotation for live streams (will be documented in a later build)

    • Other features
      • New MediaList system to enable custom parsers and API for group streams for multi-bitrate delivery
      • Improved MPEG-TS ingestion (should be able to handle higher bitrate streams, more efficient)
      • Support for MP4 data event (AMF0 and AMF3) video-on-demand playback and recording
      • Support for multi-language subtitles in MP4 files for video-on-demand playback
      • Ability to specify a video on demand play start time and duration for iOS, Smooth and Flash HTTP streaming
      • Many other improvements


    Detail list of changes:
    • Added HTTP provider to take ngrp and return SMIL HTTPProviderGetMediaListAsSMIL
    • Added API to MediaList to return as SMIL
    • Fixed synchronization problem in LiveReceiver flush method
    • Improved debug logging for advance stream monitor
    • Added API to get/set forceMPEGTSOut to RTPStream API
    • Added support for setting the MPEG-TS video and audio PID and streamID
    • Added normalized transcoder logging to enable more generalized accounting
    • Added support for grabbing images from the transcoder (HTTPProvider)
    • Fixed ID3 tag generator for iOS streaming to properly encode header and footer tags in TS
    • Fixed metadata propogation problem with San Jose streaming (now use videocodecinfo to get width/height rather than metadata block)
    • Fixed small RTSP problem with interleave combined with UDP delivery
    • Added support for native RTP AAC streams that are missing the config property in the SDP data but include DTS headers
    • Fixed metadata propogation problem with San Jose streaming (now use videocodecinfo to get width/height rather than metadata block)
    • Added support for MP4 file sbtl tracks which are sent as onTextData AMF events
    • Added new example code for audio, video, data track selection in MP4 files
    • Added support for timed events in iOS streaming
    • Fixed potential string length issues with double byte characters in ID3 tags
    • Added support for HTTP and RTSP redirects
    • Added support for MPEG-TS filtering by programID and audioLanguage
    • Updated RTSP/RTP to use stream name as session name in SDP data
    • Improved log message when A/V are out of sync
    • Added onCodecInfoVideo and onCodecInfoAudio to IMediaStreamActionNotify3
    • Added support for AMF data in MP4 files both read and write
    • Added ability to add custom user HTTP headers to HTTP streaming responses
      • IHTTPStreamerSession.setUserHTTPHeader(String name, String value);
    • Added Stream property rtpAACMaxAudioGroupSize to control the number of audio packets per RTP packet
    • Added support for spaces in RTSP/RTP stream names
    • Added new amlst media list reader type for resolving media lists using application instance level API
    • Added ability to specify playStart and playDuration when streaming video on demand using HTTP streaming
      • query params playstart=[time-milliseconds] and/or playduration=[time-milliseconds]
      • IHTTPStreamerSession API setPlayStart and/or setPlayDuration
      • SMIL file using <video> tag property begin (play start in seconds) and dur (play duration in seconds)
      • MediaListRendition API setPlayStart and/or setPlayDuration
    • Modified HTTP streaming system to create a phantom HTTP session before calling resolve play alias (phantom session will be populated based on underlying HTTP request)
    • Enhanced HTTP session base to now include all HTTP header information from underlying HTTP request
    • Added following methods to IHTTPStreamerSession
      • public Map<String, String> getHTTPHeaderMap();
      • public String getHTTPHeader(String name);
      • public int getHTTPIntHeader(String name);
      • public Set<String> getHTTPHeaderNames();
    • Added support for MPEG-TS streaming carrying MPEG2 where each logical PES packet includes an entire GOP
    • Fixed MPEG-TS parser to properly handle program maps broken over multiple segments
    • Fixed MPEG-TS parser to properly handle multiple program maps in a single TS stream
    • Enhanced metadata processing for HTTP streaming (width, height and codec information)
    • Added new util method getRepeaterOriginURLs() using logic found in mapMediaCasterName()
    • Fixed overall width and height f4m information for San Jose multibitrate DVR streaming. Overall width and height is now maximum of each w and h
    • Added toString to LiveStreamPacketizerList Guard against NPE in LiveStreamPacketizerBase.getContextStr
    • Added new CipherSuites and Protocols elements to SSLConfig in conf/VHost.xml
    • Fixed problem with GMT dates not using GMT timezone
    • Fixed problem with multicast TTL values correctly propogating to multicast transport layer
    • Turned on OriginalTimecodes flag for live stream repeater streams
    • Changed NetConnection response AMF object id from 4 to 3 to work with Red5 as RTMP origin
    • Added sent/received packet count to unbind statement for UDP/multicast streaming
    • Fixed RTSP/RTP CSeq parsing issue (trim value before converting to integer)