Questions tagged «webrtc»

8
WebRTC与Websockets:如果WebRTC可以处理视频,音频和数据,为什么我需要Websocket?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 因此,我正在寻求构建一个允许视频,音频和文本的聊天应用程序。我花了一些时间研究Websockets和WebRTC来决定使用哪个。由于WebRTC有大量的视频和音频应用程序,这听起来像是一个合理的选择,但是我还应该考虑其他事项吗?随时分享您的想法。 像: 由于是新的,因此WebRTC仅在某些浏览器中可用,而WebSockets似乎在更多的浏览器中可用。 可伸缩性-Websockets使用服务器进行会话,而WebRTC似乎是p2p。 多重/多个聊天室-用于Google+环聊中,我仍在查看演示应用程序的实施方法。 服务器-Websockets需要RedisSessionStore或RabbitMQ才能在多台计算机上扩展。
219 websocket  webrtc 


6
如何在iOS11主屏幕Web应用程序上访问相机?
摘要 我们无法使用WebRTC或文件输入从iOS11(公开发行)主屏幕网络应用访问摄像机,详细信息如下。我们的用户如何继续使用相机? 我们通过https提供网络应用页面。 4月更新 iOS 11.3的公共发行版似乎已解决了该问题,并且文件输入摄像头访问再次起作用! 3月更新 正如这里的人所说的,苹果文档建议Web应用程序摄像头功能与服务人员一起在11.3中返回。这很好,但是我们不确定是否要大家重新安装,直到我们可以在11.3GM上进行全面测试。 解决方案,十一月 我们失去了希望苹果公司解决此问题并向前迈进的希望。修改了我们的Web应用程序以删除iOS的“添加到主屏幕”功能,并要求受影响的用户删除任何以前的主屏幕图标。 12月6日更新 iOS 11.2和iOS 11.1.2无法修复。 解决方法,9月21日 似乎我们可以向网络应用的现有客户咨询 不能升级到iOS11-祝你好运:) 在iOS相机中拍照,然后在网络应用中重新选择它们 等待下一个iOS Beta 重新安装为Safari浏览器内页面(在删除ATHS逻辑之后) 切换到Android 文件输入 我们当前的生产代码使用文件输入,该文件输入在iOS 10及更高版本上运行良好。在iOS11上,它可以作为Safari标签使用,但不能在主屏幕应用中使用。在后一种情况下,相机是打开的,并且仅显示黑屏,因此无法使用。 <meta name="apple-mobile-web-app-capable" content="yes"> ... <input type="file" accept="image/*"> WebRTC iOS11上的Safari 11提供了很棒的WebRTC媒体捕获。 根据此处链接的示例代码,我们可以使用navigator.mediaDevices.getUserMedia在台式机和移动设备上的普通网页上捕获相机图像,并将其捕获到画布上。 当我们将页面添加到iPad或iPhone主屏幕时,navigator.mediaDevices变得undefined无法使用。 <meta name="apple-mobile-web-app-capable" content="yes"> ... // for some reason safari on mac can debug …

11
WebRTC-可伸缩的实时流广播/多播
问题: WebRTC为我们提供了对等视频/音频连接。非常适合p2p通话,环聊。但是广播(一对多,例如1-to-10000)又如何呢? 假设我们有一个广播公司“ B”和两个与会者“ A1”,“ A2”。当然,这似乎是可以解决的:我们只需将B与A1连接起来,然后将B与A2连接起来。因此,B直接将视频/音频流发送到A1,将另一个流发送到A2。B发送两次流。 现在,假设有10000位与会者:A1,A2,...,A10000。这意味着B必须发送10000个流。每个流约为40KB / s,这意味着B需要400MB / s的传出互联网速度来维持此广播。不能接受 原始问题(过时) 是否可以通过某种方式解决此问题,因此B在某个服务器上仅发送一个流,而与会者只是从该服务器中拉出该流?是的,这意味着该服务器上的传出速度必须很高,但是我可以维持它。 也许这意味着破坏WebRTC的想法? 笔记 根据最终用户的不良UX,Flash无法满足我的需求。 解决方案(并非完全如此) 2015年5月26日-目前尚无针对WebRTC的可伸缩广播的解决方案,您根本不需要使用媒体服务器。市场上有服务器端解决方案以及混合(p2p +服务器端,具体取决于不同的条件)。 尽管有一些很有前途的技术,例如https://github.com/muaz-khan/WebRTC-Scalable-Broadcast,但他们需要回答以下可能的问题:延迟,整体网络连接稳定性,可伸缩性公式(它们可能不是无限可伸缩的) )。 建议 通过调整音频和视频编解码器来减少CPU /带宽; 获取媒体服务器。

