WebSockets vs 长轮询(二)

为什么使用WebSockets构建: Full-duplex异步消息传递。换句话说,客户端和服务器都可以独立的向彼此传输消息。 WebSockets无需重新配置即可通过大多数防火墙。 良好的安全模型(基于原始的安全模型)。  WebSockets开源解决方案   WebSockets库有两个主要类:其一实现协议并将剩余部分留给开发人员,另外一个构建在协议之上,具有实时消息传递应用程序通常

WebSockets vs 长轮询(一)

如何在两者之间做出选择?   有时我们需要服务器提供的信息。我们习惯的通常的AJAX请求/响应不会为这种情形保持连接处于打开状态。相反,我们需要基于推送的方法,比如WebSockets,长轮询,服务器发送事件以及最近的HTTP2推送。本文中,我们比较了两种方法:WebSockets与长轮询。   长轮询概述   1995年,Netscape Communication

通过 wireshark 抓包了解直播流媒体 RTMP 协议基本过程

在直播是最常见的实时音视频场景,而 RTMP 是该场景下最重要的协议之一,是很多初步接触实时音视频的开发者需要了解的。本文会一边利用 winshark工具进行抓包,一边从中分析 RTMP 协议的基本原理,帮助大家更容易地理解它。 先给出RTMP协议的原文件 www.adobe.com/devnet/rtmp… 需要用到的时候可以参考一下~。 做推流直播接触最多的并且最主要是RTMP协议 RTMP协

二分浏览器错误

当大规模运行WebRTC时,最终会以遇到问题和频繁的回归结束。能够快速识别出问题所在是防止Chrome Stable中的归档降级或调整自己代码以避免问题的关键。Chrome的bisect-builds.py工具使这个过程比你想象中容易得多。来自appear.in的Arne为你提供了一个示例,说明他是如何使用它解决最近出现的问题。 本文中,我将会逐步解释Chrome的更改是如何触发appear.in

WhatsApp RTCP利用—可能发生了什么?

你可能已经听说过,Whatsapp在他们的客户端发现了一个安全问题,这个问题在wild被积极利用。该漏洞利用不需要目标接听电话,这真的很可怕。 Facebook发布的安全公告称: WhatsApp VOIP堆栈中的缓冲区溢出漏洞允许通过发送到目标电话号码的特制SRTCP数据包远程执行代码。 这个细节不多,调查可能仍在进行。我非常希望听到报告WhatsApp如何检测到滥用行为。 我们知道SRTCP存

使用QUIC数据通道的第一步

基于QUIC的数据通道目前正在被考虑用来替换基于SCTP的传输协议。Google的WebRTC小伙伴们正在对此进行试验。 让我们对此进行测试。我们将进行一个简单的单页示例,类似于传输文本的WebRTC数据通道示例。它提供了一个完整的工作示例,不涉及信令服务器,还允许更轻易的将此方法与WebRTC数据通道进行对比。 在查看代码前,首先我们回顾一下数据通道的基本知识。 数据通道快速回顾 WebRTC中

关于H.264我学到了什么(Tim Panton)

距离WebRTC编码战缓和结束已经有几年了。H.264已经存在了超过15年,因此很容易掩盖使它工作的错综复杂的问题。 Tim Panton正在进行一个无人机项目,他需要一个轻量级的H.264栈供WebRTC使用,因此他决定建造一个。这当然不是我最推荐的做法,但是Tim表示这可能是一个启发性的试验。在本文中,Tim一步一步向我们介绍他使视频工作的步骤。你还可以通过阅读介绍H.264的RFC规范来得到

视频会议的开发与探索(二):享受 FaceTime

FaceTime是Apple给iOS和Mac提供的视频会议App.它是闭源的,核心功能未使用任何第三方库。我想知道模糊化FaceTime音频和视频流的内容是否会导致与WebRTC相同的结果。 模糊化准备 Philipp Hancke 在2015年对FaceTime的结构进行了出色的分析。与WebRTC相似,以SDP格式交换发信信息,接着使用RTP传输音频视频流,观察FaceTime在Mac上的具体

视频会议的开发与探索(一):WebRTC的狂野世界

WebRTC的狂野世界 在过去的五年中,已经有太多的方式使得网页和App中支持视频会议。 Facebook,WhatsApp,FaceTime和Signal是其中几种用户可以用来在网络中进行视频,音频通话的方式。尽管很多研究已经开始转为对视频会议的加密和隐私保护,关于这些平台的易受攻击程度的信息却很少。我们查阅了三个最为广泛使用的视频会议实现方式。在本文中,我们会对此描述。 这一部分将会讨论的We

Chrome 70使用getDisplayMedia()进行屏幕捕捉

在Eede之后,Chrome是第二个通过navigator.getDisplayMedia()添加符合标准的屏幕捕捉的浏览器。 Chrome70的简介在八月宣布,并在十月的discuss-webrtc Google group中确认下来。 这个特点目前设置在一个标示下,你需要更新到Chrome70,然后进入chrome://flags/开启网络试验平台。 之后仿照本文范例你就可以在Chrome扩展