Adaptive bitrate streaming with Stream Name issue

Hello,

I’m trying to perform Adaptive bitrate streaming with Stream Name Groups (HLS) with url like http://[wowza-ip-address]:1935/app/ngrp:myStream_all/playlist.m3u8

In the Wowza streaming engine manager, in my application > Incoming streams, I can see the incoming stream :

In transrate.xml, StreamNameGroups are defined as follow :

                <StreamNameGroups>
			<!-- Note: Play stream using stream name ngrp:[stream-name] -->
			<StreamNameGroup>
				<Name>all</Name>
				<StreamName>${SourceStreamName}_all</StreamName>
				<Members>
					<Member>
						<MemberName>720p</MemberName>
						<EncodeName>720p</EncodeName>
						<MediaListRendition>
							<WowzaVideoOnly>false</WowzaVideoOnly>
							<WowzaAudioOnly>false</WowzaAudioOnly>
						</MediaListRendition>
					</Member>
					<Member>
						<MemberName>360p</MemberName>
						<EncodeName>360p</EncodeName>
						<MediaListRendition>
							<WowzaVideoOnly>false</WowzaVideoOnly>
							<WowzaAudioOnly>false</WowzaAudioOnly>
						</MediaListRendition>
					</Member>
				</Members>
				<Description></Description>
			</StreamNameGroup>
			<StreamNameGroup>
				<Name>mobile</Name>
				<StreamName>${SourceStreamName}_mobile</StreamName>
				<Members>
					<Member>
						<MemberName>240p</MemberName>
						<EncodeName>240p</EncodeName>
					</Member>
					<Member>
						<MemberName>160p</MemberName>
						<EncodeName>160p</EncodeName>
					</Member>
				</Members>
			</StreamNameGroup>
		</StreamNameGroups>

And in Application.xml, Streams are defined as follow

               <Streams>
			<!--StreamType>default</StreamType-->
			<StreamType>live</StreamType>
			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content/w/${com.wowza.wms.context.ApplicationInstance}</StorageDir>
			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, mpegdashstreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
			<LiveStreamPacketizers>cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer</LiveStreamPacketizers>
			<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
			<Properties>
				<Property>
					<Name>versionFile</Name>
					<Value>false</Value>
					<Type>Boolean</Type>
				</Property>
				<Property>
					<Name>appendFile</Name>
					<Value>true</Value>
					<Type>Boolean</Type>
				</Property>
			</Properties>
		</Streams>

when I try to retrieve the m3u8, strange things happen:

wget http://wowza-ip/app/17983/ngrp:stream_all/playlist.m3u8 => returns a 404

whereas

wget http://wowza-ip/app/17983/ngrp:stream_720p/playlist.m3u8 gives

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1126731,CODECS="avc1.100.31,mp4a.40.2",RESOLUTION=960x540
chunklist_w1590244362.m3u8

and wget http://wowza-ip/myapp/17983/ngrp:whatever/playlist.m3u8 gives

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1126731,CODECS="avc1.100.31,mp4a.40.2",RESOLUTION=960x540
chunklist_w505244174.m3u8

So I can’t really figure out the logic behind this, any help would be greatly appreciated.

Thank you.

Very strange, after doing some more tests, here is what I observed :

Depending on the input stream (delivered by the same encoder (OBS) with same configuration), http://wowza-ip/app/xxxxx/ngrp:stream_all/playlist.m3u8 sometimes returns a 404 and sometimes returns a working adaptative bitrate HLS stream…

Could this have to do with network availability or something like this ? Are there any “Cupertino Streaming Packetizer” properties to modify to avoid this ?

Thank you for your help.