媒体传输的可靠性

Millicast使用WebRTC进行大规模流媒体传输已经很多年了。经常有人这样问:“我能不能在增加延迟的同时 尽可能地保持媒体流的高质量?”要回答这个问题,我们首先要厘清可靠性的概念以及可靠性是如何根据选择协议变化的。 注:本文简化了技术知识,只介绍其中一些核心概念。这样做是为了向不熟悉此专业领域的人简单介绍一些特定概念,绝对谈不上是一次完整、彻底、有条理的陈述。如有兴趣,本文最后我会附上详细资

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