WebRTC
-
WebRTC iOS 实现视频硬编码
本文分析一下 WebRTC iOS 的视频硬编码实现。iOS 的视频硬编码用到的是 VideoToolbox 库,除了编码,VideoToolbox 还提供了解码、转码等功能。我们…
-
WebRTC视频降级(降低帧率或分辨率)原因分析
本文所有源码均基于 WebRTC M85 (branch-heads/4183) 版本进行分析。 在视频通话过程中,WebRTC 经常会因为糟糕的硬件或网络环境而触发降级(降低帧率…
-
WebRTC Android预览实现
在前面文章中,我们分析了 WebRTC Android 相机采集的实现,本文中我们将分析预览的实现。 有过一定相机开发经验的朋友可能会疑惑,预览还有什么好分析的,不是直接 …
-
WebRTC 拓扑(WebRTC连接上百人的方式)
WebRTC 是用于连接两个 Agent 的协议,那么开发人员如何能同时连接上百人呢?你可以通过下面几种不同的方式来做到这一点,它们各有利弊。这些解决方案大致分为两类;点对点或客户…
-
WebRTC Android实现相机采集
WebRTC 的代码量不小,一次性看明白不太现实,所以这里给大家先带来 WebRTC 的Android demo 工程—— AppRTC-Native 的源码导读系列。在本系列中,…
-
WebRTC视频帧名词解释(GOP / I帧 / P帧 / B帧 / DTS / PTS)
在排查 WebRTC 丢包问题时,我们会接触到一些视频帧相关的名词,如 GOP、I-帧、P-帧、B-帧等。如果是之前对视频编解码不是特别了解的同学(比如笔者)可能会有些疑惑。因此本…
-
WebRTC媒体通信(RTP/RTCP如何协作解决问题)
从 WebRTC 的媒体通信中可以得到什么? WebRTC 允许你发送和接收无限多条音频和视频流。你可以在通话期间随时添加和删除这些流。这些流可以全部独立,也可以捆绑在一起!你甚至…
-
2023年WebRTC趋势:黄金时代不在
编者按:随着疫情防控全面放开,混合办公成为主流的协作方式,WebRTC作为主流的RTC基础技术自然也受到影响。在2023年,WebRTC代表的RTC技术会有怎样的剧本?本文来自Ts…
-
WebRTC视频推流过程(采集/渲染/编码/发送/滤镜)
视频的推流大致可以分为采集、渲染、编码和发送四个过程。尽管本文侧重于网络相关的内容,也就是最后的发送过程,但我们依然有必要对整个推流过程有所了解。这也有助于我们给 WebRTC 添…
-
WebRTC搭建实时网络:如何解决抖动+丢包和拥塞等问题
网络是实时通信中的限制因素。在理想的世界中,我们将拥有无限的带宽,并且数据包会即时到达。但事实并非如此。网络是受限的,且其限定条件随时可能更改。测量和观察网络状况也是一个难题。根据…
-
WHIP 和 WHEP:使用 WebRTC 标准化的实时流媒体广播
根据 Dolby 的 Sergio Garcia Murillo 介绍,一段时间以来,应用 WebRTC 在作为实时媒体广播并是一个太好的选择,但是随着人们对于低延时的要求愈发强烈…
-
WebRTC ICE 连接排序规则
本文所有源码均基于 WebRTC M85 (branch-heads/4183) 版本进行分析。 在 PeerConnection 连接流程 中,当 Peer Initiator …
-
WebRTC安全吗?WebRTC具有哪些安全性保障
WebRTC 具有哪些安全性保障? 每个 WebRTC 连接都经过身份验证和加密。你可以确信第三方看不到你发送的内容,也无法插入虚假消息。你还可以确保与你进行通信的 WebRTC …
-
WebRTC TURN(中继穿透 NAT)简介及使用方法
本文分享TURN的概念、生命周期以及使用方法,方便大家在WebRTC开发中更好的理解TURN通信。 TURN是什么 WebRTC 在无法建立直接连接的情况下,RFC 8656中定义…
-
WebRTC STUN简介(WebRTC网络基础知识)
STUN(NAT 会话传输实用程序)是一种用来配合 NAT 使用的协议。这是 WebRTC(和 ICE!)之前的另一项技术。它由RFC 8489定义,该文件还定义了 STUN 数据…
-
WebRTC NACK框架和算法(音视频中NACK优化)
在WebRTC中,前向纠错(FEC)和丢包重传(NACK)是抵抗网络错误的重要手段。FEC在发送端将数据包添加冗余纠错码,纠错码连同数据包一起发送到接收端;接收端根据纠错码对数据进…
-
WebRTC PeerConnection 连接流程
PeerConnection 是 WebRTC 连接流程中无法绕过的一个类,甚至可以认为这个类是整个连接流程的 Controller。本文着重介绍双人通话(一对一)的连接流程,读者…
-
WebRTC ICE协议揭秘
Interactive Connectivity Establishment (ICE)是WebRTC建立的支柱之一;没有 ICE,就没有 WebRTC。这是一个有趣的框架,无需明…
-
WebRTC RTP 协议介绍(rtp和rtcp协议详解)
WebRTC 使用 RTP 协议传输音视频,也依赖于 RTP 协议提供的信息处理丢包。本文尝试结合 RFC 3350 对 RTP 协议做一个较为简洁的介绍,方便…
-
WebRTC多人视频会议服务端架构
WebRTC 除了一对一通信外,最常见的使用场景便是多人视频会议。不要只考虑传统的会议室场景,有很多场景都超出了会议室的范畴,比如网上学习、客服支持、或者实时广播。在每个场景中,最…