Results 1 to 2 of 2

Thread: Cant create Module

  1. #1
    Join Date
    Oct 2012
    Posts
    23

    Default Cant create Module

    1. I created folder
    [install-dir]/applications/learn_wowza

    2. I copied file [install-dir]/conf/Application.xml to [install-dir]/conf/learn_wowza/Application.xml

    3. I added module description to [install-dir]/conf/learn_wowza/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>default</StreamType>
                <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
                <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
                <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, 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></LiveStreamTranscoder>
                <!-- [templatename].xml or ${SourceStreamName}.xml -->
                <Templates>${SourceStreamName}.xml,transrate.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 -->
    
                <!-- 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>
    
                <!-- If this is a dvrstreamingrepeater, define ChunkOriginURL to point back to origin -->
                <!-- And define Application/Repeater/OriginURL to point back to the origin -->
                <Repeater>
                    <ChunkOriginURL></ChunkOriginURL>
                </Repeater>
    
                <!-- Properties for DVR -->
                <Properties>
                </Properties>
            </DVR>
    
            <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, 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>properties</Name>
                    <Description>Properties</Description>
                    <Class>com.wowza.wms.module.ModuleProperties</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>Main</Name>
                    <Description>LearnWowza</Description>
                    <Class>ru.terbooter.Main</Class>
                </Module>
            </Modules>
            <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
            <Properties>
            </Properties>
        </Application>
    </Root>
    4. I created module class via Wowza IDE
    package ru.terbooter;
    
    import com.wowza.wms.application.*;
    import com.wowza.wms.amf.*;
    import com.wowza.wms.client.*;
    import com.wowza.wms.module.*;
    import com.wowza.wms.request.*;
    import com.wowza.wms.stream.*;
    import com.wowza.wms.rtp.model.*;
    import com.wowza.wms.httpstreamer.model.*;
    import com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.*;
    import com.wowza.wms.httpstreamer.smoothstreaming.httpstreamer.*;
    
    public class Main extends ModuleBase {
    
    	public void doAction(IClient client, RequestFunction function,
    			AMFDataList params) {
    		getLogger().info("doAction");
    		sendResult(client, params, "Hello Wowza");
    	}
    
    	public void onAppStart(IApplicationInstance appInstance) {
    		String fullname = appInstance.getApplication().getName() + "/"
    				+ appInstance.getName();
    		getLogger().info("onAppStart: " + fullname);
    	}
    
    	public void onAppStop(IApplicationInstance appInstance) {
    		String fullname = appInstance.getApplication().getName() + "/"
    				+ appInstance.getName();
    		getLogger().info("onAppStop: " + fullname);
    	}
    
    	public void onConnect(IClient client, RequestFunction function,
    			AMFDataList params) {
    		getLogger().info("onConnect: " + client.getClientId());
    	}
    
    	public void onConnectAccept(IClient client) {
    		getLogger().info("onConnectAccept: " + client.getClientId());
    	}
    
    	public void onConnectReject(IClient client) {
    		getLogger().info("onConnectReject: " + client.getClientId());
    	}
    
    	public void onDisconnect(IClient client) {
    		getLogger().info("onDisconnect: " + client.getClientId());
    	}
    
    }
    5. Run buld.xml
    <?xml version="1.0"?>
    <project name="LearnWowza" default="jar" basedir="..">
    	
    	<property name="wowza.lib.dir" value="C:/Program Files (x86)/Wowza Media Systems/Wowza Media Server 3.1.2/lib"/>
    	<property name="jar.filename" value="LearnWowza.jar"/>
    	<property name="core.build.dir" value="bin"/>
    
    	<target name="jar">
    		<jar jarfile="${wowza.lib.dir}/${jar.filename}">
    			<fileset dir="${core.build.dir}"/>
    		</jar>
    	</target>
    	
    </project>
    jar file successfuly created

    6 Run wowza and connect from flash client
    C:\Program Files (x86)\Wowza Media Systems\Wowza Media Server 3.1.2\bin>startup.bat
    Configure logging: file:///C:/Program Files (x86)/Wowza Media Systems/Wowza Media Server 3.1.2/conf/log4j.properties
    INFO server server-start Wowza Media Server 3 Developer Edition (Expires: Apr 14, 2013) 3.1.2 build1624 -
    INFO server comment - Server License Key: SVRB3-XXXXX-XXXXX-XXXXX-XXXXX-TRyUP
    INFO server comment - Maximum Connections: 10
    INFO server comment - Transcoder Streams Available: Transcoder Not Available (win-32)
    INFO server comment - nDVR Available: Yes
    INFO server comment - DRM Available: Yes
    INFO server comment - Hardware Available Processors: 4
    INFO server comment - Hardware Physical Memory: 2445MB/4095MB
    INFO server comment - Hardware Swap Space: 4095MB/4095MB
    INFO server comment - Max File Descriptor Count: Unlimited
    INFO server comment - OS Name: Windows 7
    INFO server comment - OS Version: 6.1
    INFO server comment - OS Architecture: x86
    INFO server comment - OS CPU: pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
    INFO server comment - Java Name: Java HotSpot(TM) Client VM
    INFO server comment - Java Vendor: Sun Microsystems Inc.
    INFO server comment - Java Version: 1.6.0_30
    INFO server comment - Java VM Version: 20.5-b03
    INFO server comment - Java Spec Version: 1.6
    INFO server comment - Java Home: c:\Program Files (x86)\Java\jdk1.6.0_30\jre
    INFO server comment - Java Max Heap Size: 742MB
    INFO server comment - Java Architecture: 32
    INFO server comment - Java Locale[user.language]: en
    INFO server comment - Java Locale[user.country]: US
    INFO server comment - Java Locale[user.variant]:
    INFO server comment - Java Locale[file.encoding]: Cp1252
    INFO server comment - Java Timezone[user.timezone]: Europe/Minsk
    INFO server comment - Java Args[0]: -Xmx768M
    INFO server comment - Java Args[1]: -Dcom.sun.management.jmxremote=true
    INFO server comment - Java Args[2]: -Dcom.wowza.wms.runmode=standalone
    INFO server comment - Java Args[3]: -Dcom.wowza.wms.native.base=win
    INFO server comment - Java Args[4]: -Dcom.wowza.wms.ConfigURL=
    INFO server comment - Server runmode: standalone
    INFO server comment - Server native.platform: win
    INFO server comment - Server threads[h/t]: 10/10
    INFO server comment - CMDInterface now listening: [any]:8083
    INFO vhost vhost-start _defaultVHost_ -
    INFO server comment - _defaultVHost_ threads[h/t]:120/80 home:C:/Program Files (x86)/Wowza Media Systems/Wowza Media Ser
    ver 3.1.2
    INFO vhost comment _defaultVHost_ Bind attempt ([any]:1935:4)
    INFO vhost comment _defaultVHost_ Bind successful ([any]:1935)
    INFO vhost comment _defaultVHost_ Bind attempt ([any]:8086:1)
    INFO vhost comment _defaultVHost_ Bind successful ([any]:8086)
    INFO server comment - Server.startShutdownHook: Start server shutdown hook
    INFO server comment - Wowza Media Server is started!
    WARN server comment - loadModFunctions[learn_wowza/_definst_]: Module class not found or could not be loaded. Check [ins
    tall-dir]/conf/learn_wowza/Application.xml to be sure all Modules/Module/Class paths are correct: name:Main class:ru.ter
    booter.Main
    INFO application app-start _definst_ learn_wowza/_definst_
    INFO session connect-pending 127.0.0.1 -
    INFO session connect 127.0.0.1 -
    WARN server comment - Missing function: doAction
    What Im doing wrong?

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

    Default

    Try another name instead of "Main"

    Richard

Posting Permissions

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