Results 1 to 3 of 3

Thread: HTTP URLConnection Calls not working in custom module

  1. #1
    Join Date
    Jul 2013
    Posts
    12

    Default Custom Live Record Module not working

    I have been working on a custom live record module. I had tested it locally but then it want working on-line.

    The error received is :
    ERROR server comment - [appname/_definst_]LiveStreamRecorderFLV.startRecording: open file (H:\Program Files\Wowza Media Systems\Wowza Media Server 3.6.4\content\test3_2014-03-31-00.42.07.861-IST_0.flv): java.lang.NullPointerException

    But i dont get this error if i am running this module on wowza streaming engine 4.x. However i do get it in 3.6.X. Does this mean live recording is not supported on older wowza ? I followed code examples from here:

    http://www.wowza.com/forums/content....ActionNotify3)

    Complete stack trace is:

    ERROR server comment - invoke(closeStream): java.lang.NullPointerException: java.io.File.<init>(null:-1)
    java.lang.NullPointerException
    	at java.io.File.<init>(Unknown Source)
    	at com.packagename.server.wms.module.MyLiveRecord$SegmentListener.onSegmentEnd(MyLiveRecord.java:98)
    	at com.wowza.wms.livestreamrecord.model.LiveStreamRecorderBase.notifySegmentEnd(LiveStreamRecorderBase.java:444)
    	at com.wowza.wms.livestreamrecord.model.LiveStreamRecorderFLV.a(LiveStreamRecorderFLV.java:79)
    	at com.wowza.wms.livestreamrecord.model.LiveStreamRecorderFLV.onUnPublish(LiveStreamRecorderFLV.java:332)
    	at com.wowza.wms.livestreamrecord.model.LiveStreamRecordActionNotifier.onUnPublish(LiveStreamRecordActionNotifier.java:37)
    	at com.wowza.wms.stream.MediaStream.notifyActionUnPublish(MediaStream.java:2288)
    	at com.wowza.wms.client.Client.closeOpenStream(Client.java:1703)
    	at com.wowza.wms.module.ModuleCore.closeStream(ModuleCore.java:787)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.wowza.wms.module.ModuleFunction.invoke(ModuleFunction.java:346)
    	at com.wowza.wms.module.ModuleFunctions.invoke(ModuleFunctions.java:214)
    	at com.wowza.wms.request.RequestProcessFunctions.processFunctions(RequestProcessFunctions.java:110)
    	at com.wowza.wms.request.RequestProcessData.flushFunction(RequestProcessData.java:58)
    	at com.wowza.wms.request.RequestProcessData.processNextRequest(RequestProcessData.java:852)
    	at com.wowza.wms.client.ClientWorker.processNextReq(ClientWorker.java:83)
    	at com.wowza.wms.request.RTMPRequestAdapter.service(RTMPRequestAdapter.java:587)
    	at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:653)
    	at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:375)
    	at com.wowza.wms.server.ServerHandler.messageReceived(ServerHandler.java:487)
    	at com.wowza.wms.server.ServerHandlerThreadedSession.run(ServerHandlerThreadedSession.java:108)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Can some one clarify me on this ?
    Last edited by rajdeeprath; 03-30-2014 at 03:23 PM. Reason: Misleading title

  2. #2
    Join Date
    Jul 2013
    Posts
    12

    Default

    I managed to resolve the issue after using wowza media server 3.6 to debug the module. There seems to be some differences in wowza streaming engine edition and the older WMS. The fragment of code throwing the error was this:

    public void onSegmentStart(ILiveStreamRecord recorder)
    		{
    			String filepath = recorder.getCurrentFile();
    		}
    This throws a nullpointer exception in wowza 3.6 where as it runs fine on wowza streaming engine. The fix was to use getFilePath rather than getCurrentFile

    public void onSegmentStart(ILiveStreamRecord recorder)
    		{
    			String filepath = getFilePath();
    		}
    Last edited by rajdeeprath; 03-30-2014 at 03:28 PM.

  3. #3

    Default

    Hi,

    Good to see that you got it working.

    As you have noticed, the recording API did change a lot in Wowza Streaming Engine. The main reasons for the changes is so that all of the different recording methods would work together. Previously, if you started a recording using the LiveStreamRecord HTTP provider then it would not be available in the API methods.

    The new method is to use the StreamRecorder API which does allow recordings that are started with the manager to be accessible via the API.

    Roger.

Similar Threads

  1. Expected responses for Verimatrix DRM server http calls
    By dozed.electron in forum Wowza DRM
    Replies: 2
    Last Post: 02-13-2014, 03:28 AM
  2. Control publish access through custom api calls
    By johncblandii in forum Server-side Modules and Code Samples Discussion
    Replies: 6
    Last Post: 01-27-2012, 10:26 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
  •