Results 1 to 3 of 3

Thread: Understanding output of transcoder

  1. #1

    Default Understanding output of transcoder

    I've got the development server installed on my EC2 instance. I've got a transrate.xml file defined like this:


    <Root>
    	<Transcode>
    		<Encodes>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>800p</Name>
    				<StreamName>mp4:${SourceStreamName}_800p</StreamName>
    				<Video>
    					<Codec>PassThru</Codec>
    					<Transcoder>default</Transcoder>
    					<FrameSize>
    						<FitMode>fit-height</FitMode>
    						<Width>512</Width>
    						<Height>288</Height>
    					</FrameSize>
    					<Profile>main</Profile>
    					<Bitrate>800000</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>
    								<Align>left,top</Align>
    							</Location>
    						</Overlay>
    					</Overlays>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>600p</Name>
    				<StreamName>mp4:${SourceStreamName}_600p</StreamName>
    				<Video>
    					<Codec>PassThru</Codec>
    					<Transcoder>default</Transcoder>
    					<FrameSize>
    						<FitMode>fit-height</FitMode>
    						<Width>512</Width>
    						<Height>288</Height>
    					</FrameSize>
    					<Profile>baseline</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>
    								<Align>left,top</Align>
    							</Location>
    						</Overlay>
    					</Overlays>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>450p</Name>
    				<StreamName>mp4:${SourceStreamName}_450p</StreamName>
    				<Video>
    					<Codec>PassThru</Codec>
    					<Transcoder>default</Transcoder>
    					<FrameSize>
    						<FitMode>fit-height</FitMode>
    						<Width>512</Width>
    						<Height>288</Height>
    					</FrameSize>
    					<Profile>baseline</Profile>
    					<Bitrate>450000</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>
    								<Align>left,top</Align>
    							</Location>
    						</Overlay>
    					</Overlays>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>250p</Name>
    				<StreamName>mp4:${SourceStreamName}_250p</StreamName>
    				<Video>
    					<Codec>PassThru</Codec>
    					<Transcoder>default</Transcoder>
    					<FrameSize>
    						<FitMode>fit-height</FitMode>
    						<Width>256</Width>
    						<Height>144</Height>
    					</FrameSize>
    					<Profile>baseline</Profile>
    					<Bitrate>250000</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>
    								<Align>left,top</Align>
    							</Location>
    						</Overlay>
    					</Overlays>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<Codec>PassThru</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<Encode>
    				<Enable>true</Enable>
    				<Name>150p</Name>
    				<StreamName>mp4:${SourceStreamName}_150p</StreamName>
    				<Video>
    					<Codec>PassThru</Codec>
    					<Transcoder>default</Transcoder>
    					<FrameSize>
    						<FitMode>fit-height</FitMode>
    						<Width>256</Width>
    						<Height>144</Height>
    					</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>
    								<Align>left,top</Align>
    							</Location>
    						</Overlay>
    					</Overlays>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<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>source</EncodeName>
    					</Member -->
    					<Member>
    						<EncodeName>800p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>600p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>450p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>250p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>150p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    			<StreamNameGroup>
    				<Name>${SourceStreamName}_mobile</Name>
    				<Members>
    					<Member>
    						<EncodeName>250p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>150p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    		</StreamNameGroups>
    		<Properties>
    		</Properties>
    	</Transcode>
    </Root>
    In conf/origin/Application.xml I've got:

    <Transcoder>
    <LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    <Templates>${SourceStreamName}.xml,transrate.xml </Templates>
    <ProfileDir>${com.wowza.wms.context.VHostConfigHom e}/transcoder/profiles</ProfileDir>
    <TemplateDir>${com.wowza.wms.context.VHostConfigHo me}/transcoder/templates</TemplateDir>
    <Properties>
    </Properties>
    </Transcoder>

    I'm pushing a stream to the instance at 512x288, 800 Kbps, H.264/AAC, using a stream name of "dan". If I understand the docs properly, the transcoder should be making streams available at lower bitrates and (some of them) frame sizes. Specifically, I should be seeing streams named dan_800p, dan_600p, dan_450p, dan_250p, and dan_150p. And indeed I am - if I go to JWPlayer's wizard page and enter the appropriate arguments I am able to watch streams at each of these stream names.

    What I don't understand, though, is that if I use rtmpdump from my linux box to capture these streams, I appear to be getting 800 Kbps each time. For example, stream dan_150p should deliver a 256x144 stream at 150 Kbps. But rtmpdump says:

    dan@dan:~$ rtmpdump --live -o /dev/null -r rtmp://107.21.230.170/origin/dan_150p
    RTMPDump v2.3
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting ...
    INFO: Connected...
    Starting Live Stream
    INFO: Metadata:
    INFO: author
    INFO: copyright
    INFO: description
    INFO: keywords
    INFO: rating
    INFO: title
    INFO: presetname Custom
    INFO: creationdate Mon Jan 9 16:47:25 2012
    INFO: videodevice Built-in iSight
    INFO: framerate 12.00
    INFO: width 512.00
    INFO: height 288.00
    INFO: videocodecid avc1
    INFO: videodatarate 800.00
    INFO: avclevel 30.00
    INFO: avcprofile 66.00
    INFO: videokeyframe_frequency1.00
    INFO: audiodevice Internal microphone
    INFO: audiosamplerate 44100.00
    INFO: audiochannels 1.00
    INFO: audioinputvolume 5.00
    INFO: audiocodecid mp4a
    INFO: audiodatarate 96.00
    INFO: trackinfo:
    36.737 kB / 0.00 sec^C
    Caught signal: 2, cleaning up, just a second...
    ERROR: RTMP_ReadPacket, failed to read RTMP packet body. len: 36878
    37.625 kB / 0.05 sec
    Download may be incomplete (downloaded about 0.00%), try resuming

    It's reporting 512x288 at 800K. Am I misunderstanding what rtmpdump is telling me, or do I have the transrate.xml file misconfigured?

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

    Default

    I think this is metadata from the source, and is not accurate for the transrated streams.

    Richard

  3. #3

    Default

    Excellent! I was hoping that would be the case. Thanks so much for the quick reply.

Similar Threads

  1. Saving Transcoder Output To Disk
    By bighenry in forum AddOn: Transcoder
    Replies: 5
    Last Post: 01-27-2014, 09:26 AM
  2. Understanding of Transcoder AddOn
    By livonovo in forum AddOn: Transcoder
    Replies: 1
    Last Post: 10-07-2013, 06:07 AM
  3. Using Transcoder Add on to Disable Audio in the output
    By manojprasath in forum AddOn: Transcoder
    Replies: 9
    Last Post: 06-28-2013, 08:23 AM
  4. Understanding the Transcoder (bitrate)
    By alan_testoni in forum AddOn: Transcoder
    Replies: 13
    Last Post: 01-02-2012, 06:31 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
  •