Results 1 to 4 of 4

Thread: WOWZA 3.5 Origin-Edge Transcoding Problems

  1. #1
    Join Date
    Aug 2011
    Posts
    7

    Default WOWZA 3.5 Origin-Edge Transcoding Problems

    We have the following configuration

    1 X Origin Server Running Wowza 3.5, Windows 2008 R2, and the Load balancer
    4 X Edge Servers Running Wowza 3.5, 3 with Windows 2008 R2 and 1 with Windows 2003

    Setup

    Encoding Via wirecast and sending out a H264 stream with the following settings to the origin server
    1280x720, 1000Kbps Video, 64Kbps Audio, Main Profile

    The origin Server Transcodes that stream down to the following

    1280x720, 600Kbps Video, 64Kbps Audio (Pass through), Main profile
    960X540 , 300Kbps Video, 64Kbps Audio (Pass through), Basic Profile

    In our platform we use JW Player (Still on 5.9) to dynamically switch between the three bit rates and also allow people to select one.

    This is a new configuration that we have been using this past week since Saturday. We have been averaging 8 hours of streaming today. Between 2 and 4 concurrent rooms are being streamed from on site so 2 - 4 incoming 1064 streams, that are each transcoded down. During the streaming we have been averaging 800 users with a peak of 1000 users.

    Now onto the issues.

    1. During the week probably 15 to 20 times the 1064 stream will freeze. The audio will continue to play but the 1064 video stream will be frozen. Refreshing the player does not fix it. When it happens I have noted the following.

    A. I can change to 664 or 364 in the player and those streams are fine.
    B. If I connect directly to the 1064 Stream on the Origin server the stream is fine no freezes, so it appears the freezing is only happening when it gets sent to the edge servers.
    C. If it happens it happens on all edge servers
    D. It has only ever happened to the 1064 stream which is the pass through stream. It has never happened to the transcoded 664 and 364 streams.
    E. The fix is to Stop the Broadcast and Start it again. While this does fix the problem it of course disconnects all 800 people from the stream even if they were on one of the lower bit rates. We do have code in the player to auto reconnect them so not a huge deal but still we would off course rather not have to disrupt the broadcast at all or have the best quality bit rate freeze.

    2. Issue 2 - We have a fallback for IOS devices built into JW Player. The Stream for that fallback is the 364 stream at the Origin Server. Less then 5% of the viewers use an Ipad so we did not bother with configuring the Edge servers for IPAD delivery and rather just have all IOS delivery done through the Origin Server. Several times during this week the IOS stream stops working. When it stops working the 364 stream is still working on the PC through JW Player and Flash. But the IOS version is not. I have noticed the following trends.
    A. Typically the IOS stream has gone down after we have had to cycle the broadcast due to the 1064 Freezing bug mentioned above. Before cycling it seems like the IOS stream is fine. After Cycling the 1064 stream is fine but the IOS stream no longer works.
    B. If we cycle yet another time the broadcast at wirecast then the IOS stream will start to work again.


    Please let me know what other information about our configuration, settings, hardware etc that I should post so we can find a resolution to this.

    James Newman

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    James,

    Try making a transcode rendtion that is same bitrate as the source and use that instead. That will ensure that each is key frame aligned.

    Richard

  3. #3
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    So you would exclude the source from StreamNameGroup and use the high bitrate rendition instead

    Richard

  4. #4
    Join Date
    Aug 2011
    Posts
    7

    Default

    Richard

    Thank you for the suggestion however here is the issue.

    When the problem happens I can view the 1064 stream at the origin server by playing the stream directly using Adobes player here http://www.osmf.org/configurator/fmp/#
    Both the audio and video are fine at the origin.

    If I try to play that same 1064 stream from the edge server I get audio only, and the video will be frozen on one frame. If I change to view the 664 stream or the 364 stream at the edge they play fine.

    If I stop the broadcast via wirecast and restart it. Then the stream plays fine at the edge for 1064.

    I did have the same though as you about the transrate.xml. Please note however that we currently are not using the StreamNameGroups because we are not loading into JW Player via smil files.

    Here is the latest Transrate file I used on Friday when the freeze last happened.

    <!-- Example template for transrate, producing four new streams at different bitrates. Resultant streams can be played back individually or as a group. source, 360p and 160p encode blocks are enabled through the Enable property, other examples are not enabled. Add additional encode blocks to your template as needed. -->
    <Root>
    	<Transcode>
    		<Encodes>
    			<!-- Example Encode block for source, not required unless Member of StreamNameGroup. --> 
    			<Encode>
    				<Enable>true</Enable>
    				<Name>1064</Name>
    				<StreamName>mp4:${SourceStreamName}_1064</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceVideoBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    				<!-- Setup for 1280x720, medium bandwith, main profile for desktop or set-top box -->
    			<Encode>
    				<Enable>true</Enable>
    				<Name>664</Name>
    				<StreamName>mp4:${SourceStreamName}_664</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
    						<FitMode>fit-height</FitMode>
    						<Width>1280</Width>
    						<Height>720</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<Profile>main</Profile>
    					<Bitrate>600000</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, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 960x540, high bandwith, baseline profile for tablets -->
    			<Encode>
    				<Enable>true</Enable>
    				<Name>364</Name>
    				<StreamName>mp4:${SourceStreamName}_364</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
    						<FitMode>fit-height</FitMode>
    						<Width>960</Width>
    						<Height>540</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<Profile>baseline</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, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 640x480, baseline profile -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>264</Name>
    				<StreamName>mp4:${SourceStreamName}_264</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<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>200000</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, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 160p, low bandwith, baseline profile for 3G mobile devices such as iOS, Android, Blackberry -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>160p</Name>
    				<StreamName>mp4:${SourceStreamName}_160p</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
    						<FitMode>fit-height</FitMode>
    						<Width>284</Width>
    						<Height>160</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<Profile>baseline</Profile>
    					<Bitrate>200000</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, Disable -->
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</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>1064</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>664</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>364</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    			<StreamNameGroup>
    				<Name>${SourceStreamName}_mobile</Name>
    				<Members>
    					<Member>
    						<EncodeName>664</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>364</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    		</StreamNameGroups>
    		<Properties>
    		</Properties>
    	</Transcode>
    </Root>

Similar Threads

  1. Origin To Edge Transcoding Setup Help Needed
    By ImAStreamer in forum AddOn: Transcoder
    Replies: 8
    Last Post: 09-12-2013, 12:37 PM
  2. Replies: 0
    Last Post: 02-22-2013, 02:42 AM
  3. Transcoding on Edge or Origin? Does it Matter?
    By brad12 in forum AddOn: Transcoder
    Replies: 3
    Last Post: 08-10-2012, 11:12 AM
  4. Transcoding in origin/edge configuration
    By german in forum AddOn: Transcoder
    Replies: 11
    Last Post: 11-17-2011, 10:34 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •