Openvidu with ip camera tutorials doesn't stream rtsp sites on browser

Hello,
I am trying to run the ip camera tutorial through wsl2 from windows 10 the thing is I couldn’t stream the rtsp sites on browser as it is just circle spinning around the whole time.
I even tried out the deploymnet on premises as said in this below linked query Openvidu with ip camera getting disconnected it works fine!!
But I can’t do it with the ip camera tutorial
p.s On local machine I can run the other rtsp sites
why it is disconnecting? And says NO_STREAM_PLAYING_EVENT as well ?
what could be the prblem ?

OpenVidu initialized
OpenViduLogger.ts:243 Platform detected: Chrome 92.0.4515.159 on Windows 10 64-bit
OpenViduLogger.ts:243 openvidu-browser version: 2.19.0
OpenViduLogger.ts:243 openvidu-server version: 2.19.0
OpenViduLogger.ts:243 ‘Connection’ created (local)
OpenViduLogger.ts:243 Remote ‘Connection’ with ‘connectionId’ [ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream] is now configured for receiving Streams with options: Object
OpenViduLogger.ts:243 ‘Connection’ created (remote) with ‘connectionId’ [ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream]
OpenViduLogger.ts:243 Event ‘streamCreated’ triggered by ‘Session’ StreamEvent
OpenViduLogger.ts:243 Subscribing to ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream
OpenViduLogger.ts:243 Event ‘videoElementCreated’ triggered by ‘Subscriber’ VideoElementEvent
OpenViduLogger.ts:243 ‘Subscriber’ (str_IPC_IsvM_ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream) successfully subscribed
OpenViduLogger.ts:243 Subscribed correctly to ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream
OpenViduLogger.ts:222 IceConnectionState of RTCPeerConnection 4ca3e395-e17b-4589-93e9-d59d547269dc (str_IPC_IsvM_ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream) change to “checking”
OpenViduLogger.ts:255 StreamManager of Stream str_IPC_IsvM_ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream (Subscriber) did not trigger “streamPlaying” event in 4000 ms
OpenViduLogger.warn @ OpenViduLogger.ts:255
(anonymous) @ StreamManager.ts:582
OpenViduLogger.ts:243 Event ‘exception’ triggered by ‘Session’ ExceptionEvent
?credentials=PASSWORD:91 ExceptionEvent
(anonymous) @ ?credentials=PASSWORD:91
arrowHandler @ EventDispatcher.ts:81
emitEvent @ EventEmitter.js:394
Session.emitEvent @ Session.ts:1207
(anonymous) @ StreamManager.ts:583
OpenViduLogger.ts:255 IceConnectionState of RTCPeerConnection 4ca3e395-e17b-4589-93e9-d59d547269dc (str_IPC_IsvM_ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream) change to “disconnected”. Possible network disconnection
OpenViduLogger.warn @ OpenViduLogger.ts:255
(anonymous) @ WebRtcPeer.ts:480
OpenViduLogger.ts:243 Event ‘exception’ triggered by ‘Session’ ExceptionEvent
?credentials=PASSWORD:91 ExceptionEventcancelable: falsedata: undefinedhasBeenPrevented: falsemessage: "IceConnectionState of RTCPeerConnection 4ca3e395-e17b-4589-93e9-d59d547269dc (str_IPC_IsvM_ipc_IPCAM_rtsp_SRIN_freja_hiof_no_1935_rtplive__definst__hessdalen02_stream) change to “disconnected”. Possible network disconnection"name: "ICE_CONNECTION_DISCONNECTED"origin: Stream {isSubscribeToRemote: false, isLocalStreamReadyToPublish: false, isLocalStreamPublished: false, publishedOnce: false, harkSpeakingEnabled: false, …}target: Session {userHandlerArrowHandler: WeakMap, ee: EventEmitter, streamManagers: Array(1), remoteStreamsCreated: Map(1), remoteConnections: Map(1), …}type: “exception”[[Prototype]]: Event
(anonymous) @ ?credentials=PASSWORD:91
arrowHandler @ EventDispatcher.ts:81
emitEvent @ EventEmitter.js:394
Session.emitEvent @ Session.ts:1207
onIceConnectionStateException @ Stream.ts:1099
(anonymous) @ WebRtcPeer.ts:481

Below is the screen shot attached as the rtsp site link works well on VLC but not on broswer

Screenshot (2)|464x500

Hello,
May I get any solution over this issue @micael.gallego @CSantosM

What you mean with that phrase? It is working or not in local machine? Are you saing you have a working application in local but it doesn’t work when deployed to production?

I am not sure what is your issue, but take into account that some RTSP services can be incompatilble with RTSP client in Kurento (the OpenVidu media server).

