Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Webcam recording using html5 <video>?

  1. #1
    Join Date
    Aug 2012
    Posts
    18

    Default Webcam recording using html5 <video>?

    I followed tutorial setting up webcam recording using flash and it all works smooth - any tips on how to set up the same functionality using html5 <video> tag and javascript?

    Thanks.

  2. #2
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi,
    Please can you be more specific and give a more detailed description of what you're trying to achieve.
    I'm not exactly sure what you're trying to achieve so can't give advice on how to do it.

    Jason

  3. #3
    Join Date
    Aug 2012
    Posts
    18

    Default

    Hi, I need to record users webcam with audio for 10 seconds and save it on the server. I have successfully made it possible with flash. Is there a way to achieve this using only html 5 and wowza media server?

    Thanks for speedy reply.

  4. #4
    Join Date
    Aug 2012
    Posts
    18

    Default

    Another quick question - Im saving webcam recorded video on the server, in my Application.xml, I have changed the file to mp4. Now when I try to open this file in the firefox - it says that the file is currupt. How to properly encode mp4 so that it plays in html5 <video> on browsers that support mp4 file type?

  5. #5
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi,
    If you're using the StreamType "live-record" the file will be saved as a .flv file by default, unless the encode specifies the stream name with the "mp4:" prefix.
    You can record a stream being published to Wowza as a mp4 file using the LiveStreamRecord Module found here,
    LiveStreamRecord

    Jason

  6. #6
    Join Date
    Aug 2012
    Posts
    18

    Default

    HI, Jason at the moment I'm using webcamrecording application - here is my Application.xml:
    <Root>
    	<Application>
    		<!-- Uncomment to set application level timeout values
    		<ApplicationTimeout>60000</ApplicationTimeout>
    		<PingTimeout>12000</PingTimeout>
    		<ValidationFrequency>8000</ValidationFrequency>
    		<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
    		<MaximumSetBufferTime>60000</MaximumSetBufferTime>
    		<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
    		-->
    		<Connections>
    			<AutoAccept>true</AutoAccept>
    			<AllowDomains></AllowDomains>
    		</Connections>
    		<!--
    			StorageDir path variables
    			
    			${com.wowza.wms.AppHome} - Application home directory
    			${com.wowza.wms.ConfigHome} - Configuration home directory
    			${com.wowza.wms.context.VHost} - Virtual host name
    			${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
    			${com.wowza.wms.context.Application} - Application name
    			${com.wowza.wms.context.ApplicationInstance} - Application instance name
    			
    		-->
    		<Streams>
    			<StreamType>record</StreamType>
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
    			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
    			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
    			<LiveStreamPacketizers></LiveStreamPacketizers>
    			<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
    			<Properties>
    			</Properties>
    		</Streams>
    		<Transcoder>
    			<!-- To turn on transcoder set to: transcoder -->
    			<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    			<!-- [templatename].xml or ${SourceStreamName}.xml -->
    			<Templates>transrate.xml,audioonly.xml</Templates>
    			<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    			<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    			<Properties>
    			</Properties>
    		</Transcoder>
    
    		<DVR>
    			<!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
    			<!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
    			<!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
    
    			<!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
    			
    			<!-- To turn on DVR recording set Recorders to dvrrecorder.  This works with dvrstreamingpacketizer  -->
    			<Recorders></Recorders>
    
    			<!-- As a single server or as an origin, set the Store to dvrfilestorage-->
    			<!-- edges should have this empty -->
    			<Store></Store>
    
    			<!--  Window Duration is length of live DVR window in seconds.  0 means the window is never trimmed. -->
    			<WindowDuration>0</WindowDuration>
    
    			<!-- Storage Directory is top level location where dvr is stored.  e.g. c:/temp/dvr -->
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
    
    			<!-- valid ArchiveStrategy values are append, version, delete -->
    			<ArchiveStrategy>append</ArchiveStrategy>
    
    			<!-- Properties for DVR -->
    			<Properties>
    			</Properties>
    		</DVR>
    
    		<TimedText>
    			<!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt,  vodcaptionprovidersrt, vodcaptionproviderscc -->
    			<VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
    			
    			<!-- Properties for TimedText -->
    			<Properties>
    			</Properties>		
    		</TimedText>
    		
    		<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, dvrchunkstreaming -->
    		<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
    		<SharedObjects>
    			<StorageDir></StorageDir>
    		</SharedObjects>
    		<Client>
    			<IdleFrequency>-1</IdleFrequency>
    			<Access>
    				<StreamReadAccess>*</StreamReadAccess>
    				<StreamWriteAccess>*</StreamWriteAccess>
    				<StreamAudioSampleAccess></StreamAudioSampleAccess>
    				<StreamVideoSampleAccess></StreamVideoSampleAccess>
    				<SharedObjectReadAccess>*</SharedObjectReadAccess>
    				<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
    			</Access>
    		</Client>
    		<RTP>
    			<!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
    			<Authentication>
    				<PublishMethod>digest</PublishMethod>
    				<PlayMethod>none</PlayMethod>
    			</Authentication>
    			<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
    			<AVSyncMethod>senderreport</AVSyncMethod>
    			<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
    			<IdleFrequency>75</IdleFrequency>
    			<RTSPSessionTimeout>90000</RTSPSessionTimeout>
    			<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
    			<RTSPBindIpAddress></RTSPBindIpAddress>
    			<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
    			<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
    			<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
    			<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
    			<Properties>
    			</Properties>
    		</RTP>
    		<MediaCaster>
    			<RTP>
    				<RTSP>
    					<!-- udp, interleave -->
    					<RTPTransportMode>interleave</RTPTransportMode>
    				</RTSP>
    			</RTP>
    			<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
    			<Properties>
    			</Properties>
    		</MediaCaster>
    		<MediaReader>
    			<!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
    			<Properties>
    			</Properties>
    		</MediaReader>
    		<MediaWriter>
    			<!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
    			<Properties>
    			</Properties>
    		</MediaWriter>
    		<LiveStreamPacketizer>
    			<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
    			<Properties>
    			</Properties>
    		</LiveStreamPacketizer>
    		<HTTPStreamer>
    			<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
    			<Properties>
    			</Properties>
    		</HTTPStreamer>
    		<Repeater>
    			<OriginURL></OriginURL>
    			<QueryString><![CDATA[]]></QueryString>
    		</Repeater> 
    		<Modules>
    			<Module>
    				<Name>base</Name>
    				<Description>Base</Description>
    				<Class>com.wowza.wms.module.ModuleCore</Class>
    			</Module>
    			<Module>
    				<Name>logging</Name>
    				<Description>Client Logging</Description>
    				<Class>com.wowza.wms.module.ModuleClientLogging</Class>
    			</Module>
    			<Module>
    				<Name>flvplayback</Name>
    				<Description>FLVPlayback</Description>
    				<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
    			</Module>
    			<Module>
    				<Name>ModuleMediaWriterFileMover</Name>
    				<Description>ModuleMediaWriterFileMover</Description>
    				<Class>com.wowza.wms.module.ModuleMediaWriterFileMover</Class>
    			</Module> 
    		</Modules>
    		<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
    		<Properties>
    			<Property>
    				<Name>fileMoverDestinationPath</Name>
    				<Value>/var/www/rasens/video/</Value>
    				<!--<Value>${com.wowza.wms.context.VHostConfigHome}/content/acopy</Value>-->
    					
    			</Property>
    			<Property>
    				<Name>fileMoverDeleteOriginal</Name>
    				<Value>false</Value>
    				<Type>Boolean</Type>
    			</Property>
    			<Property>
    				<Name>fileMoverVersionFile</Name>
    				<Value>true</Value>
    				<Type>Boolean</Type>
    			</Property>
    			<!-- Value should be: mp4 or flv -->
    
    			<Property>
    				<Name>fileMoverFileExtension</Name>
    				<Value>mp4</Value>
    				<Type>String</Type>
    			</Property>
    
    		</Properties>
    	</Application>
    </Root>
    I have activated transcoder with following templates audioonly.xml, transcode.xml, transrate.xml (I guess I wouldn't need to load all of those - maybe just audioonly.xml), which I asssume are loaded here in my Application.xml:
    <Transcoder>
            <!-- To turn on transcoder set to: transcoder -->
    	<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    	<!-- [templatename].xml or ${SourceStreamName}.xml -->
    	<Templates>transrate.xml,audioonly.xml</Templates>
    	<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    	<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    	<Properties>
    	</Properties>
    </Transcoder>
    These files - audioonly.xml, transcode.xml, transrate.xml are located at /transcoder/templates/. In all of them I have set up audio codec to be AAC and video codec to be H.264, but still my webcam recorded video has audio codec SPEEX, which I have used in my flash client application to encode microphone sound. So the video sound is not being encoded with transcoder. Here are all transcoder files:

    audioonly.xml:
    <!-- Example template for audio only transcoding to AAC from any support audio codec -->
    <Root>
    	<Transcode>
    		<Encodes>
    			<!-- Example Encode block for source, not required unless Member of StreamNameGroup. --> 
    			<Encode>
    				<Enable>true</Enable>
    				<Name>aac</Name>
    				<StreamName>mp4:${SourceStreamName}_aac</StreamName>
    				<Video>
    					<!-- H.264, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<Bitrate>${SourceVideoBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>AAC</Codec>
    					<Bitrate>48000</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    		</Encodes>
    		<Decode>
    		</Decode>
    		<StreamNameGroups>
    		</StreamNameGroups>
    		<Properties>
    		</Properties>
    	</Transcode>
    </Root>

    transcode.xml:
    <!-- Example template for transcoding, producing four new streams encoded to H.264 video and AAC audio at different bitrates. Resultant streams can be played back individually or as a group. The 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>
    			<!-- Setup for 720p, high bandwith, main profile for desktop or set-top box -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>720p</Name>
    				<StreamName>mp4:${SourceStreamName}_720p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>main</Profile>
    					<Bitrate>1300000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>96000</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 360p, high bandwith, main profile for desktop -->
    			<Encode>
    				<Enable>true</Enable>
    				<Name>360p</Name>
    				<StreamName>mp4:${SourceStreamName}_360p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>main</Profile>
    					<Bitrate>850000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>96000</Bitrate>
    					<Parameters>
    					</Parameters>
    				</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, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>baseline</Profile>
    					<Bitrate>350000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>96000</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>true</Enable>
    				<Name>160p</Name>
    				<StreamName>mp4:${SourceStreamName}_160p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>baseline</Profile>
    					<Bitrate>200000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>96000</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for H.263, low bandwith, streaming to older mobile devices -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>h263</Name>
    				<StreamName>mp4:${SourceStreamName}_h263</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.263</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
    						<FitMode>letterbox</FitMode>
    						<Width>176</Width>
    						<Height>144</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<!-- baseline, main, high -->
    					<Profile>baseline</Profile>
    					<Bitrate>150000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>64000</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>
    						<CheckForUpdates>false</CheckForUpdates>
    						<Opacity>100</Opacity>
    						<Location>
    							<X>4</X>
    							<Y>4</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>all</Name>
    				<StreamName>${SourceStreamName}_all</StreamName>
    				<Members>
    					<Member>
    						<EncodeName>720p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>360p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>240p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>160p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    			<StreamNameGroup>
    				<Name>mobile</Name>
    				<StreamName>${SourceStreamName}_mobile</StreamName>
    				<Members>
    					<Member>
    						<EncodeName>240p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>160p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    		</StreamNameGroups>
    		<Properties>
    		</Properties>
    	</Transcode>
    </Root>

    transrate.xml:

    <!-- 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>source</Name>
    				<StreamName>mp4:${SourceStreamName}_source</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<Bitrate>${SourceVideoBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Video>
    				<Audio>
    					<!-- AAC, PassThru, Disable -->
    					<Codec>AAC</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 720p, high bandwith, main profile for desktop or set-top box -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>720p</Name>
    				<StreamName>mp4:${SourceStreamName}_720p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>main</Profile>
    					<Bitrate>1300000</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>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for 360p, high bandwith, main profile for desktop -->
    			<Encode>
    				<Enable>true</Enable>
    				<Name>360p</Name>
    				<StreamName>mp4:${SourceStreamName}_360p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<Profile>main</Profile>
    					<Bitrate>850000</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>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</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, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<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>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</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>true</Enable>
    				<Name>160p</Name>
    				<StreamName>mp4:${SourceStreamName}_160p</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.264</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<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>
    					<!-- baseline, main, high -->
    					<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>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>${SourceAudioBitrate}</Bitrate>
    					<Parameters>
    					</Parameters>
    				</Audio>
    				<Properties>
    				</Properties>
    			</Encode>
    			<!-- Setup for H.263, low bandwith, streaming to older mobile devices -->
    			<Encode>
    				<Enable>false</Enable>
    				<Name>h263</Name>
    				<StreamName>mp4:${SourceStreamName}_h263</StreamName>
    				<Video>
    					<!-- H.264, H.263, PassThru, Disable -->
    					<Codec>H.263</Codec>
    					<!-- default, CUDA, QuickSync, NVENC -->
    					<Transcoder>default</Transcoder>
    					<GPUID>-1</GPUID>
    					<FrameSize>
    						<!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
    						<FitMode>letterbox</FitMode>
    						<Width>176</Width>
    						<Height>144</Height>
    						<!-- <Crop>0,0,0,0</Crop> -->
    						<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
    					</FrameSize>
    					<!-- baseline, main, high -->
    					<Profile>baseline</Profile>
    					<Bitrate>150000</Bitrate>
    					<KeyFrameInterval>
    						<FollowSource>false</FollowSource>
    						<Interval>60</Interval>
    					</KeyFrameInterval>
    					<Overlays>
    						<Overlay>
    							<Enable>false</Enable>
    							<Index>0</Index>
    							<ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
    							<CheckForUpdates>false</CheckForUpdates>
    							<Opacity>100</Opacity>
    							<Location>
    								<X>4</X>
    								<Y>4</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>AAC</Codec>
    					<Bitrate>64000</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>
    						<CheckForUpdates>false</CheckForUpdates>
    						<Opacity>100</Opacity>
    						<Location>
    							<X>4</X>
    							<Y>4</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>all</Name>
    				<StreamName>${SourceStreamName}_all</StreamName>
    				<Members>
    					<Member>
    						<EncodeName>source</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>720p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>360p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>240p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>160p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    			<StreamNameGroup>
    				<Name>mobile</Name>
    				<StreamName>${SourceStreamName}_mobile</StreamName>
    				<Members>
    					<Member>
    						<EncodeName>240p</EncodeName>
    					</Member>
    					<Member>
    						<EncodeName>160p</EncodeName>
    					</Member>
    				</Members>
    			</StreamNameGroup>
    		</StreamNameGroups>
    		<Properties>
    		</Properties>
    	</Transcode>
    </Root>


    Why my video audio is not encoded with AAC audio using transcoder? It seems that transcoder is not being used at all.. what am I doing wrong here? Do I understand right that - when I record my video from webcam and use transcoder - the video is being encoded with the transcoder settings so that the end mp4 file is with h.264 and AAC? I managed to get the video to be recorded as mp4 that plays on ipad , but the problem still is the sound
    Last edited by fjckls; 10-08-2013 at 01:22 AM.

  7. #7
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi,
    The Wowza transcoder is for transcoding a live stream, if you use the StreamType "live-record" you will be able to record one or multiple files from the same live source.
    If you're already using H.264 and only need to transcode the audio then the audioonly.xml template will be the correct one to use.

    Please see the transcoder tutorial for more instruction

    Jason

  8. #8
    Join Date
    Aug 2012
    Posts
    18

    Default

    Hi thank you, I'm getting to it - got it working with transcoder - now I get different videos with different settings - nice and audio is transcoded properly too. Last one - after 10 seconds of playing back recorded video very loud the bleeping sound appears and also there is a watermark on the video. Im using free demo version, is it because of that? When I purchase the full version all should be normal? Or that's some sort of bug - I mean the loud bleep sound?

    Thanks

  9. #9
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi,
    The bleeping sound is an audio watermark, the audio and video watermarks are due to you using a trial license.
    Thanks for the update, I'm glad I assist you.

    Regards,
    Jason

  10. #10
    Join Date
    Aug 2012
    Posts
    18

    Default

    Im getting this from the wowza, when Im finished with recording video - in my flash application I close netconnection: nc.close; nc = null:

    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: sanjosestreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: cupertinostreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: smoothstreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: cupertinostreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: smoothstreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: sanjosestreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: sanjosestreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: cupertinostreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611_360]: Destroy live stream packetizer: smoothstreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: cupertinostreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: smoothstreamingpacketizer
    INFO server comment - MediaStreamMap.removeLiveStreamPacketizer[webcamrecording/_definst_/rasens_1381232692611]: Destroy live stream packetizer: sanjosestreamingpacketizer

    this is part from my Application.xml:

    		<Streams>
    			<StreamType>live-record</StreamType>
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
    			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
    			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
    			<LiveStreamPacketizers>cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer</LiveStreamPacketizers>
    			<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
    			<Properties>
    			</Properties>
    		</Streams>
    		<Transcoder>
    			<!-- To turn on transcoder set to: transcoder -->
    			<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    			<!-- [templatename].xml or ${SourceStreamName}.xml -->
    			<Templates>transcode.xml</Templates>
    			<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    			<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    			<Properties>
    			</Properties>
    		</Transcoder>
    Is this something I must pay attention to or fix?

Page 1 of 2 12 LastLast

Similar Threads

  1. webcam video recording and playback issue
    By rajdeeprath in forum General Forum
    Replies: 1
    Last Post: 03-03-2014, 03:17 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
  •