3

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).

metsburg
  • 2,021
  • 1
  • 20
  • 32
  • I got oTalk to work but no video. GitHub then add video framework. Here: https://github.com/otalk – Stephen J Jul 23 '15 at 23:17
  • edit: the project is outdated compared to the TLK delegate. Update the delegate methods to use the right addedStream – Stephen J Jul 23 '15 at 23:55

3 Answers3

3

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.

neilireson
  • 409
  • 3
  • 7
2

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.

Arnaud Leyder
  • 6,674
  • 5
  • 31
  • 43
  • 1
    getUserMedia is a javascript hook, and availability is dependent on the browser you are using. It has been available in most chrome builds (including chrome for ios) for a few months now. The peer-to-peer connection that the webrtc native API's provide is used by browsers to establish a connection. This had to be available on ios before getUserMedia could be implemented in the first place. Both api's have been availabl at least since february this year. Source: I've been using these api's since february this year. – Kevin Sep 01 '14 at 12:47
  • Your comment does not seem to help the OP much for a working solution. The fact is that both API wont work (today) on Safari for iOS which is behind the rendering machine for WebView. Chrome on iOS has low market share and will not help for WebView rendering ... anyway you could share your example of a working application to help the community – Arnaud Leyder Sep 01 '14 at 13:16
  • 1
    I doubt my boss would appreciate me sharing our entire (webrtc related) code. Helping the OP was not my primary reasoning for that comment, rather letting other people know that there is in fact a possibility to use these api's on ios. Future readers might think it's not possible to use them on ios after reading your answer. – Kevin Sep 01 '14 at 13:56
  • This is out of date. As of safari 11 WebRTC is supported. – JohnSalzarulo Mar 25 '18 at 20:18
1

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

Tal Laitner
  • 141
  • 1
  • 8