Set up adaptive-bitrate streaming with the Wowza Streaming Engine MediaStreamNameGroups module

MediaStreamNameGroups are a way to group streams together using a SMIL file. The streams are started using the SMIL with Stream Manager, /conf/StartupStreams.xml or MediaCaster with the Java API. This assumes that you're using a native-RTP or MPEG-TS encoder that can send properly keyframe-aligned streams (all keyframes occur at exactly the same timecode across all bitrate renditions of the stream).

You can use this module along with ModuleMediaCasterStreamMonitorAdvanced module to monitor streams through a set of configuration properties. If any of the streams become unhealthy all the streams in a given MediaStreamNameGroup will be re-started.
  1. Create a SMIL file that includes all the streams that you wish to be considered part of a MediaStreamNameGroup. A single application can have several MediaStreamNameGroups. The SMIL file doesn't need to be used for stream playback. Be sure to include all streams in the group that you wish to keep synchronized. For example, if you have three streams associated with a Silverlight smooth stream and three streams associated with an Apple HLS multi-bitrate stream and one of the streams is associated with both the Silverlight and the HLS stream (total of five unique streams) then create a SMIL file that includes all five unique streams.

    Here is an example SMIL file (for this example the SMIL file is located at [install-dir]/content/stream.smil):

    <smil>
    	<head>
    	</head>
    	<body>
    		<switch>
    			<video src="stream_hi.stream" system-bitrate="628000"/>
    			<video src="stream_lo.stream" system-bitrate="478000"/>
    		</switch>
    	</body>
    </smil>
  2. Using either the Stream Manager, /conf/StartupStreams.xml, or MediaCaster with the Java API, start the stream with MediaCaster type rtp using the stream name smil:[smil-file-name]. For example, to start the stream group above use the stream name smil:stream.smil. After starting, you can double check to be sure the stream is started as a group by viewing the streams in the Stream Manager. Stream groups will be listed under each of the individual streams.