You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@openmeetings.apache.org by Thomas <th...@o2.pl> on 2012/09/16 20:11:40 UTC

Restreaming RTMP from room - error

Hi, 
Im trying to restream (audio+desktop screen) from OpenMettings to web page. I already found that to do this I need to find Broadcast_ID (here in mail from 2 years ago: http://osdir.com/ml/openmeetings-user/2010-05/msg00083.html). But it seems that the method from that time still doesnt work ( getRoomWithCurrentUsersById - still doesnt return users with their streams), but i found on the list of commands: getRoomsWithCurrentUsersByList (http://code.google.com/p/openmeetings/wiki/SoapMethods#getRoomsWithCurrentUsersByList), and it seems to work just like i want. But i cant get to retrive value from that function. Whenever im running it in REST like that:

 $server_address:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByList?SID=9bc2cd438731c1658204e28128083791&start=7&max=3&orderby=room_id&asc=true

im getting: 

<soapenv:Reason><soapenv:Text xml:lang="en-US">unknown</soapenv:Text></soapenv:Reason>

and in the server log i see error:

ERROR 09-16 19:04:59.721 RoomWebService.java 2139790 1302 org.openmeetings.axis.services.RoomWebService [http-0.0.0.0-5080-3] - setUserObjectWithExternalUser
java.lang.NullPointerException: null
	at org.openmeetings.axis.services.RoomWebService.getRoomsWithCurrentUsersByList(RoomWebService.java:1270) ~[openmeetings-WebService.jar:na]
	at org.openmeetings.axis.services.RoomWebServiceFacade.getRoomsWithCurrentUsersByList(RoomWebServiceFacade.java:568) [openmeetings-WebService.jar:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_24]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.6.0_24]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.6.0_24]
	at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_24]
	at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) [axis2-adb-1.6.0.jar:1.6.0]
	at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) [axis2-adb-1.6.0.jar:1.6.0]
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) [axis2-kernel-1.6.0.jar:1.6.0]
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) [axis2-kernel-1.6.0.jar:1.6.0]
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) [axis2-kernel-1.6.0.jar:1.6.0]
	at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144) [axis2-transport-http-1.6.0.jar:na]
	at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139) [axis2-transport-http-1.6.0.jar:na]
	at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837) [axis2-transport-http-1.6.0.jar:na]
	at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273) [axis2-transport-http-1.6.0.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) [javaee-api-5.1.2.jar:5.1.2]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [javaee-api-5.1.2.jar:5.1.2]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
	at org.openmeetings.servlet.outputhandler.ServletRequestExFilter.doFilter(ServletRequestExFilter.java:31) [openmeetings.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
	at org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:78) [red5.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina-6.0.32.jar:6.0.32]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina-6.0.32.jar:6.0.32]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) [tomcat-coyote-6.0.32.jar:6.0.32]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) [tomcat-coyote-6.0.32.jar:6.0.32]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote-6.0.32.jar:6.0.32]
	at java.lang.Thread.run(Thread.java:679) [na:1.6.0_24]


{start=7 is room_id that i want, i didnt now what to write in max so i wrote 3, but changing this numbers dont repair anything}

Maybe im doing smth wrong - because my usuall flow of commands to get value always creates new one:

1) im using /UserService/getSession to get session id
2) then im logging user: UserService/loginUser?
3) then im setting roomhash : UserService/setUserObjectAndGenerateRoomHash

and since i cant get any information here im doing:
4)/openmeetings/?secureHash <- this creates new user in DB but now im able to retrieve data using session ID


If someone has any info how to correctly retrieve stream of data from openmeetings i will be thankfull

Thomas






Re: Restreaming RTMP from room - error

Posted by Thomas <th...@o2.pl>.
Do you mean: getFlvRecordingByRoomId function and similars to them - if yes than i have no idea how to get into them to check them. I mean: im following that 4 steps that I specified, from earlier mail, but this time im always getting nil list (despite fact that im recording something during that time in that room)
 
{4 steps:}
 
