I have a VOD system which I'm converting over from IIS Smooth Streaming to support Wowza too.

In my initial testing I'm finding that playback of adaptive media appears to have performance issues, or at least just behaviour I'm not used to after using IIS.

Issues are:

  • Adaptive Playback mostly seems to be using the lowest bandwidth media
  • When it does switch from bit-rate A to bit-rate B where is a very obvious rewind or judder during the switch
  • 2-3 seconds from the end of the media I get a buffer message in my player and the Wowza server reports :HTTPStreamerAdapterSmoothStreamer.service: Request timeout: 12000 (my key frames are 2 seconds)


This only occurs when I have multiple files in my SMIL file (posted below)
This occurs in both my own Silverlight player application and your example Silverlight application.
I've encoded the media using my own encode method and with expression encoder using the VOD Desktop sample pre-set posted on this site, both have the same issue.

If I have one file in my SMIL (the one with the highest bitrate), it's smooth and I get none of the issues listed above. This is must be related to the adaptive stream switch.

My Application.XML for VOD is standard apart from the content directory.

Server performance is great, I don't have any system bottlenecks I can see, besides this same server is running IIS Smooth Streaming without issue.

Example SMIL file I am creating
<smil>
	<head />
	<body>
		<switch>
			<video src="mp4:GOPR0877_1400.mp4" system-bitrate="1394482" />
			<video src="mp4:GOPR0877_1000.mp4" system-bitrate="995714" />
			<video src="mp4:GOPR0877_650.mp4" system-bitrate="645108" />
			<video src="mp4:GOPR0877_350.mp4" system-bitrate="345600" />
		</switch>
	</body>
</smil>
Example of a Wowza Manifest

<?xml version="1.0" encoding="utf-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="1" Timescale="10000000" Duration="767600000">
<StreamIndex Type="audio" Index="0" Chunks="39" QualityLevels="1" Timescale="10000000" Url="QualityLevels({bitrate})/Fragments(audio={start time})/WowzaSessions(1311121045).isma">
<QualityLevel Bitrate="125518" FourCC="AACL" SamplingRate="48000" Channels="2" BitsPerSample="16" PacketSize="4" AudioTag="255" CodecPrivateData="1190" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053125" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053125" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053125" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053125" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053334" />
<c d="20053333" />
<c d="20053333" />
<c d="20053125" />
<c d="20053334" />
<c d="5437500" />
</StreamIndex>
<StreamIndex Type="video" Chunks="37" QualityLevels="4" MaxWidth="1080" MaxHeight="608" DisplayWidth="1081" DisplayHeight="608" Timescale="10000000" Url="QualityLevels({bitrate})/Fragments(video={start time})/WowzaSessions(1311121045).ismv">
<QualityLevel Index="0" Bitrate="1394482" FourCC="H264" MaxWidth="1080" MaxHeight="608" CodecPrivateData="00000001674d401f9656022026f2fff820001ffa84000003000400000300c981800186a000055733f18e30300030d40000aae67e31c3b4244a700000000168ea5352" />
<QualityLevel Index="1" Bitrate="995714" FourCC="H264" MaxWidth="640" MaxHeight="360" CodecPrivateData="00000001674d401e965605017fcbff820002002840000003004000000c981000124f80007a123f18e302000249f0000f4247e31c3b4244a70000000168ea5352" />
<QualityLevel Index="2" Bitrate="645108" FourCC="H264" MaxWidth="476" MaxHeight="268" CodecPrivateData="00000001674d401596560f047ddffe080007fea100000300010000030032604000b7180004f58bf18e3020005b8c00027ac5f8c70ed09129c00000000168ea5352" />
<QualityLevel Index="3" Bitrate="345600" FourCC="H264" MaxWidth="320" MaxHeight="180" CodecPrivateData="00000001674d400d96560a0cfcfff82000200284000003000400000300c9808006ddc00055733f18e301000dbb8000aae67e31c3b4244a700000000168ea5352" />
<c d="1600000" />
<c d="800000" />
<c d="5600000" />
<c d="5600000" />
<c d="16800000" />
<c d="1200000" />
<c d="800000" />
<c d="4400000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="11600000" />
<c d="12800000" />
<c d="5600000" />
<c d="800000" />
<c d="21200000" />
<c d="2000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="30000000" />
<c d="16800000" />
</StreamIndex>
</SmoothStreamingMedia>

Help appreciated.