Results 1 to 4 of 4

Thread: Pass-Thru Transrate for Bitrate

  1. #1

    Default Pass-Thru Transrate for Bitrate

    Hi there. We're using the Transcoder to make 3 different versions of the stream, and I wanted to check our settings to make sure we're doing it correctly.

    We have one encode that does a match-source for the dimensions, and I've set a 2000kbps bitrate on it. The reason was so that it would allow high quality streams to use up to 2000kbps, and lower quality streams would only use the bandwidth they need. My assumption is that bitrate setting is a maximum, based on how it works. Is this correct?

    Also, we'd like to limit them to 1280x720 as a size, but there doesn't appear to be a way to do that - it's either forcing it to a width or height, or passing through untouched. Is there a way to only scale down, but not scale up?

    Here is our current transrate.xml file:
    <!-- 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>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>xcoded</Name>
    				<StreamName>mp4:${SourceStreamName}_xcoded</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<Bitrate>2000000</Bitrate>
    					<Profile>baseline</Profile>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
    						<FitMode>match-source</FitMode>
    						<!-- Width>1280</Width>
    						<Height>720</Height -->
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<KeyFrameInterval>
    						<FollowSource>true</FollowSource>
    							<Interval>30</Interval>
    					</KeyFrameInterval>
    					
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>AAC</Codec>
    					<Bitrate>48000</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>360p</Name>
    				<StreamName>mp4:${SourceStreamName}_360p</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>640</Width>
    						<Height>360</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<Profile>baseline</Profile>
    					<Bitrate>500000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>30</Interval>
    					</KeyFrameInterval>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>AAC</Codec>
    					<Bitrate>48000</Bitrate>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>audio</Name>
    				<StreamName>mp4:${SourceStreamName}_audio</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>Disable</Codec>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>AAC</Codec>
    					<Bitrate>48000</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    		</Encodes>
    		<Decode>
    			<Video>
    				<Deinterlace>false</Deinterlace>
    				<Parameters>
    				</Parameters>
    			</Video>
    			<Properties>
    			</Properties>
    		</Decode>
    		<StreamNameGroups>
    			<!-- Note: Play stream using stream name ngrp:[stream-name] -->
    			<StreamNameGroup>
    				<Name>${SourceStreamName}_all</Name>
    				<Members>
    					<Member>
    						<EncodeName>xcoded</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>360p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    		</StreamNameGroups>
    		<Properties>
    			<Property>
    				<Name>sourceStreamFrameRate</Name>
    				<Value>30</Value>
    				<Type>Double</Type>
    			</Property>
    		</Properties>
    	</Transcode>
    </Root>
    Thanks,
    Micah

  2. #2
    Join Date
    Jul 2012
    Posts
    299

    Default

    Micah,

    Setting a bitrate when PassThru is selected will not have any effect on the encode bitrate. The Transcoder will simply pass the data through in the same state that it was ingested. You will need to manage this setting when the stream is encoded or use a different Video/Codec setting.

    These are the Video/FrameSize settings that can be used with the Transcoder template:

    • letterbox. Maintains the aspect ratio of the source video and scales to fit the destination frame size with black bars to fill empty space.
    • fit-width. Adjusts the height to fit the specified width while maintaining the incoming aspect ratio.
    • fit-height. Adjusts the width to fit the specified height while maintaining the incoming aspect ratio.
    • crop. Scales and crops the source video to fit the destination frame size while maintaining the incoming aspect ratio.
    • stretch. Stretches the video to the fit the specified width and height.
    • match-source. Uses the same frame width and height as the source video.


    Experiment with this settings until you identify the specification and quality that you require.

    References:



    -Tim

  3. #3

    Default

    I wrote Pass-Thru in the title of the post when I meant "match-source". We are transcoding it, so the way I understand it, the bitrate does affect it in this case.

    Of the Video/FrameSize options you mentioned, do any of those allow you to fit-height only if the height is higher than the given height? That's essentially what we'd like, but we're not sure that's possible.

  4. #4

    Default

    Hi,

    It isn't possible from the template to do something like that. You would have to use a custom module for that which would make the adjustments based on your criteria.

    In the Wowza api documentation, take a look at the ILiveStreamTranscoderActionNotify interface.

    Roger.

Similar Threads

  1. Transrate audio only
    By thomasba in forum AddOn: Transcoder
    Replies: 1
    Last Post: 01-15-2014, 07:53 AM
  2. Replies: 5
    Last Post: 09-08-2013, 06:03 PM
  3. I Need to transrate only one of my two rtmp Streams
    By themenace in forum AddOn: Transcoder
    Replies: 3
    Last Post: 11-27-2012, 04:02 PM
  4. Transrate Questions
    By TripSmarter.Com in forum AddOn: Transcoder
    Replies: 5
    Last Post: 02-02-2012, 12:22 PM
  5. AAC Audio only transrate
    By magpar in forum AddOn: Transcoder
    Replies: 1
    Last Post: 01-11-2012, 02:14 PM

Posting Permissions

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