目前还没有,它只支持Firefox的nightly和Chrome,两种桌面版本。看到 http://www.webrtc.org
编辑:对不起我以为你要求移动浏览器。对于原生应用程序,它看起来像一个明确的否:(
但似乎有一些移动浏览器支持 http://www.morbo.org/2013/04/webrtc-support-on-android.html
截至今天,WebRTC正式在Android / iOS上本地提供。
http://www.webrtc.org/native-code/android
http://www.webrtc.org/native-code/ios
虽然在幕后,但它只是围绕C ++ API的Java / Objective C包装器。
您仍然可以使用它们而无需通过JavaScript。
Java包装器API: https://code.google.com/p/webrtc/source/browse/trunk/talk/#talk%2Fapp%2Fwebrtc%2Fjava%2Fsrc%2Forg%2Fwebrtc
Objective C包装器API: https://code.google.com/p/webrtc/source/browse/trunk/talk/#talk%2Fapp%2Fwebrtc%2Fobjc%2Fpublic%253Fstate%253Dclosed
我不知道“直接在移动应用程序上使用WebRTC库”是什么意思。 但是我已经完成了一些事情。 使用JNI + NDK构建WebRTC NS / AEC / AECM / AGC / VAD模块,并在android上使用共享库。 或者您可以为Android和iOS构建整个WebRTC VoE和ViE。
如果您的目标是android> = L,您可以通过在您的应用中嵌入支持WebRTC的(chrome)webview来轻松构建原生webRTC应用。
看到 chrome webview
我的团队在这个领域做了很多工作。如果您正在寻找Cordova插件,我们一直在玩一个名为的开源项目 PhoneRTC 。我们让它在iOS上运行,但它有点不可靠,视频窗口的宽高比固定在大多数设备上看起来不自然但它确实有效。
我们还使用libjingle创建了一个Android演示。 Libjingle现在是WebRTC项目和代码库的一部分。 这个 链接现在可能已过时,但指向当时对我们有用的说明。
您可能想要查看的一个资源是本文: 如何开始使用webrtc和ios而不浪费10个小时的生命
我遇到的一个问题是弄清楚所有问题 WebRTC/Libjingle 库文件。目前,我可以运行示例应用程序,但我希望那里有一个“Hello World”示例。
WebRTC/Libjingle
让我总结一下答案,在Android上,Firefox实际上有WebRTC支持我相信,另一方面有很多公司提供完整的堆栈来构建WebRTC产品。如果你是 在完成WebRTC并构建其他东西(寻址等)后,你可能需要自己构建几个包装器。 (免责声明我为sinch工作)
[http://sinch.com] [http://twilio.com] [http://tokbox.com] [http://nexmo.com] [http://plivo.com] (I think)
还有更多,但这些是主要的
我们都有不同的利弊。如果你有兴趣发送电子邮件,我可以谈论sinch。
截至5月14日 这里 是一个使用的android项目 WebRTC 这很好用。
WebRTC
我把整个android项目翻译成了 Objective-C 对于iOS而言,WebRTC也在iOS上运行,但我在iPhone 4和4s上遇到了麻烦。只适用于iPhone 5和5s。
Objective-C
我认为问题在于性能。当我使用webrtc库进行视频通话时,它占用了iPhone 5上大约140%的CPU,我猜这是很多资源而且iPhone 4s无法处理它。
编辑
在与视频连接挣扎之后(10秒后总是断开连接)我终于让WebRTC在iPhone 4上运行了,你所要做的就是在创建本地videoSource捕获对象时设置正确的约束:
NSString *_width = @"320"; NSString *_height = @"180"; NSString *_maxFrameRate = @"10"; RTCMediaConstraints *videoConstraints = [[RTCMediaConstraints alloc] initWithMandatoryConstraints:@[[[RTCPair alloc] initWithKey:@"maxHeight" value:_height], [[RTCPair alloc] initWithKey:@"maxWidth" value:_width], [[RTCPair alloc] initWithKey:@"maxFrameRate" value:_maxFrameRate]] optionalConstraints:@[[[RTCPair alloc] initWithKey:@"googCpuOveruseDetection" value:@"true"], [[RTCPair alloc] initWithKey:@"googCpuLimitedResolution" value:@"true"]]]; RTCVideoSource *videoSource = [factory videoSourceWithCapturer:capturer constraints:videoConstraints]; RTCMediaStream *lms = [factory mediaStreamWithLabel:@"ARDAMS"]; [lms addVideoTrack:[factory videoTrackWithID:@"ARDAMSv0" source:videoSource]];
请注意,这会发送一个非常小的视频,但它的工作原理!
现在你有两个选择:
我们(免责声明:我在那里工作)已经建立了一套图书馆来实现这个@ Frozen Mountain,in IceLink 。适用于iOS,Android,.NET等的完整WebRTC实现
很晚才回答.. 但我刚刚在iOS Project中创建了一个可以轻松添加WebRTC的框架。 您不需要从库中构建WebRTC框架。 这个框架将为您提供内置框架以及一个包装器,以便将webRTC轻松添加到您的应用程序中。 https://github.com/Ankit-Aggarwal/SwiftyWebRTC
SightCall具有适用于Android的WebRTC兼容SDK,可让Android原生应用程序在浏览器中连接到WebRTC。 你可以获得SDK 这里
可以使用第三方API(如OpenTok)在移动应用程序中使用WebRTC(仅限iOS,截至2014年1月Android测试版) http://tokbox.com/opentok/webrtc/downloads/index.html 和Addlive(iOS和Android) http://www.addlive.com/platform-overview/
您可以将WebRTC与本机应用程序一起使用,但这需要一些工作。
如果你看图像,你可以在底部看到一个红色矩形。这是WebRTC的原生C ++库。用于音频和视频的WebRTC类和WebRTC对象也可以作为WebRTC项目的一部分找到。您需要添加的API是您的应用程序能够设置调用的API(VOIP接口),信令堆栈和NAT遍历实用程序(核心协议 - 对于SIP,这可能类似于PJSIP和PJNATH)和从信号堆栈到webrtc的适配器,告诉它何时打开视频和音频通道以及何时停止它们等。
也可以看看: http://bloggeek.me/porting-webrtc-mobile/