Results 1 to 4 of 4

Thread: Starting to develop a custom module

  1. #1

    Default Starting to develop a custom module

    Hello,

    I'd like to create a custom module

    I've followed the instructions of the Wowza IDE Guide http://www.wowza.com/uploads/develop...UsersGuide.pdf and the module compiles and start the server perfectly but... two questions...

    • Why the server don't start 8088 port for Streaming Engine Manager?
    • Why I don't get any info in the console or the log files with the following code requesting a live stream?

    package com.mycompany.wms.module;
    
    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 live extends ModuleBase {
    
    	public void doSomething(IClient client, RequestFunction function,
    			AMFDataList params) {
    		getLogger().info("doSomething");
    		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());
    	}
    
    	public void onStreamCreate(IMediaStream stream) {
    		getLogger().info("onStreamCreate: " + stream.getSrc());
    	}
    
    	public void onStreamDestroy(IMediaStream stream) {
    		getLogger().info("onStreamDestroy: " + stream.getSrc());
    	}
    
    	public void onHTTPSessionCreate(IHTTPStreamerSession httpSession) {
    		getLogger().info("onHTTPSessionCreate: " + httpSession.getSessionId());
    	}
    
    	public void onHTTPSessionDestroy(IHTTPStreamerSession httpSession) {
    		getLogger().info("onHTTPSessionDestroy: " + httpSession.getSessionId());
    	}
    
    	public void onHTTPCupertinoStreamingSessionCreate(
    			HTTPStreamerSessionCupertino httpSession) {
    		getLogger().info(
    				"onHTTPCupertinoStreamingSessionCreate: "
    						+ httpSession.getSessionId());
    	}
    
    	public void onHTTPCupertinoStreamingSessionDestroy(
    			HTTPStreamerSessionCupertino httpSession) {
    		getLogger().info(
    				"onHTTPCupertinoStreamingSessionDestroy: "
    						+ httpSession.getSessionId());
    	}
    
    	public void onHTTPSmoothStreamingSessionCreate(
    			HTTPStreamerSessionSmoothStreamer httpSession) {
    		getLogger().info(
    				"onHTTPSmoothStreamingSessionCreate: "
    						+ httpSession.getSessionId());
    	}
    
    	public void onHTTPSmoothStreamingSessionDestroy(
    			HTTPStreamerSessionSmoothStreamer httpSession) {
    		getLogger().info(
    				"onHTTPSmoothStreamingSessionDestroy: "
    						+ httpSession.getSessionId());
    	}
    
    	public void onRTPSessionCreate(RTPSession rtpSession) {
    		getLogger().info("onRTPSessionCreate: " + rtpSession.getSessionId());
    	}
    
    	public void onRTPSessionDestroy(RTPSession rtpSession) {
    		getLogger().info("onRTPSessionDestroy: " + rtpSession.getSessionId());
    	}
    
    	public void onCall(String handlerName, IClient client,
    			RequestFunction function, AMFDataList params) {
    		getLogger().info("onCall: " + handlerName);
    	}
    
    }
    Best regards

  2. #2
    Join Date
    May 2013
    Posts
    680

    Default

    To answer your questions:

    >> Why the server don't start 8088 port for Streaming Engine Manager?

    Ensure that you don't have port 8088 blocked in your local firewall and check that the manager is started.

    >> Why I don't get any info in the console or the log files with the following code requesting a live stream?

    Did you setup the module in your Application.xml (under <Modules>) similar to the following (as obtained from the user guide):

    <Module> 
     <Name>Live</Name> 
     <Description>Live Module</Description> 
     <Class>com.mycompany.wms.module.live</Class> 
    </Module>
    Is your .jar file also included in the [install-dir]/lib directory?

  3. #3

    Default

    Thanks matt_y,

    The module now is working and I receive all the messages in the console window, the problem was on the Application.xml wrong module name.

    But the 8088 port isn't started, here is the console log, it seems that it didn't try to start it.
    Configure logging: file:///Library/WowzaStreamingEngine-4.0.3/conf/log4j.properties
    INFO server server-start Wowza Streaming Engine 4 Developer Edition (Expires: oct 18, 2014) 4.0.3 build10989 -
    INFO server comment - Server License Key: EDEV4-XXXXX-XXXXX-XXXXX-XXXXX-7d9AG
    INFO server comment - Maximum Connections: 10
    INFO server comment - Maximum Incoming Streams: 3
    INFO server comment - Transcoder Streams Available: Transcoder Not Available (osx-64)
    INFO server comment - nDVR Available: Yes
    INFO server comment - DRM Available: Yes
    INFO server comment - HTTP Origin Available: No
    INFO server comment - Push Publish Available: Yes
    INFO server comment - REST API Available: Yes
    INFO server comment - Hardware Available Processors: 4
    INFO server comment - Hardware Physical Memory: 10970MB/16384MB
    INFO server comment - Hardware Swap Space: 1386MB/2048MB
    INFO server comment - Max File Descriptor Count: 10240
    INFO server comment - Open File Descriptor Count: 85
    INFO server comment - OS Name: Mac OS X
    INFO server comment - OS Version: 10.9.2
    INFO server comment - OS Architecture: x86_64
    INFO server comment - Java Name: Java HotSpot(TM) 64-Bit Server VM
    INFO server comment - Java Vendor: Apple Inc.
    INFO server comment - Java Version: 1.6.0_65
    INFO server comment - Java VM Version: 20.65-b04-462
    INFO server comment - Java Spec Version: 1.6
    INFO server comment - Java Home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    INFO server comment - Java Max Heap Size: 759MB
    INFO server comment - Java Architecture: 64
    INFO server comment - Java Locale[user.language]: es
    INFO server comment - Java Locale[user.country]: ES
    INFO server comment - Java Locale[file.encoding]: US-ASCII
    INFO server comment - Java Timezone[user.timezone]: Europe/Madrid
    INFO server comment - Java Args[0]: -Xmx768M
    INFO server comment - Java Args[1]: -Dcom.wowza.wms.AppHome=/Library/WowzaStreamingEngine-4.0.3
    INFO server comment - Java Args[2]: -Dcom.wowza.wms.ConfigHome=/Library/WowzaStreamingEngine-4.0.3
    INFO server comment - Java Args[3]: -Dcom.sun.management.jmxremote=true
    INFO server comment - Java Args[4]: -Dcom.wowza.wms.native.base=osx
    INFO server comment - Java Args[5]: -Dfile.encoding=US-ASCII
    INFO server comment - Server native.platform: osx
    INFO server comment - Server threads[h/t]: 120/80
    INFO server comment - RESTServer: Bind attempt ([any]:8087)
    INFO server comment - RESTServer: Bind successful ([any]:8087)
    INFO server comment - Wowza REST API started
    INFO server comment - REST API: ready
    INFO server comment - RESTServer: Using configs from:/Library/WowzaStreamingEngine-4.0.3/
    INFO server comment - RESTServer: SSL:No
    INFO server comment - RESTServer: BasicAuth:No
    INFO server comment - RESTServer: Digest:Yes
    INFO server comment - RESTServer: XML Viewer:No
    INFO server comment - CMDInterface now listening: [any]:8083
    INFO server comment - MediaCache[MediaCache]: Thread pool size: [writer/readahead]:4/2
    INFO server comment - MediaCache[MediaCache]: MAX Pending size: [writer/readahead]:500M/25M
    INFO server comment - MediaCache[MediaCache]: Add store: path:/Library/WowzaStreamingEngine-4.0.3/mediacache maxSize:10737418240
    INFO server comment - MediaCache[MediaCache]: Add source[dvrorigin]: prefix:dvrorigin/ basePath:http://
    INFO server comment - MediaCache[MediaCache]: Flushing cache: start
    INFO server comment - MediaCache[MediaCache]: Flushing cache: done
    INFO server comment - MediaCache[MediaCache]: Start MediaCache GC
    INFO server comment - MediaCache[MediaCache]: Started
    INFO vhost vhost-start _defaultVHost_ -
    INFO server comment - _defaultVHost_ threads[h/t]:0/0 home:/Library/WowzaStreamingEngine-4.0.3
    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:2)
    INFO vhost comment _defaultVHost_ Bind successful ([any]:8086)
    INFO server comment - Server.startShutdownHook: Start server shutdown hook
    INFO server comment - StatsManager:startManager() Enabled=true
    INFO server comment - Wowza Streaming Engine is started!
    Best Regards

  4. #4

    Default

    Hi,

    Port 8088 is for the Wowza Streaming Engine Manager which runs as a separate service to the main server.

    You should be able to start it from the command line by going to /Library/WowzaStreamingEngine/manager/bin and running sudo ./startmgr.sh.

    You can also set it to run continuously by starting it using the launchctl command. Please refer to the Users Guide for detailed instructions. The Manager is a basic web server so when it is not being used in the browser, it will just sit quietly waiting. When you start the main server from the command line, you will be able to connect to it from the manager. You may notice some errors in the manager if you do shut down the main server and are on one of the pages that automatically refreshes.

    Roger.

Similar Threads

  1. Problem starting Wowza Meida Engine 4 with custom module
    By arashaga in forum Wowza Streaming Server Java API
    Replies: 2
    Last Post: 03-29-2014, 08:42 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
  •