Hello,
I mean to say that I can the rtsp on VLC as shown in the attached screen shot but can’t stream it on browser.
As the rtsp service sites mentioned in tutorial of ip cameras are off, so I managed to get other rtsp service which I could run
Can you please look at the image attached to this issue ?

And I get the errors as mentioned in this issue.

Hello,
@micael.gallego May I request for an help or hint as in I am new to this WebRTC world and facing the issue.


Hello,
I mean to say that I can the play rtsp on VLC as shown in the attached screen shot but can’t stream it on browser.
As the rtsp service sites mentioned in tutorial of ip cameras are off, so I managed to get other rtsp service which I could run
Can you please look at the image attached to this issue ?

And I get the errors as mentioned in this issue.

Are you running the demo over https? The demo will not work if you access it via http. You need an SSL certificate.

Can you show your logs in the browser side and your application side? Seems like a miss-configuration problem somewhere.

I am not running over https, as in I managed to get rtsp links through some domain where I can stream it in VLC but not on browser.
But now I get this error message


@cruizba

@cruizba May I know what sort of error is this ?
As in I am new to this platform and I can’t know where the error is lying
P.s. One more thing is I can run this Openvidu-Ip camera tutorail through Vm and I can stream the video
In another case: I am trying to run the same tutorial from WSL2 I get the following error

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Sep 10 14:06:37 CEST 2021

There was an unexpected error (type=Internal Server Error, status=500).

No message available

  1. The app in the browser needs to run over https and you also need to accept the certificates of OpenVidu URL from your browser if you’re using self-signed certificates.

  2. About your issue in WSL. You need to be sure that the backend of the demo app can reach OpenVidu. Maybe it is not able to connect.

I can’t suggest more things without seeing logs from demo server and the browser.

Hello @cruizba
these are the logs
2021-09-10 17:35:56.909 ERROR 8142 — [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
at io.openvidu.java.client.Connection.resetWithJson(Connection.java:395) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.Connection.(Connection.java:50) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.Session.createConnection(Session.java:201) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.ipcameras.MyRestController.subscribe(MyRestController.java:76) ~[classes/:na]
at jdk.internal.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]

Here are the browser logs:
usually I got this through network headers

  1. Request URL:

https://localhost:8080/?credentials=PASSWORD

  1. Request Method:

GET

  1. Status Code:

500

  1. Remote Address:
  1. Referrer Policy:

strict-origin-when-cross-origin

  1. Response HeadersView source

  2. Connection:

close

  1. Content-Language:

en-US

  1. Content-Length:

319

  1. Content-Type:

text/html;charset=UTF-8

  1. Date:

Fri, 10 Sep 2021 15:40:49 GMT

  1. Request HeadersView source

  2. Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9

  1. Accept-Encoding:

gzip, deflate, br

  1. Accept-Language:

en-US,en;q=0.9,de-DE;q=0.8,de;q=0.7

  1. Connection:

keep-alive

  1. Cookie:

nc_sameSiteCookielax=true; nc_sameSiteCookiestrict=true; oc_sessionPassphrase=hLAdj3o6zxyRvNGSe2wHN8RYMH8kBXtURdVUW3uYoc3m5DG30XtdfxIJ%2FDQ1Ya01wlOFc2aDcZNRf%2FwQmNuJR0fGzQSr%2BQ%2FWxQNik47Q%2FTtFWcHiISfmqXHA8MhHv9mN; ocsdnyajrdyz=339064be34e34d2cec57d5e839624893; nc_username=admin; nc_token=11wmauYpiNE%2B8ODOUdkUcjnyUJAVd1lp; nc_session_id=339064be34e34d2cec57d5e839624893

  1. Host:

localhost:8080

  1. Referer:

https://localhost:8080/

  1. sec-ch-ua:

“Google Chrome”;v=“93”, " Not;A Brand";v=“99”, “Chromium”;v=“93”

  1. sec-ch-ua-mobile:

?0

  1. sec-ch-ua-platform:

“Windows”

  1. Sec-Fetch-Dest:

document

  1. Sec-Fetch-Mode:

navigate

  1. Sec-Fetch-Site:

same-origin

  1. Sec-Fetch-User:

?1

  1. Upgrade-Insecure-Requests:

1

  1. User-Agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

  1. Query String Parametersview sourceview URL-encoded

  2. credentials:

PASSWORD

Hello @cruizba
As said I am running the browser through https and even accepted the Self-signed certificate
And in previous thread I had attached the logs from server and broswer.

I don’t know how your configuring your rtsp URIs to have this exceptions but I’ll try to explain how to have this working locally step by step in addition with the tutorial.

