meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.17k stars 2.47k forks source link

[0.x] [janus.js] Cannot read properties of null (reading 'addTrack') #3283

Closed mdevaev closed 6 months ago

mdevaev commented 11 months ago

What version of Janus is this happening on? 0.14.1 / bd9b8e44e61b4c847b33a8fbbe9fab5290ba0cf5

Hello. One of my PiKVM users often gets a connection break for some unknown reason. Probably I will deal with it myself, but there is one related problem that is on the janus.js side:

image

I don't know the WebRTC API well in the browser side, so I couldn't figure out how to fix it correctly. Could you take a look at where null comes from here and handle this error? Perhaps a similar problem may exist in 1.x, but I haven't tested it, my code is still incompatible with it.

lminiero commented 11 months ago

I guess the cause is config.remoteStream being set to null or undefined in the meanwhile. Anyway, I don't think it's a fatal error, since it's in a try/catch, nor I think it's anything we need to fix in the code.

mdevaev commented 11 months ago

I think this situation should be handled explicitly because there seems to be no other way to understand when this specific exception occurred. If this happened, I would like to get onremotestream(null) or some other callback to be able to handle this situation. In my case, I just want to kill the connection and start over like I did here.

A separate question is why it can be null at all?

Majestic7979 commented 10 months ago

Guys hello I hope you're all well. I wanted to know if there is any way to expedite a fix for this!? Is there any alternative to janus server that can be used instead? I use a NVR called Frigate (also here on github, the author is blakeblackshear, Frigate uses something called go2rtc and it works really well streaming in real time for me. It works in all browsers I've tested. Maybe this solution would be better? I am shooting in the dark, I don't know the details of either solution, if go2rtc lacks something that makes it unsuitable, etc. Anyway maybe the code doesn't need to be rewritten, but it would definitely be awesome to have a fix because I use PiKVM in my IT tech support biz and some of my client networks block any browser that isn't Google Chrome. This issue happens only on Chrome. PLEASE HELP ⭐

Majestic7979 commented 10 months ago

I reported here: https://github.com/pikvm/pikvm/issues/1170

plia7 commented 10 months ago

And I reported 4 months ago here (more detailed):

https://github.com/pikvm/pikvm/issues/1084

mdevaev commented 7 months ago

@lminiero Hello. I tried to contact Meetecho last week to discuss a paid consultation (or bugfixes if necessary) on some of our problems related to Janus, but so far no one has answered me. I'm writing here because I don't see any other communication channels other than the form on the site. Can we contact you by email or something?

mdevaev commented 6 months ago

This is no longer relevant due to the fact that we have our own workaround and are moving to 1.x