WebRTC的电脑和手机端浏览器支持

2020年使我们重新审视WebRTC浏览器支持。它到底可用在电脑和手机上的哪个位置呢?作为开发人员的你应该怎样做呢? 每年我都会就这两个问题写一篇文章,重点略有不同。现在2020年已经过去一半了,一切都瞬息万变。 今年我看到过很多次这句话: 对WebRTC来说,最近几周确实颇为动荡。但某种程度上,我们在WebRTC浏览器支持领域仍占有一席之地。 我最近更新的WebRTC浏览器支持PPT,稍后我们将

WebRTC API深度解析——getUserMedia

WebRTC由多个执行不同功能以建立媒体会话的API组成。我们将在本系列中回顾WebRTC的那些API。首先,我们从getUserMedia开始。getUserMedia使浏览器与媒体设备(即麦克风和摄像头)进行交互。 调用getUserMedia时,它会提示是否允许访问媒体设备。该提示仅在安全环境中可用,比如本地主机和在HTTPS下提供服务的站点。 调用getUserMedia API 最初,我

短篇系列一:完美协商

序:通常webrtcHacks上多是长篇文章,但并非所有有趣的话题都需长篇大论。有时简短一点会更好。因此,为了向大家展示符合上述特点的主题,我们开设了一个新的“短篇系列“栏目。以下是本系列第一篇文章,主题为“完美协商”。 什么是“完美协商”,我们为何需要“完美协商”? 很久以前,WebRTC规范设计者决定将两个WebRTC端口之间的信令通信机制由应用程序负责。这意味着你的代码需要处理来回传递的SD

5G技术会掀起流媒体革新浪潮吗?

如今,有关5G(第五代蜂窝技术)技术的各种信息随处可见。大多数人都觉得5G技术会改变现存的一切。但大家都不清楚它到底会带来什么实质性的变化。在这篇文章中,我们探索了5G技术对流媒体领域可能造成的影响。 从大哥大手机到现在大家离不开的智能手机,90后见证了移动技术的发展历史。下图展示了随着蜂窝技术的革新,手机技术及功能的发展。 (5G技术) 5G与4G 这项新技术包括新的标准、方法以及硬件和软件的革

图像和视频帧的区别(二)

我们可以这样做,但由于以下原因未能付诸实践。 帧内编码模式是帧内视频编码总方案的子集。这样的方案相当复杂,多年来出现了很多编码工具,有一些在设计帧内编码模式时会用到。 采用帧间编码方案的大多数应用都对实时解码有严格要求。因此,相比静态图片编码方案来说,精密的解码工具在帧间编码方案中占重要地位。 帧间视频编码方案中的大量编码工具用于处理动态(motion-related processing)。 由

图像和视频帧的区别(一)

这个问题似乎很简单。视频就是一系列捕获的图像(称为帧)以给定的频率显示。而通过在一序列的特定帧处停止可获得单个视频帧。即图像。 如果我们只讨论视频帧序列,以上说法是正确的。将图像压缩算法(即“帧内”编码系统)应用于每个单独的帧也是正确的。这样的编码系统可能压缩率不是特别高,但它可以很好地满足某些应用程序的需求。例如那些仅需要使用一个压缩图像解码能力的应用程序:Motion JPEG(现已落伍)和M

在WebRTC中实现P2P-SFU转换

WebRTC很厉害的一点是:它无需媒体路径中的任何服务器即可建立P2P连接。但是此连接不能大规模扩展多方音频/视频通话,因为大多数情况下,完整的N:N P2P连接所需的带宽和cpu太多了。 事实上,如果您支持多方通话的话,即使只有两位与会者也可以考虑使用P2P连接。在第三位与会者加入或需要启用某些录制或广播功能时切换回SFU即可。因为广播功能仅在SFU中可用。 实际上,最近几年在许多产品(Jits

webrtcH4cKS: WebRTC开源人气竞赛获胜者是?(二)

每个包含受欢迎项目repo的不同用户 最受欢迎的repo评论 数据中有很多repo,但其中有几个重复出现了。我会列出在这两项指标中排名前10位并带有简短评论的repo。为了统计数据,我对每个列表进行了反排名(即最受欢迎的repo用最大编号),并按降序排列数据。 pions在2019年4月将更名为pion 。为避免重复计算,我计算了pions/webrtc和pion/webrtc中的不同用户。 最受

webrtcH4cKS: WebRTC开源人气竞赛获胜者是?(一)

总有人问我最受欢迎的WebRTC项目是什么。 几年前,我写了一篇名为 Data Nerding with WebRTC GitHub Data的文章,试图找到这个问题的答案。具体来说,我在BigQuery上使用GitHub数据集来过滤WebRTC repos。 如果你运用该数据集,会很容易找到随时间变化的运行模式。 这次我着重关注了流行度,以探讨WebRTC社区正在编码和使用的内容。 (照片由Ho

WebRTC中的完美协商(三)

但是,这并不完美! 原因有两点: 第一点:这就是为什么我这么早就对此发表博客。我提出了3个规范说明,希望这些说明可以消除对Promise.all和“stable”测试的依赖。其实归根到底是用一种与执行rollback略有不同的API,其用于以防闪退的方式设置一个新的端描述。在某种程度上它也是重启ICE的方式,且不会干扰negotiationneeded。 第二点:关键是要编写一次代码,以抽象出该状

近期热门

有奖小调查

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