我下载了LiveStreamRecord库,并尝试使用给出的库示例,它运行良好。现在我要做的是,我想开始使用webservice记录一个特定的流。
我已经写了wowza网络服务,它工作良好,除了录音。当我放置下面的代码开始记录特定的流时,它会抛出空指针异常。下面给出了代码片段。请告诉我如何克服这个问题。
代码:
String streamname="12";
ModuleLiveStreamRecord lsr=new ModuleLiveStreamRecord();
lsr.recordStream(streamname, 1, true, "", true, true, true);所获得的误差.
ERROR server comment - invoke(onStreamCreate): java.lang.NullPointerException: com.wowza.wms.plugin.livestreamrecord.ModuleLiveStreamRecord.recordStream(ModuleLiveStreamRecord.java:28)
java.lang.NullPointerException
at com.wowza.wms.plugin.livestreamrecord.ModuleLiveStreamRecord.recordStream(ModuleLiveStreamRecord.java:28)
at com.media.modules.OnlineVideoStream.onStreamCreate(OnlineVideoStream.java:128)
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(Unknown Source)
at com.wowza.wms.module.ModuleFunctions.a(Unknown Source)
at com.wowza.wms.module.ModuleFunctions.onStreamCreate(Unknown Source)
at com.wowza.wms.stream.MediaStreamMap.getStream(Unknown Source)
at com.wowza.wms.module.ModuleCore.createStream(Unknown Source)
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(Unknown Source)
at com.wowza.wms.module.ModuleFunctions.invoke(Unknown Source)
at com.wowza.wms.request.RequestProcessFunctions.processFunctions(Unknown Source)
at com.wowza.wms.client.ClientWorker.processNextReq(Unknown Source)
at com.wowza.wms.request.RTMPRequestAdapter.service(Unknown Source)
at com.wowza.wms.server.ServerHandler.a(Unknown Source)
at com.wowza.wms.server.ServerHandler.a(Unknown Source)
at com.wowza.wms.server.ServerHandler.messageReceived(Unknown Source)
at com.wowza.wms.server.ServerHandlerThreadedSession.run(Unknown Source)
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)我花了两天时间想出这个问题,却找不到哪里出了问题。但是,flash示例运行良好,没有任何错误。
如果我使用的是错误的库,请建议我正确的代码示例用于这类操作。
谢谢。
发布于 2012-09-19 20:51:27
我不知道您所说的“使用webservice开始录制特定流”是什么意思。使用此处内置的http提供程序,http://www.wowza.com/forums/content.php?123将允许您向Wowza服务器发出post请求,以启动和停止录制。如果您想创建自己的Wowza模块来记录特定的流,则需要引用wms-plugin-IntegrationRecor.jar。以下是一个例子:
LiveStreamRecorderMP4 recorder = new LiveStreamRecorderMP4();
recorder.setRecordData(true);
// Set to true if you want to version the previous file rather than overwrite it
recorder.setVersionFile(true);
// If recording only audio set this to false so the recording starts immediately
recorder.setStartOnKeyFrame(true);
boolean append = false;
//stream is a valid IMediaStream retrieved from Wowza API, outputPath a string
recorder.startRecording(stream, outputPath, append);发布于 2012-09-27 07:17:13
从这里下载模块v3 http://www.wowza.com/forums/content.php?123。然后请阅读readme.html,主要是readme.html包含不必要的信息,但是这个自述是不同的,相信我:)。另外,您不需要编辑java和重新jar,并将其复制并粘贴到wowza的lib文件夹中。如果您下载了集合插件@ wowza,它包括每个模块{如果您不需要做一些定制}。无论您可以用它记录流,flash应用程序都不会抛出任何exc,但是单击stream @ flash,然后查看wowza服务器cmd行,您将看到错误找不到方法,或者其他exc。
https://stackoverflow.com/questions/12470404
复制相似问题