8
如何使用webRTC和基于服务器的对等连接录制网络摄像头和音频
我想记录用户的网络摄像头和音频并将其保存到服务器上的文件中。这些文件随后将可以提供给其他用户。 回放没有问题,但是在录制内容时遇到了问题。 我的理解是.record()尚未编写getUserMedia函数-到目前为止仅对此提出了建议。 我想使用PeerConnectionAPI在服务器上创建对等连接。我知道这有点麻烦,但是我认为应该可以在服务器上创建一个对等方并记录客户端对等方发送的内容。 如果可以的话,那么我应该能够将数据保存为flv或任何其他视频格式。 我的偏好实际上是录制网络摄像头+音频客户端,以便客户端在上载之前不喜欢他们的第一次尝试时重新录制视频。这也将允许网络连接中断。我看过一些代码,可以通过将数据发送到画布来记录网络摄像头中的单个“图像”,这很酷,但是我也需要音频。 这是我到目前为止的客户端代码: <video autoplay></video> <script language="javascript" type="text/javascript"> function onVideoFail(e) { console.log('webcam fail!', e); }; function hasGetUserMedia() { // Note: Opera is unprefixed. return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia); } if (hasGetUserMedia()) { // Good to go! } else { alert('getUserMedia() is not supported …

1
WebRTC是否使用TCP或UDP?
这听起来像一个非常基本的问题,但我需要确认 WebRTC是否使用TCP或UDP作为其对等传输?我怎么知道 ? 我读到有可靠性模式和DTLS协议,它们如何影响? Media和DataChannel的传输方式是否相同? 如何在TCP和UDP之间切换? 我之所以这样问,是因为我知道浏览器对并行连接的数量有限制(我认为他们谈论的是TCP),也许UDP连接不受限制。
81 tcp  udp  webrtc  channel  transport 

5
最初拒绝后,再次使用getUserMedia()提示权限
拒绝一次后,如何通过getUserMedia()请求摄像头/麦克风访问? 我正在与getUserMedia一起使用,以访问用户的相机并将数据通过管道传输到画布。那一点一切正常。 在测试中,我一次拒绝。此时,在Chrome和Firefox中,任何带有getUserMedia()的后续请求均默认为拒绝状态。 我们显然不希望在被拒绝后在每次加载页面时请求摄像头/麦克风的权限来惹恼我们的用户。地理位置api已经足够令人讨厌。 但是,必须有一种方法可以再次请求它。仅仅因为用户单击一次“拒绝”并不意味着他们要一直拒绝网络摄像头访问。 我一直在阅读有关规范的信息,并搜索了一段时间,但是我没有明确发现有关此问题的任何信息。 编辑:进一步研究,似乎在Chrome中点击“拒绝”会将当前站点添加到阻止列表。可以通过chrome:// settings / content手动访问。滚动到媒体。管理例外,删除被阻止的站点。 链接到chrome:// settings / content无效(在我们要添加有用的链接以使人们重新启用权限的情况下)。 用于处理围绕getUserMedia的权限的整个UX会发臭。=(

3
什么是ICE候选人,对等连接如何选择?
我新编写了一个简单的聊天应用程序,但我并不真正了解ICE候选人的背景。 当对等方创建连接时,他们将获得ICE候选者,并交换它们并将其最终设置为对等方连接。 所以我的问题是,ICE候选人来自何处,如何使用它们? 我注意到我的同事在自己的计算机上执行应用程序时,候选人数量减少了,这是为什么候选人数量不同的原因?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.