1) im using /UserService/getSession to get session id
2) then im logging user: UserService/loginUser?
3) then im setting roomhash : UserService/setUserObjectAndGenerateRoomHash
and since i cant get any information right now im doing:
4)/openmeetings/?secureHash &lt;- this creates new user in DB but now im able to retrieve data using session ID that i genereted {but it seems that new user is simple user, not SOAP only user, maybe here is error - but if yes - then i dont know how to simply logon into my existing account without creating new one}
 
 
Maybe you can specify how should I connect to those streams ? (And is it really video only - because i would need audio too).
Dnia 17 września 2012 2:13 Alexei Fedotov &lt;alexei.fedotov@gmail.com&gt; napisał(a):
Maxim added an option to stream video-only stream from the sharing/recording client. The feedback is appreciated.
16.09.2012 22:12 пользователь "Thomas" &lt;thomas-1988@o2.pl&gt; написал:
Hi,
Im trying to restream (audio+desktop screen) from OpenMettings to web page. I already found that to do this I need to find Broadcast_ID (here in mail from 2 years ago: http://osdir.com/ml/openmeetings-user/2010-05/msg00083.html). But it seems that the method from that time still doesnt work ( getRoomWithCurrentUsersById - still doesnt return users with their streams), but i found on the list of commands: getRoomsWithCurrentUsersByList (http://code.google.com/p/openmeetings/wiki/SoapMethods#getRoomsWithCurrentUsersByList), and it seems to work just like i want. But i cant get to retrive value from that function. Whenever im running it in REST like that:
 $server_address:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByList?SID=9bc2cd438731c1658204e28128083791&amp;start=7&amp;max=3&amp;orderby=room_id&amp;asc=true
im getting:
&lt;soapenv:Reason&gt;&lt;soapenv:Text xml:lang="en-US"&gt;unknown&lt;/soapenv:Text&gt;&lt;/soapenv:Reason&gt;
and in the server log i see error:
ERROR 09-16 19:04:59.721 RoomWebService.java 2139790 1302 org.openmeetings.axis.services.RoomWebService [http-0.0.0.0-5080-3] - setUserObjectWithExternalUser
java.lang.NullPointerException: null
        at org.openmeetings.axis.services.RoomWebService.getRoomsWithCurrentUsersByList(RoomWebService.java:1270) ~[openmeetings-WebService.jar:na]
        at org.openmeetings.axis.services.RoomWebServiceFacade.getRoomsWithCurrentUsersByList(RoomWebServiceFacade.java:568) [openmeetings-WebService.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_24]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.6.0_24]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.6.0_24]
        at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_24]
        at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) [axis2-adb-1.6.0.jar:1.6.0]
        at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) [axis2-adb-1.6.0.jar:1.6.0]
        at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) [axis2-kernel-1.6.0.jar:1.6.0]
        at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) [axis2-kernel-1.6.0.jar:1.6.0]
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) [axis2-kernel-1.6.0.jar:1.6.0]
        at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144) [axis2-transport-http-1.6.0.jar:na]
        at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139) [axis2-transport-http-1.6.0.jar:na]
        at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837) [axis2-transport-http-1.6.0.jar:na]
        at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273) [axis2-transport-http-1.6.0.jar:na]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) [javaee-api-5.1.2.jar:5.1.2]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [javaee-api-5.1.2.jar:5.1.2]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
        at org.openmeetings.servlet.outputhandler.ServletRequestExFilter.doFilter(ServletRequestExFilter.java:31) [openmeetings.jar:na]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
        at org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:78) [red5.jar:na]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina-6.0.32.jar:6.0.32]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina-6.0.32.jar:6.0.32]
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) [tomcat-coyote-6.0.32.jar:6.0.32]
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) [tomcat-coyote-6.0.32.jar:6.0.32]
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote-6.0.32.jar:6.0.32]
        at java.lang.Thread.run(Thread.java:679) [na:1.6.0_24]
{start=7 is room_id that i want, i didnt now what to write in max so i wrote 3, but changing this numbers dont repair anything}
Maybe im doing smth wrong - because my usuall flow of commands to get value always creates new one:
1) im using /UserService/getSession to get session id
2) then im logging user: UserService/loginUser?
3) then im setting roomhash : UserService/setUserObjectAndGenerateRoomHash
and since i cant get any information here im doing:
4)/openmeetings/?secureHash &lt;- this creates new user in DB but now im able to retrieve data using session ID
If someone has any info how to correctly retrieve stream of data from openmeetings i will be thankfull
Thomas

