Closed Janhouse closed 4 years ago
It seems like it would be far simpler to check whether or not the relevant browser APIs are available, rather than relying on (what I'm guessing are) hardcoded User Agent strings.
There's plenty of libraries out there that simplify this process. I've had success with webrtcsupport in the past. Might be worth looking in to.
Hmm, I just tested opening https://meet.jit.si with my Safari on my iPhone 7 on iOS 11.0.2 and I still get the "Your browser does not support WebRTC" message.....
Is webRTC support only available in desktop safari and not iOS 11?
@petervnv the only support for safari currently is via the temasys plugin, so i don't think mobile will work. we're taking a look at native webrtc support for the safari versions that support it soon (though i doubt we'll be spending time on mobile safari, as we have the native app there, but @saghul or @lyubomir can confirm)
Thanks for the update @bbaldino I wouldn't spend much time on mobile Safari either. The app is more than enough
@bbaldino Would it be possible to strip out the Temasys plugin entirely, seeing as it's not required for mobile Safari any more?
Is there any reason that you can't just treat mobile Safari in the same way you do any desktop browser, or even Chrome on Android, and use the built-in WebRTC APIs?
@joshfarrant not sure if we'll be able to get rid of temasys entirely, lots of enterprises lag quite a bit on updates and are probably on old versions of ie/safari which would require the plugin. maybe someday though, it would be nice to be able to simplify things.
as for treating mobile safari the same, that might be possible, but i haven't looked into what mobile safari even supports...it may or may not have the same webrtc apis implemented as in the desktop one and, even if so, unfortunately 'treating mobile browser XXX the same as desktop browser XXX' never seems to work all that well and practice and usually requires special-casing. but agree it's worth a look once we get desktop safari working.
@bbaldino That's fair. Appreciate that enterprise users won't be particularly up-to-date and you definitely don't want to start breaking things!
I've actually had a lot of success with WebRTC on mobile Safari in the past. I worked on quite a large WebRTC application (which was built for desktop browsers, as well as for Chrome on Android) which didn't require any modification at all to get it working on iOS 11. This might not be the case for every application, but it gives me hope at least!
I'd be interested in testing Jitsi Meet on iOS 11 as-is (minus Temasys) to see what breaks, and how badly. Is there any chance you could point me in the right direction of where to start removing/bypassing Temasys? I've had a poke around but can't seem to find where it's referenced.
@joshfarrant @virtuacoplenny and i are in the middle of some work right now that should make all this a lot easier...we're moving away from our own shimming and over to using adapterjs which will make supporting other browsers like safari a lot more straightforward. if you do want to poke around, there is a method in RTCBrowserUtils which tests whether or not the temasys plugin should be used. but when you turn that off for safari, you'll need to add a bunch of shimming logic to make the types/functions (getUserMedia, RTCPeerConnection) etc. set up in the way that lib-jitsi-meet expects them. i'd suggest waiting a week or two, hopefully this should be in much better shape by then.
@bbaldino That's great to know, thanks. I'll have a bit of a poke around but won't go too deep down this rabbit hole until those changes have dropped ๐
Hello! I wonder if there has been any advancement on this, please? I'd love to have Safari 11 working without the plugin, just to avoid having a plug-in!
@virtuacoplenny just did a bunch of PRs on this, though we are just doing audio-only on safari for now. but that should be available soon.
In my case, I need to make Safari working, even by changing from VP8 to H264 and disabling simulcast. I forked the lib-jitsi-meet
to enable video support for Safari, and it works fine between Chrome / Safari. But I can't get it working between Firefox and Safari, I suspect due to Firefox.
Currently, I try to completely remove VP8/VP9 from SDP but it causes even more problems. Anyone has ideas how can I work around it? Thanks
@Kukunin i'd send an email on the list (dev@jitsi.org) and we can try and figure out your issues there.
any update on this?
By the way, if you are unsure of how to approach it or if it is working at all, here is a working demo that runs on iPhone Safari https://wcs5-eu.flashphoner.com/client2/examples/demo/streaming/two_way_streaming/two_way_streaming.html
Is there any plan to make it work for Safari? Any plans?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Nice try bot, this still hasn't been fixed. ๐
We've got to keep an eye on these bots - This is how it starts...
so what is the status? I see for other webrtc services like appearin, safari works except for screensharing.
FWIW the technology preview of Safari appears to support VP8 video since preview 68.
Just tried https://meet.jit.si on Safari Technology Preview Release 74 and video is still not supported..
This Technology Preview supports the following experimental features and they are enabled:
that's said..
What we, real users, can expect here?
You can expect full support. But it will take a bit for us to get there, we are a tad busy these days. Donโt despair!
We really need this to work. Thank you and appreciate all the work.
Hello, we also need this to work on iphone safari. I was successful in editing the app_bundle_min.js to work for Android both video and audio! I was hoping to get it to work for iphone since Safari now supports webRTC.
Seems all is shipped on Safari https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/
So we are good to go here, no blockers should be faced, all the WebRTC features are supported now
do we have any updates here? ;)
I am interested in the update as well. But also, out of curiosity, how does the Demo react native app overcome this issue on ios ? https://github.com/jitsi/jitsi-meet/tree/master/react
Everyone: This is close to getting fixed here https://github.com/jitsi/lib-jitsi-meet/pull/835
@nathando I don't understand your question.
@saghul I wonder how the react native app overcome the issue on safari ? Or it did not just use the safari mobile but other native element ?
The Jitsi Meet app is built using React Native, it does not use a webview and thus is not affected by this problem.
@saghul thanks for the info. We are working on a solution and want to have it work on Unity3d. Wonder how could we replicate the result achieved in React Native, or anyone tried before ?
I see https://github.com/jitsi/lib-jitsi-meet/pull/835 has been merged into master.
Would love to test this on http://meet.jit.si or even on https://github.com/jitsi/docker-jitsi-meet. Any ideas how or just a matter of waiting? Thanks.
It's a matter of waiting for a stable deployment. You can test on our beta setup: https://beta.meet.jit.si
I'm going to keep this open until we deploy a release to meet.jit.si at least.
Cheers!
@nathando Please start a topic on our forum (https://community.jitsi.org), your question is off-topic in this issue. Thanks!
It's a matter of waiting for a stable deployment. You can test on our beta setup: https://beta.meet.jit.si
@saghul No safari support yet on the beta site yet. But happy to test once it's there.
@mibstar I double-checked, it's there. What Safari version are you using? Note that video will only work (as a starter) on Safari >= 12.1 with plan B (the default). If you change the experimental flag to Unified Plan you'll get audio only.
@saghul I'm on 12.1 and I'm not aware that I've changed any defaults.
Hello All, I would like to report that we tested on the iPhone using Safari 12.1 mobile at https://beta.meet.jit.si (requested desktop version), and firefox on linux. We were both able to see each other and hear each other. The camera is working! Any ETA on this beta on being production release? Thanks
@mibstar It might be a case of cache flushing / hard refreshing.
I would like to report that we tested on the iPhone using Safari 12.1 mobile at https://beta.meet.jit.si (requested desktop version), and firefox on linux. We were both able to see each other and hear each other. The camera is working! Any ETA on this beta on being production release?
Thanks for testing! The only ETA I can give you is "soon", sorry.
Still not working after emptying cache. Also I've only just come across the beta site so I can't see how it would be a cache issue as it didn't not work in incognito mode.
On an iPad Air I deleted the meet app and tried but I'm getting:
Safari cannot open the page because the address is invalid
When I click on 'Continue to the app' instead of 'Download the app'. So still unable to test!
@mibstar How weird! What do you see in the JS console logs at the start?
@saghul this:
Can you start on a private tab so no usettings are reused? Also, is your camera working fine with other applications?
Ah... strange the camera was in fact not working not even on facetime but after a reboot still nothing.
Tried from Safari first and no prompt for access to camera. Joined Chrome and all was well.
I'm also including a fresh console log from incognito:
That's very weird. "Invalid constraint" is the error, but I have no idea why you are getting that. What mac are you using?
I'm using Safari 12.1 on macOS 10.14.4 (18E226).
When I load the beta site, I am prompted to permit camera and mic access. If I do so, it works, but the display shows only a static video image.
When I load the beta site, I am prompted to permit camera and mic access. If I do so, it works, but the display shows only a static video image.
You mean the user avatar? Where, in the thumbnails or the large video?
Sorry, I was unclear.
The large video, showing me (as the only participant to the conference at the time), not the gravatar.
Not showing video on the thumbnails is a known issue due to how Safari handles the autoplay policy, we'll be working on that. Thanks for testing!
There is no need for plugins in latest Safari on desktop and mobile but it still shows a notification that Safari requires a plugin.