The rtsp link you’ve sent is down now, so I am using this one:
rtsp://demo:demo@ipvmdemo.dyndns.org:5541/onvif-media/media.amp?profile=profile_1_h264&sessiontimeout=60&streamtype=unicast

  1. First you need to run OpenVidu Server. If you have WSL and docker desktop it should be as easy as run:
docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-server-kms:2.19.0

After that, you should be able to reach openvidu in the browser just by entering to https://localhost:4443 if you’re running openvidu locally.

  1. Add this into the IP_CAMERAS map here:

    Then you just need to execute the tutorial app. (You should ensure that the tutorial app is able to reach https://localhost:4443 to ensure this would work). Execute this in the openvidu-ipcameras directory.

mvn package exec:java
  1. Accept certificates for https://localhost:4443 and https://localhost:8080

  2. Go to https://localhost:8080 and you should see this.


Notes

  • If for some reason you’re not running OpenVidu in localhost (in a VM machine for example), you will need to change these parameters so the tutorial app can reach OpenVidu
  • In a production environment, instead of running: docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-server-kms:2.19.0 you must follow deployment instructions and change the parameters mentioned before to point to OpenVidu server

Regards

Hello @cruizba
Thank you so much for the steps, I did all the steps mentioned above.
Yes the rtsp link is working.
I have one more question is that I am running other containers in docker and I had check the ports for those containers, but there are different
And one more If I have to run in VM for example as said, you told to change the parametes is that I need to change the port address and pass:
Can you show me an example like in this case
openvidu-url: https://localhost:4443/
openvidu-secret: MY_SECRET
But Still I get this error:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Sep 14 11:02:23 CEST 2021

There was an unexpected error (type=Internal Server Error, status=500).

No message available

from server logs:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
at io.openvidu.java.client.Connection.resetWithJson(Connection.java:395) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.Connection.(Connection.java:50) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.Session.lambda$resetWithJson$4(Session.java:733) ~[openvidu-java-client-2.19.0.jar:na]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at io.openvidu.java.client.Session.resetWithJson(Session.java:730) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.Session.(Session.java:70) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.java.client.OpenVidu.lambda$fetch$3(OpenVidu.java:544) ~[openvidu-java-client-2.19.0.jar:na]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at io.openvidu.java.client.OpenVidu.fetch(OpenVidu.java:541) ~[openvidu-java-client-2.19.0.jar:na]
at io.openvidu.ipcameras.MyRestController.createOpenViduSession(MyRestController.java:100) ~[classes/:na]
at io.openvidu.ipcameras.MyRestController.subscribe(MyRestController.java:61) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]

Better if you continue with docker containers…

Seriously I can not see what is your issue. Restart your OpenVidu Server and your tutorial app. How are you configuring your rtsp url? Can you show me that fragment of the code? Did you modified something else?

Please check if:

  • You’re using tutorial from latest version 2.19.0
  • Check your using the same client as OpenVidu Server running
  • Restart all your services (OpenVidu server and tutorial app)

Hello @cruizba,
Yes I am using the same client as OpenVidu Server and I am using the latest version
Here is the fragment of the code attached


To see what is the issue, I even tried the rtsp link in my VLC and I can stream the video

@cruizba
Hello I have noticed one thing that I can’t run any tutorial, I mean for instance if I click on subscribe for ip cameras.
It doesn’t go to status code 200, rather it returns 500 server error
the problem might be that I am running the tutorial from WSL2 and launching the windows chrome browser, does it make any difference due to Wsl2 ip address ??

Probably, You can run the tutorial in Windows and run openvidu server in Docker with WSL.

Maybe this works

@cruizba
thank you @cruizba it’s working now

1 Like

Just to let you know, experiencing similar issues with ne “ip” field, maybe a GSON problem

java.lang.NullPointerException: null
	at io.openvidu.java.client.Connection.resetWithJson(Connection.java:395) ~[openvidu-java-client-2.20.0.jar:?]
	at io.openvidu.java.client.Connection.<init>(Connection.java:50) ~[openvidu-java-client-2.20.0.jar:?]
	at io.openvidu.java.client.Session.lambda$resetWithJson$4(Session.java:733) ~[openvidu-java-client-2.20.0.jar:?]
	at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_302]
	at io.openvidu.java.client.Session.resetWithJson(Session.java:730) ~[openvidu-java-client-2.20.0.jar:?]
	at io.openvidu.java.client.Session.<init>(Session.java:70) ~[openvidu-java-client-2.20.0.jar:?]
	at io.openvidu.java.client.OpenVidu.lambda$fetch$3(OpenVidu.java:544) ~[openvidu-java-client-2.20.0.jar:?]
	at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_302]
	at io.openvidu.java.client.OpenVidu.fetch(OpenVidu.java:541) ~[openvidu-java-client-2.20.0.jar:?]

Where the NPE line is:
if (!json.get("ip").isJsonNull()) {