Re: Restreaming RTMP from room - error

Posted by Alexei Fedotov <al...@gmail.com>.
Maxim added an option to stream video-only stream from the
sharing/recording client. The feedback is appreciated.
16.09.2012 22:12 пользователь "Thomas" <th...@o2.pl> написал:

> Hi,
> Im trying to restream (audio+desktop screen) from OpenMettings to web
> page. I already found that to do this I need to find Broadcast_ID (here in
> mail from 2 years ago:
> http://osdir.com/ml/openmeetings-user/2010-05/msg00083.html). But it
> seems that the method from that time still doesnt work (
> getRoomWithCurrentUsersById - still doesnt return users with their
> streams), but i found on the list of commands:
> getRoomsWithCurrentUsersByList (
> http://code.google.com/p/openmeetings/wiki/SoapMethods#getRoomsWithCurrentUsersByList),
> and it seems to work just like i want. But i cant get to retrive value from
> that function. Whenever im running it in REST like that:
>
>
>  $server_address:5080/openmeetings/services/RoomService/getRoomsWithCurrentUsersByList?SID=9bc2cd438731c1658204e28128083791&start=7&max=3&orderby=room_id&asc=true
>
> im getting:
>
> <soapenv:Reason><soapenv:Text
> xml:lang="en-US">unknown</soapenv:Text></soapenv:Reason>
>
> and in the server log i see error:
>
> ERROR 09-16 19:04:59.721 RoomWebService.java 2139790 1302
> org.openmeetings.axis.services.RoomWebService [http-0.0.0.0-5080-3] -
> setUserObjectWithExternalUser
> java.lang.NullPointerException: null
>         at
> org.openmeetings.axis.services.RoomWebService.getRoomsWithCurrentUsersByList(RoomWebService.java:1270)
> ~[openmeetings-WebService.jar:na]
>         at
> org.openmeetings.axis.services.RoomWebServiceFacade.getRoomsWithCurrentUsersByList(RoomWebServiceFacade.java:568)
> [openmeetings-WebService.jar:na]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.6.0_24]
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> ~[na:1.6.0_24]
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[na:1.6.0_24]
>         at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_24]
>         at
> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
> [axis2-adb-1.6.0.jar:1.6.0]
>         at
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
> [axis2-adb-1.6.0.jar:1.6.0]
>         at
> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
> [axis2-kernel-1.6.0.jar:1.6.0]
>         at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
> [axis2-kernel-1.6.0.jar:1.6.0]
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> [axis2-kernel-1.6.0.jar:1.6.0]
>         at
> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
> [axis2-transport-http-1.6.0.jar:na]
>         at
> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
> [axis2-transport-http-1.6.0.jar:na]
>         at
> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)
> [axis2-transport-http-1.6.0.jar:na]
>         at
> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273)
> [axis2-transport-http-1.6.0.jar:na]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> [javaee-api-5.1.2.jar:5.1.2]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [javaee-api-5.1.2.jar:5.1.2]
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.openmeetings.servlet.outputhandler.ServletRequestExFilter.doFilter(ServletRequestExFilter.java:31)
> [openmeetings.jar:na]
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:78)
> [red5.jar:na]
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> [catalina-6.0.32.jar:6.0.32]
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> [tomcat-coyote-6.0.32.jar:6.0.32]
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> [tomcat-coyote-6.0.32.jar:6.0.32]
>         at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> [tomcat-coyote-6.0.32.jar:6.0.32]
>         at java.lang.Thread.run(Thread.java:679) [na:1.6.0_24]
>
>
> {start=7 is room_id that i want, i didnt now what to write in max so i
> wrote 3, but changing this numbers dont repair anything}
>
> Maybe im doing smth wrong - because my usuall flow of commands to get
> value always creates new one:
>
> 1) im using /UserService/getSession to get session id
> 2) then im logging user: UserService/loginUser?
> 3) then im setting roomhash : UserService/setUserObjectAndGenerateRoomHash
>
> and since i cant get any information here im doing:
> 4)/openmeetings/?secureHash <- this creates new user in DB but now im able
> to retrieve data using session ID
>
>
> If someone has any info how to correctly retrieve stream of data from
> openmeetings i will be thankfull
>
> Thomas
>
>
>
>
>
>