iOS video/audio calls with webRTC using UIWebView or any alternative - ios

Im working with integrating my iOS app with ladesk Live agent, they don't have an SDK for iOS neither android, you have to embed a unique URL in a UIWebView as per the integration instructions
but it is faced a fact that the video / call button needs to work with webRTC. The WebRTC framework that is responsible for voice functionality in the browser, however webRTC is not available in the mobile versions of web browsers.
The best thing I found is A WebRTC browser for iOS developed in the open. Bowser is built on top of OpenWebRTC. but it didn't work, and had same results as doing the same with UIWebView
Any ideas in Objective c or swift?

You won't be able to use WebRTC in a UIWebView (or its successor WKWebView) since WebRTC is only available in the Safari app on iOS.
The only way forward is to use a WebRTC stack (like Apprtc) and implement your own solution based on that.

Related

What is the native alternative to browser's navigator.getUserMedia in iOS?

As it has been mentioned here, unfortunately there is a sever bug in WKWebView in iOS preventing using getUserMedia , stopping apps like Chrome, Firefox, or any cordova or capacitor based apps from being able to use the media stream.
Is there an native equivalent thing in iOS as getUserMedia to use it as a workaround?
Could this be used as an alternative, to access the microphone?
I am using such functionality for a voice chat using WebRTC.
As you mentioned WKWebView I assume you are using cordova or something similar to show your existing webapp. If that is so, this might help you: https://github.com/cordova-rtc/cordova-plugin-iosrtc - works perfectly and support by the creators is awesome.

WebRTC/Janus on iOS

What are my options implementing WebRTC (Janus specifically) in my iOS app?
From what I've gathered, using the WebRTC library made by Google is hard and may fail. Also the fact that the backend uses Janus, I don't know how much work I'd have to do to get the basic WebRTC compatible with the Janus layer.
Also, does WebRTC work in Safari/WK webviews in iOS 11/12? I don't want to stream from the app, I only want to view a stream.

To achieve local media tracks when deploying ionic application in IOS using twilio

I am building an ionic application. I am using twilio-video sdk to implement video call. I am able to work it in android devices and browser. When i try to deploy it on IOS, the mobile UI Webview browser does not let me use the getUserMedia() function.
Error: getUserMedia() is not supported
Apple developer forums states that it supports only safari 11 and not any other Webkit Views. Has anyone came to a solution?
Also is there a way to get local media tracks when building an ionic application in ios?

Is there a way to use Chrome in a webview in an iOS app?

I need to build video chat application with the option to record the video call. I think that most appropriate would be to use WebRTC, specifically Kurento. However, Safari does not support WebRTC at this moment, and the iOS client SDK's don't offer the ability to record the video. This is supported for a javascript client:
http://doc-kurento.readthedocs.io/en/stable/tutorials/java/tutorial-one2one-adv.html
So I was thinking to open a chrome browser inside my app just for the webRTC functionality. I read about Blink WebKit but I'm not sure if this is what I need.
P.S. Any other proposed solutions for the video call + recording features on an iOS app are welcome.
The simple answer is no, you can't use Chrome on IOS for webRTC. Apple for some reason don't like peer to peer technologies, and while they are rumoured to be working on it, there is no announcement yet.
There is this...
cordova-plugin-iosrtc
Cordova iOS plugin exposing the full WebRTC W3C JavaScript APIs.
Public Google Group (mailing list) for questions and discussions about
cordova-plugin-iosrtc. Bug Tracker for reporting issues and requesting
new features (please don't use the bug tracker for questions or
problems, use the mailing list instead). NPM package. Yet another
WebRTC SDK for iOS?
Absolutely not. This plugin exposes the WebRTC W3C API for Cordova iOS
apps (you know there is no WebRTC in iOS, right?), which means no need
to learn "yet another WebRTC API" and no need to use a specific
service/product/provider.
https://github.com/eface2face/cordova-plugin-iosrtc
Warning: Some assembly required
See this article for more details on the pitfalls:
http://ninjanetic.com/how-to-get-started-with-webrtc-and-ios-without-wasting-10-hours-of-your-life/

Video Streaming in iOS through WebRTC

I am trying to build a audio/video streaming app that works cross platform on iOS and Android mobile devices.
No matter how deep I Google, I'm ending up with suggestions that point me towards OpenTok/TokBox API. But this is what I wish to avoid.
I've checked a few demo, but WebRTC/HTML5 do not seem to work with streaming video/audio in iOS browser. For example, the https://apprtc.appspot.com demo does not work in Safari or Opera Mini in iOS.
When I try http://dev.opera.com/articles/media-capture-in-mobile-browsers/demo/ ... I can capture image using the default iOS camera picker from my browser but streaming video fails.
It seems like the getUserMedia() stuff is not supported by any browser in iOS.
Moreover, I am planning to put this on a WebView in a native iOS app. This sounds like a really far cry.
I wish someone could point me towards something that helps me build a video streaming app (hopefully using HTML5), that works uniformly for iOS and android (without TokBox).
You might want to look into Ericsson's Bowser App http://www.ericsson.com/research-blog/context-aware-communication/bowser-openwebrtc-released-open-source. It claims to provide WebRTC on Android and IOS. Apparently the App is currently under review in the App Store so if you wait it may just be a case of downloading the App. However it's also open source so if you can't wait then you can build it yourself https://github.com/ericssonresearch/bowser.
getUserMedia and WebRTC Peer-to-peer connections APIs are not supported in iOS.
One of the reason is that at the moment efforts around WebRTC focus on VP8 video codec which Apple and Microsoft do not support natively. Support in the near future is unlikely with Microsoft pushing for its own standard.
Doing what you want on iOS requires you use a native iOS compatible solution like OpenCV which supports video capture. You can find on Google tutorials on how to implement a solution based on OpenCV.
good news, will be supported at Safari 11.0
https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html

Resources