三个月内业务增长30倍——如何在疫情期间扩展Google Meet

新冠疫情使人与人之间的距离更加遥远。许多人转向在线视频会议来维系社交、教育和工作上的联系。如图所示,这种变化使得更多人使用Google Meet。 本文我会向大家介绍,我们是如何确保Meet的可用服务容量大于其疫情期间暴涨30倍的业务需求的,以及我们是如何通过利用大量网络可靠性工程(SRE)的最佳实践来实现技术和运营的可持续增长。 初期预警 随着新冠疫情席卷全球,人们开始适应疫情下的日常生活。新冠

如何创建视频聊天应用程序?(下)

3. STUN服务器的用途? 即NAT会话穿越应用程序。双方都至少要了解其另一端的IP地址和分配的UDP端口。 无论使用哪种架构,我们都需要信令服务器来进行注册和显示状态。TURN服务器可以帮助我们遍历网络,并确保内部IP地址可以映射到外部公共ip地址。 STUN如何运作? 点击此处,你可以随时更新或编辑。 现在你能看到浏览器使用STUN服务器请求你的公共IP地址,平时我们是看不见的。这让我学到,

如何创建视频聊天应用程序?(上)

常见的视频应用程序都会利用一项技术——WebRTC。 WebRTC是一项新技术,它允许开发人员通过日常使用的浏览器,在网络上交换数据甚至媒体。考虑到此类功能仅作为插件(如嵌入式插件)可用,不可不称其为十年来的巨大技术变革。 即使你没听说过WebRTC,以前也可能用过它。Whatapps、Facebook、甚至Google handout里都有它的身影。WebRTC,又称网络实时通话,能让你在浏览器

博人眼球:用WebGL和WebRTC建造线上影院(下)

获取媒体设备 尽管此应用出现在众多WebRTC入门教程的主题中,但它要解决的一大难题是首先获取用户的摄像头和麦克风许可。当然,大多数时候该操作都很简单——只需await navigator.mediaDevices.getUserMedia({ audio:true, video: true }),然后若用户认可你的应用程序,你会收到一个可在< video>元素中查看,或通过RTCPe

博人眼球:用WebGL和WebRTC建造线上剧院(上)

简介 毫无疑问,我们过去几个月的生活与预期中的大相径庭。3月初隔离开始,我所有的投影设计工作都被取消了。我和几个好朋友商议建立一个网络非线性剧院体验软件。许多人已经尝试在Zoom上演出了,而且他们发现了许多有趣巧妙的Zoom使用方法。我认为只要我们设计出自定义视频会议应用程序,就能大放异彩。 这一切的起源——谷歌文档 天方夜谭?10年前或许是这样。但是现在Web平台快速发展,手机的摄像头和硬件的质

WebRTC+MongoDB+Vue+Docker:全栈用开源项目,实现一个Slack

现在聊天和视频会议应用火遍全球。 Slack、Microsoft Teams、Zoom、Google Meet、Facebook Rooms等应用程序越来越受欢迎。这是因为Covid-19大流行,我们所有人不得不呆在家里,所以掌握在线工作和协作的能力变得非常必要。聊天和视频会议应用解决了我们的困境,并提供了有效的远程团队协作工具,所以其用户和收入有了巨大增长。 虽然大多数这样的应用程序都提供免费选

用WebRTC的Insertable Streams API把元数据添加到媒体帧

以前,许多WebRTC功能只有在本机应用程序中才能使用,包括带有修改后的Chromium代码的电子应用程序。 如今,借助WebRTC NV API,其中一些程序已经可以在Web应用中使用了。上周我们发布了与Google合作开发的SFrame E2EE,多亏Insertable stream,其部分功能在Web可用了,现在我们就可以给大家展示另一个以前在Web应用程序中几乎不可能实现的功能。 受合作

使用WebRTC Insertable Stream实现端对端加密(二)

反复改进 有了一个可以正常工作的示例(因为音频还不能用,所以最初只是视频形式)后,我们快速迭代了一些改进工作。例如密钥更改和解码帧头,后者看起来非常有趣。以前,在接收到加密的帧后,虚拟middlebox的解码器仅抛出错误,图片将被冻结。现在,我们利用VP8编解码器的某些属性,不对前几个字节进行加密,使解码器误以为该帧是有效的VP8。 点击此处试用实例。 Insertable Stream在帧上迭代

使用WebRTC Insertable Stream实现端对端加密(一)

几周前,Chrome团队宣布有意进行有关API在blink-dev list中的实验,使其用WebRTC自定义处理。该通告附有Harald Alvestrand编写的解释器文档,该文档显示了API的基本用法。正如我在上一篇文章中提到的那样,这也许能够帮助我们把中间系统方案中的端到端加密(e2ee)添加到WebRTC中。 出于好奇,当jitsi.org的前webrtcHacks客座作者Emil Iv

基于 WebRTC 的云游戏开源项目(四)

用Golang编写CloudRetro 在开发者内部实施Go 启动Go频道 多亏Go的频道设计精美,事件流和并发问题才得以极大简化。如下图所示,在不同的GoRoutine中有多个并行运行的组件。每个组件管理自己的状态,用通道通信。Golang的select语句强制在每个游戏帧时都处理一个基元事件。这意味着此设计不需要锁定。例如,用户要存档时,是需要一张完整的游戏状态快照的。该状态直到保存完成之前,

近期热门

有奖小调查

1 分钟回答 3 个小问题,让内容更符合你的 WebRTC 学习与开发期望。
每个月最后一天会随机抽出 5 名获奖者,并通过邮件联系送上奖品。
填写问卷