Tag: webrtc

WebRTC大多数时候将Safari与Chrome连接起来不起作用

苹果公司从桌面上的iOS 11和Safari 11开始支持WebRTC。 我是新的WebRTC。 作为一个基础,我使用的是两个浏览器之间的基本video聊天应用程序的谷歌codelab的代码。 为了testing,我在同一个WiFinetworking中使用了两个设备,只是为了确保。 在这种情况下,它可以很好地工作(请参阅规格设备): 桌面/ Chrome < – > Android / Tab / Chrome 桌面/ Chrome < – > iPad / Safari 桌面/ Safari < – > iPad / Safari 桌面/ Safari < – > iPhone / Safari iPad / Safari < – > iPhone / Safari 这不是在这些情况下工作: 桌面/ Safari < – […]

通过WebRTCstream式传输屏幕截图,作为来自iOS的videostream

我们想从iPad分享屏幕(截图)到浏览器。 目前我们截图并通过WebRTC DataChannel发送,但是这需要很多带宽。 每秒发送5帧完全压缩和缩放,仍然需要大约1.5-2mb / s的上传速度。 我们需要利用某种forms的video编码,所以我们可以降低带宽需求,让WebRTC根据连接速度来处理stream量控制。 AVAssetWriter拍摄图像并将其转换为.MOV文件,但不会让我们从中获取stream。 对我们有什么想法? 现在相当卡住了,所有的想法都表示赞赏。 感谢提示这是一个重复,但是这并不能帮助我很多。 我已经有了一个可行的解决scheme,但是还不够好。 编辑: UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.7); //Scaling is slow, but that's not the problem. Network is [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *data = UIImageJPEGRepresentation(image, 0.0); //Compress alot, 0.0 is max, 1.0 is least NSString *base64Content = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; 然后按照文档的build议,通过16Kb块的WebRTC DataChannel发送base64数据。 dc.send(…)

iPhone SDK WebRTC集成错误

当我的iOS项目安装WebRTC时 ,我收到以下错误: Undefined symbols for architecture i386: "_OBJC_CLASS_$_RTCICECandidate", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCICEServer", referenced from: objc-class-ref in APPRTCAppClient.o "_OBJC_CLASS_$_RTCMediaConstraints", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCPair", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCPeerConnectionFactory", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCSessionDescription", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCVideoCapturer", referenced from: objc-class-ref in APPRTCAppDelegate.o "_OBJC_CLASS_$_RTCVideoRenderer", referenced from: objc-class-ref in VideoView.o […]

如何自定义AppRTC来接听电话

我已经在我的项目中集成了AppRTC ,并且能够使用RoomName在https://apprtc.appspot.com的房间中joinWebRTC调用 appClient = ARDAppClient(delegate: self) appClient?.createLocalMediaStream() appClient?.connectToRoomWithId(String(roomId), options: nil) 我可以在我的应用程序中对RoomName进行硬编码, 并将应用程序安装在两个设备A和B中 ,如果我在A和B中同时拨打这两个设备的电话,则可以在它们之间成功进行WebRTC呼叫 。 现在我想要做一个真正的VOIP电话,从我的应用程序在设备A拨打电话,并在设备B中的我的应用程序接收电话。 AFAIK我必须在这里做SIGNALING部分来连接设备B的应用程序从设备A. 任何帮助,高度赞赏!

RTCDataChannel不工作的iOS

我正在使用RTCDataChannel。 但是我通过频道发送的消息在另一个同伴没有收到。 这里是代码: let audioConstraint : RTCPair = RTCPair(key: "OfferToReceiveAudio", value: "true") let videoConstraint : RTCPair = RTCPair(key: "OfferToReceiveVideo", value: "true") let dtlsConstraint : RTCPair = RTCPair(key: "DtlsSrtpKeyAgreement", value: "true") let mediaContraints : RTCMediaConstraints = RTCMediaConstraints(mandatoryConstraints: [audioConstraint, videoConstraint], optionalConstraints: [ dtlsConstraint]) RTCPeerConnectionFactory.initializeSSL() peerConnection = peerConnectionFactory.peerConnectionWithICEServers(servers, constraints: mediaContraints, delegate: self) dataChannels = peerConnection?.createDataChannelWithLabel(channelName,config: nil) dataChannels?.delegate = […]

