We are on Wowza Media Server 3 Monthly Edition 3.0.4 build1127, and get this error in the log file when any attempt is made to stream ngrp urls from iOS. The odd thing is this exact server and configuration worked fine for weeks. We were getting no video, just audio from iOS and restarted Wowza, and this problem has shown up, and now we cannot stream at all to iOS. This has happened before on other servers, and we ended up switching to a smil file for multi-bit rate iOS streaming. Still, it seems odd that nothing on the server changed but this error has shown up suddenly.
Here is the transrate.xml file we’re using, I can provide other configuration if necessary.
<Root>
<Transcode>
<Encodes>
<!-- Example Encode block for source, not required unless Member of StreamNameGroup. -->
<Encode>
<Enable>false</Enable>
<Name>source</Name>
<StreamName>mp4:${SourceStreamName}_source</StreamName>
<Video>
<!-- H.264, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceVideoBitrate}</Bitrate>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
</Audio>
<Properties>
</Properties>
</Encode>
<!-- Setup for 720p, high bandwith, main profile for desktop or set-top box -->
<Encode>
<Enable>true</Enable>
<Name>high</Name>
<StreamName>mp4:${SourceStreamName}_640x480_640</StreamName>
<Video>
<!-- H.264, PassThru -->
<Codec>H.264</Codec>
<!-- default, CUDA, QuickSync -->
<Transcoder>default</Transcoder>
<FrameSize>
<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
<FitMode>fit-height</FitMode>
<Width>640</Width>
<Height>480</Height>
<!-- <Crop>0,0,0,0</Crop> -->
<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
</FrameSize>
<Profile>main</Profile>
<Bitrate>640000</Bitrate>
<KeyFrameInterval>
<FollowSource>true</FollowSource>
<Interval>60</Interval>
</KeyFrameInterval>
<Overlays>
<Overlay>
<Enable>false</Enable>
<Index>0</Index>
<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
<Opacity>100</Opacity>
<Location>
<X>5</X>
<Y>5</Y>
<Width>${ImageWidth}</Width>
<Height>${ImageHeight}</Height>
<!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
<Align>left,top</Align>
</Location>
</Overlay>
</Overlays>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
</Audio>
<Properties>
</Properties>
</Encode>
<!-- Setup for 360p, high bandwith, main profile for desktop -->
<Encode>
<Enable>true</Enable>
<Name>medium</Name>
<StreamName>mp4:${SourceStreamName}_416x234_300</StreamName>
<Video>
<!-- H.264, PassThru -->
<Codec>H.264</Codec>
<!-- default, CUDA, QuickSync -->
<Transcoder>default</Transcoder>
<FrameSize>
<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
<FitMode>fit-height</FitMode>
<Width>416</Width>
<Height>234</Height>
<!-- <Crop>0,0,0,0</Crop> -->
<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
</FrameSize>
<Profile>main</Profile>
<Bitrate>300000</Bitrate>
<KeyFrameInterval>
<FollowSource>true</FollowSource>
<Interval>60</Interval>
</KeyFrameInterval>
<Overlays>
<Overlay>
<Enable>false</Enable>
<Index>0</Index>
<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
<Opacity>100</Opacity>
<Location>
<X>5</X>
<Y>5</Y>
<Width>${ImageWidth}</Width>
<Height>${ImageHeight}</Height>
<!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
<Align>left,top</Align>
</Location>
</Overlay>
</Overlays>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
</Audio>
<Properties>
</Properties>
</Encode>
<!-- Setup for 240p, medium bandwidth, baseline profile -->
<Encode>
<Enable>false</Enable>
<Name>240p</Name>
<StreamName>mp4:${SourceStreamName}_240p</StreamName>
<Video>
<!-- H.264, PassThru -->
<Codec>H.264</Codec>
<!-- default, CUDA, QuickSync -->
<Transcoder>default</Transcoder>
<FrameSize>
<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
<FitMode>fit-height</FitMode>
<Width>360</Width>
<Height>240</Height>
<!-- <Crop>0,0,0,0</Crop> -->
<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
</FrameSize>
<Profile>baseline</Profile>
<Bitrate>350000</Bitrate>
<KeyFrameInterval>
<FollowSource>true</FollowSource>
<Interval>60</Interval>
</KeyFrameInterval>
<Overlays>
<Overlay>
<Enable>false</Enable>
<Index>0</Index>
<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
<Opacity>100</Opacity>
<Location>
<X>5</X>
<Y>5</Y>
<Width>${ImageWidth}</Width>
<Height>${ImageHeight}</Height>
<!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
<Align>left,top</Align>
</Location>
</Overlay>
</Overlays>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
</Audio>
<Properties>
</Properties>
</Encode>
<!-- Setup for 160p, low bandwith, baseline profile for 3G mobile devices such as iOS, Android, Blackberry -->
<Encode>
<Enable>true</Enable>
<Name>low</Name>
<StreamName>mp4:${SourceStreamName}_320x180_150</StreamName>
<Video>
<!-- H.264, PassThru -->
<Codec>H.264</Codec>
<!-- default, CUDA, QuickSync -->
<Transcoder>default</Transcoder>
<FrameSize>
<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
<FitMode>fit-height</FitMode>
<Width>320</Width>
<Height>180</Height>
<!-- <Crop>0,0,0,0</Crop> -->
<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
</FrameSize>
<Profile>baseline</Profile>
<Bitrate>150000</Bitrate>
<KeyFrameInterval>
<FollowSource>true</FollowSource>
<Interval>60</Interval>
</KeyFrameInterval>
<Overlays>
<Overlay>
<Enable>false</Enable>
<Index>0</Index>
<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
<Opacity>100</Opacity>
<Location>
<X>5</X>
<Y>5</Y>
<Width>${ImageWidth}</Width>
<Height>${ImageHeight}</Height>
<!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
<Align>left,top</Align>
</Location>
</Overlay>
</Overlays>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
</Audio>
<Properties>
</Properties>
</Encode>
</Encodes>
<Decode>
<Video>
<Deinterlace>false</Deinterlace>
<Overlays>
<Overlay>
<Enable>false</Enable>
<Index>0</Index>
<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
<Opacity>100</Opacity>
<Location>
<X>5</X>
<Y>5</Y>
<Width>${ImageWidth}</Width>
<Height>${ImageHeight}</Height>
<!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
<Align>left,top</Align>
</Location>
</Overlay>
</Overlays>
<Parameters>
</Parameters>
</Video>
<Properties>
</Properties>
</Decode>
<StreamNameGroups>
<!-- Note: Play stream using stream name ngrp:[stream-name] -->
<StreamNameGroup>
<Name>${SourceStreamName}_all</Name>
<Members>
<Member>
<EncodeName>low</EncodeName>
</Member>
<Member>
<EncodeName>medium</EncodeName>
</Member>
<Member>
<EncodeName>high</EncodeName>
</Member>
</Members>
</StreamNameGroup>
<StreamNameGroup>
<Name>${SourceStreamName}_mobile</Name>
<Members>
<Member>
<EncodeName>240p</EncodeName>
</Member>
<!--<Member>
<EncodeName>160p</EncodeName>
</Member>-->
</Members>
</StreamNameGroup>
</StreamNameGroups>
<Properties>
</Properties>
</Transcode>
</Root>