Meet Kopano (unstable version) - a few questions & problems :)
-
@fbartels Many thanks for your reply. That's very useful and makes it clear very.
Since what you are describing is a full mesh p2p network typology, is there any optimisation implemented by Kopano Meet (compared to others) to limit uplink bandwidth requirement on each peer to improve the performance and scalability?
As far as I understand it is one of the key limitation of doing things this way (compared to going through and SFU) as a trade off for being able to implement proper E2EE.
You mention VP8 as being easy on the CPU (but also more bandwidth). Do you therefore think that limitation on the user is likely to come more from CPU rather than bandwidth (comparing increase CPU power vs increase in broadband/mobile bandwidth)? -
@avatar1024 said in Meet Kopano (unstable version) - a few questions & problems :
is there any optimisation implemented by Kopano Meet (compared to others) to limit uplink bandwidth requirement on each peer
You cannot generate more available bandwidth through software
Generally speaking connections are limited to 1Mbit each (for video and audio). If there is not enough bandwidth available the browser itself will limit the data transmitted (reduce video quality) until the point where video will be deactivated completely.
@avatar1024 said in Meet Kopano (unstable version) - a few questions & problems :
You mention VP8 as being easy on the CPU (but also more bandwidth).
On of the reasons its so light on cpu is because hardware acceleration does widely exist for it, btw. But yes I think this is a fair statement. In the end you could run into situations where client would be unable to handle all the incoming and outgoing streams. There is a special "audio only" mode in Meet that could kind of help in these situations, as it turn off all outgoing and incoming video (incl. screensharing) and therefore would lessen the load of encoding the video.
-
The new update works fine. I had my first guest meeting
-
@luckow If you want to have a meeting with iOS users, tell them that they (must) use Safari. There is no app for meet kopano. Don't use Firefox or other browsers on iOS. Safari is the tool of choice. But this is not a meet kopano issue.
-
I seem to be doing something wrong with guest-enabled rooms. Guests are still prompted to sign in. Are there any gotchas I'm missing?My fault, I shared my own room URL rather than using the "Share Group link" feature. Maybe a shared room URL should redirect to the guest onboarding as well, since that still contains a link to the login flow?
-
@luckow doesn't seem to work very well at all for me
Have tried multiple times now and so far failed to have a successful call.
I've mostly been trying on Firefox on Ubuntu, but have also tried Chromium with very similar results. Shall have to investigate further... (where shall I look for error logs, I wonder...)
-
@jdaviescoates said in Meet Kopano (unstable version) - a few questions & problems :
where shall I look for error logs, I wonder..
Yes, that is indeed the drawback with mostly client side applications, server side logs will not really help you. Hints on what could be going wrong can instead be found the the browser console. chrome://webrtc-internals/ can be interesting as well (depending on the concrete error).
What is the exact behaviour you experience? The Cloudron turn is running on port 3478, could that port be blocked for either you or the other user in your call?
-
I've also performed a realistic test scenario now and it's very spotty. With three people on different networks in different locations (though geographically pretty close) I managed to get video from one other participant but not audio, and neither video nor audio from the other one.
I tried both Firefox (desktop) and Mobile Safari. Calls are pretty flawless with the same setup on the same LAN (though not the exact same peer devices).
-
@fbartels said in Meet Kopano (unstable version) - a few questions & problems :
What is the exact behaviour you experience?
I've done a few tests.
First of all I tried having a call with myself using my laptop on wifi (Lenovo T510 running Ubuntu 18.04 and Firefox 75.0) and my phone on 4g (Wileyfox Swift 2 Plus running Android 8.1.0 and Firefox 68.7.0) but it didn't work at all. No video nor audio.
Not only that but after a while on my laptop Firefox seemed to suddenly be unable to connect to my camera and mic and then would fail to reconnect (this doesn't happen when testing Nextcloud Talk). And then when I clicked the screenshare button (just to see what it was) my whole laptop froze and I had to power off.
Although saying all that, I just replicated the same test and this time it appeared to work quite well. I even got my wife to join in on her phone too and it kinda sorta worked (she lost connection at one point and mostly her video was frozen).
Another time I did a test with my laptop, my phone, and my Mum on her laptop (in a different city). I can't remember exactly what happened, but I think I could see and her my Mum on my phone, but not on my laptop. But she could see me on my laptop but not on my phone, or something like that.
So all in all, in the all tests I've done to date, mostly not really working (although the test I just did now went OK until there were 3 of us on the call)
I've had much better experience using Nextcloud Talk so far, although I have to say I much prefer that way Kopano Meet gets guests to set their name and get their camera and mic working before joining the call. On Nextcloud Talk it's common to have multiple people join and for them to all be called Guest, which can get a bit confusing. I think I'll add an issue to Nextcloud Talk suggesting they make Guests add their name before joining too...
-
Hi @jdaviescoates,
that all in all sounds strange. Especially freezing when trying to screenshare is nothing I have seen here so far.
-
I remember @fbartels mentioning some browser session debugging tool to collect relevant information in such a case, maybe that can help sort our some of those cases. Overall we had generally a good experience so far with the app, but given all the various browsers and their various states of webrtc it seems to be a hard issue to tackle.
-
Hi @fbartels,
Just had my first few one-on-one video calls with registered users and guests... Iridium browser at my end and Chrome at the other end. Worked flawlessly...even with 4G at my end. Excellent user experience at both ends. Thanks for bringing Kopano Meet to Cloudron!
-
Hello @fbartels,
I just installed Kopano Meet to give it a try and encountered the following error after installation on cloudron v5.1.4 with Kopano Meet version 2.1.0 (Package v1.2.1):
Apr 15 17:16:33 2020/04/15 15:16:33 Waiting for https://meet.xxx.xx/.well-known/openid-configuration: unexpected HTTP status code: 404. Apr 15 17:16:33 2020/04/15 15:16:33 Failed to wait: timed out: https://meet.xxx.xx/.well-known/openid-configuration. Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="serve start" Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="using external TURN service: https://turnauth.kopano.com/turnserverauth/" Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="serve started" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=warning msg="failed to initialize OIDC provider" error="Timeout (:0x105)" iss="https://meet.xxx.xx" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=warning msg="admin: using random admin tokens singing key - API endpoint admin disabled" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="pattern ^group/public/.* public guest rooms enabled" manager=guest Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="guest: API endpoint enabled" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="rtm: API endpoint enabled" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="starting http listener" listenAddr="127.0.0.1:8778" Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="ready to handle requests"
The app starts, but no login is possible (the login button on the Kopano Meet page does not do anything upon clicking).
On the client side, the following error comes up:
oidc-client.min.js:718 GET https://meet.xxx.xx/.well-known/openid-configuration 404 (anonymous) @ oidc-client.min.js:718 (anonymous) @ oidc-client.min.js:693 (anonymous) @ oidc-client.min.js:289 value @ usermanager.js:317 (anonymous) @ actions.js:667 w @ runtime.js:62 (anonymous) @ runtime.js:288 (anonymous) @ runtime.js:114 w @ runtime.js:62 e @ runtime.js:152 (anonymous) @ runtime.js:187 o @ runtime.js:186 (anonymous) @ runtime.js:209 (anonymous) @ runtime.js:114 (anonymous) @ runtime.js:233 (anonymous) @ actions.js:658 Promise.then (async) (anonymous) @ actions.js:656 (anonymous) @ index.js:8 dispatch @ applyMiddleware.js:46 (anonymous) @ actions.js:318 w @ runtime.js:62 (anonymous) @ runtime.js:288 (anonymous) @ runtime.js:114 w @ runtime.js:62 e @ runtime.js:152 (anonymous) @ runtime.js:187 o @ runtime.js:186 (anonymous) @ runtime.js:209 (anonymous) @ runtime.js:114 (anonymous) @ runtime.js:233 (anonymous) @ actions.js:309 (anonymous) @ index.js:8 dispatch @ applyMiddleware.js:46 (anonymous) @ actions.js:356 w @ runtime.js:62 (anonymous) @ runtime.js:288 (anonymous) @ runtime.js:114 w @ runtime.js:62 e @ runtime.js:152 (anonymous) @ runtime.js:162 Promise.then (async) e @ runtime.js:161 (anonymous) @ runtime.js:187 o @ runtime.js:186 (anonymous) @ runtime.js:209 (anonymous) @ runtime.js:114 (anonymous) @ runtime.js:233 (anonymous) @ actions.js:316 (anonymous) @ index.js:8 dispatch @ applyMiddleware.js:46 n @ actions.js:216 (anonymous) @ actions.js:232 w @ runtime.js:62 (anonymous) @ runtime.js:288 (anonymous) @ runtime.js:114 w @ runtime.js:62 e @ runtime.js:152 (anonymous) @ runtime.js:187 o @ runtime.js:186 (anonymous) @ runtime.js:209 (anonymous) @ runtime.js:114 (anonymous) @ runtime.js:233 (anonymous) @ actions.js:224 (anonymous) @ AuthenticatedRoute.js:22 Promise.then (async) render @ AuthenticatedRoute.js:20 (anonymous) @ react-router.js:444 Li @ react-dom.production.min.js:4074 qa @ react-dom.production.min.js:5514 Ka @ react-dom.production.min.js:5536 Ds @ react-dom.production.min.js:5958 Ms @ react-dom.production.min.js:5925 Es @ react-dom.production.min.js:5860 es @ react-dom.production.min.js:5787 enqueueSetState @ react-dom.production.min.js:2790 (anonymous) @ react.production.min.js:72 (anonymous) @ Main.js:56 u @ runtime.js:45 (anonymous) @ runtime.js:264 (anonymous) @ runtime.js:98 r @ asyncToGenerator.js:3 s @ asyncToGenerator.js:25 Promise.then (async) r @ asyncToGenerator.js:13 s @ asyncToGenerator.js:25 (anonymous) @ asyncToGenerator.js:32 (anonymous) @ asyncToGenerator.js:21 Promise.then (async) value @ Main.js:53 Ba @ react-dom.production.min.js:4980 Ga @ react-dom.production.min.js:5123 (anonymous) @ react-dom.production.min.js:5975 (anonymous) @ scheduler.production.min.js:274 Ls @ react-dom.production.min.js:5974 Ds @ react-dom.production.min.js:5958 Ms @ react-dom.production.min.js:5925 Es @ react-dom.production.min.js:5860 es @ react-dom.production.min.js:5787 enqueueSetState @ react-dom.production.min.js:2790 (anonymous) @ react.production.min.js:72 t @ index.js:240 (anonymous) @ index.js:250 Promise.then (async) (anonymous) @ index.js:249 (anonymous) @ index.js:197 lo @ react-dom.production.min.js:2854 Ri @ react-dom.production.min.js:3759 Li @ react-dom.production.min.js:3960 qa @ react-dom.production.min.js:5514 Ka @ react-dom.production.min.js:5536 Ds @ react-dom.production.min.js:5958 Ms @ react-dom.production.min.js:5925 Es @ react-dom.production.min.js:5860 es @ react-dom.production.min.js:5787 enqueueSetState @ react-dom.production.min.js:2790 (anonymous) @ react.production.min.js:72 (anonymous) @ IntlContainer.js:281 Promise.then (async) value @ IntlContainer.js:280 Ba @ react-dom.production.min.js:4978 Ga @ react-dom.production.min.js:5123 (anonymous) @ react-dom.production.min.js:5975 (anonymous) @ scheduler.production.min.js:274 Ls @ react-dom.production.min.js:5974 Ds @ react-dom.production.min.js:5958 Ms @ react-dom.production.min.js:5925 Es @ react-dom.production.min.js:5860 es @ react-dom.production.min.js:5787 Us @ react-dom.production.min.js:6077 Ys @ react-dom.production.min.js:6085 (anonymous) @ react-dom.production.min.js:6276 (anonymous) @ react-dom.production.min.js:6360 Is @ react-dom.production.min.js:6007 Vs @ react-dom.production.min.js:6359 render @ react-dom.production.min.js:6390 831 @ app.js:51 i @ bootstrap:89 Promise.then (async) (anonymous) @ index.js:18 Promise.then (async) 184 @ index.js:14 i @ bootstrap:89 107 @ main.758e3f7e.chunk.js?__WB_REVISION__=ebc8e0d9096114f5d646:1 i @ bootstrap:89 r @ bootstrap:45 t @ bootstrap:32 (anonymous) @ main.758e3f7e.chunk.js?__WB_REVISION__=ebc8e0d9096114f5d646:1 actions.js:251 failed to continue config initialization Error: (404) at XMLHttpRequest.<anonymous> (oidc-client.min.js:715)
Any idea what could be the problem?