这代码是什么意思,“404 =未find; 404; -32601” ? 在joinKurento媒体服务器中的一个房间时发生这种情况

我正在android应用程序中,我有一个videostream。 我正在使用kurento媒体服务器进行stream式传输。 我通过使用以下代码连接到KMS: executor = new LooperExecutor(); executor.requestStart(); String wsRoomUri = "wss://192.168.0.104:8433/kurento"; kurentoRoomAPI = new KurentoRoomAPI(executor, wsRoomUri, this); CertificateFactory cf; try { cf = CertificateFactory.getInstance("X.509"); InputStream caInput = new BufferedInputStream(getAssets().open("kurento_room_base64.cer")); Certificate ca = cf.generateCertificate(caInput); kurentoRoomAPI.addTrustedCertificate("ca", ca); } catch (CertificateException |IOException e) { e.printStackTrace(); } kurentoRoomAPI.useSelfSignedCertificate(true); kurentoRoomAPI.connectWebSocket(); 它被连接。 但是当我尝试join房间时,显示错误,错误是: .vtt.nubotest E/MainActivity: Code:-32601 04-18 17:30:18.061 11699-11938/fi.vtt.nubotest E/MainActivity: […]

如何解决在XCode链接器警告“忽略链接器优化提示”?

谷歌search“忽略链接器优化提示”实际上什么都没有。 注意:“优化”是确切的拼写:) 我在我的一个应用程序中使用Pristine的第三方WebRTC库(libjingle_peerconnection),当我为我的iPhone 6构build时,我收到了警告。我不确定此警告是否会为其他设备popup,但是,当我为模拟器构build时不会出现。 我的编译输出中正好有68个这样的坏男孩: ld:警告:忽略链接器优化提示_cftmdl_128_neon + 0xF0,因为ldrInfoC.offset == 0 我不确定是否应该通知维护者,或者如果这是我可以解决的问题。

当已经有一个新的框架时如何跳过didReceiveFrame?

在一个webrtc应用程序中有一个名为didReceiveFrame的callback函数,当有一个新的框架被渲染时被调用。 它通过新的框架作为参数,可以从这个框架中提取纹理。 但是,如果由于某种原因,主线程被延迟(考虑断点,设备旋转,仍然繁忙的渲染,等等),然后这个callback被分别调用每个“错过”的框架。 这有效地增加了摄像头捕获和渲染之间的延迟。 我怎样才能确保didReceiveFrame只调用最新的帧? 或者我怎么能看到如果传递的帧是最新的(所以我可以跳过function)?

iOS 11(Beta)中的webKit是否支持WebRTC?

我有一个与iOS11(Beta)上的Safari工作正常的urlaudio/video工作正常。 但是当我用WKWebView加载这个URL时,它给了我一个错误“不兼容的浏览器”,当我在WebKit中检查我的浏览器版本时,它显示“iOS 11上基于WebKit的浏览器” 所以问题是,苹果是否在iOS 11开发者testing版的WKWebview webkit(它应该与Safari相同)中包含这一变化?

在iOS的WebRTC中测量麦克风级别

我有一个WebRTC iOS应用程序。 那里有AVAudioSession和RTCAudioSource 。 我需要检测麦克风何时开始接收响亮的声音(就像一个人开始说话的时候),类似于使用AudioContext在浏览器中做的事情。 我如何检测它或获取类似于可以像AVCaptureAudioChannel或AVCaptureAudioDataOutput一样测量的stream?