chris
-
第五十七章 VDI领域的应用
从产品需求侧讲,一个VDI的产品具备如下的一些主要特性。 移动设备支持终端管理数量限制文件传输远程重启远程打印局域网唤醒客户端自定义别名定制品牌RestfulAPI地址簿会话录制命…
-
第五十六章 数据通道的7种创意用途
以下是供应商在数据通道方面正在采用或谈论的 7 种不同用途: 1.文件共享 第一个明显的选项是在两个浏览器之间共享文件的能力,无需服务器。 可以将其视为对文件大小没有任何限制的“Y…
-
第五十五章 云游戏方向
今天我们来看下基于流式基础的商业化产品的各种情况。 Google Stadia 的崛起与(可预见的)衰落 Google Stadia 最初是谷歌内部的 Project Stream…
-
第五十三章 流式系统质量评价体系和一些标准建议
目前行业的现状 从目前整个业界来看,没有一个统一的质量评价体系标准。 虽然各大公司,在多媒体方向有众多的布局,甚至像华为这种公司不断的推出业界的标准。但是流式系统应用在各个行业领域…
-
第五十二章 从源代码的角度分析视频采集架构和流程
流式系统的实时音视频会议中对于视频处理流水,第一级就是视频采集,视频内容可以摄像头、屏幕和视频文件,视频来源的操作系统可以是Linux、Windows、Mac,IOS以及Andro…
-
第五十章 视频编码后修改帧数据
基本概念 给视频添加滤镜的方法,是在视频帧被编码前对其进行处理。有时我们还需要在视频帧被编码后对其进行处理,插入一些自定义数据,比如插入 H.264 定义的 SEI(Supplem…
-
第四十九章 添加滤镜能力
添加滤镜后端做法 由于需要实时预览滤镜效果,所以必须在渲染开始之前添加滤镜。好在 WebRTC 已经提供了 VideoProcessor 这个接口类,可以对采集到的帧数据进行预处理…
-
第四十八章 智能指针
智能指针是现代 C++ 编程中一个绕不开的话题,WebRTC 也有一套使用智能指针的指南。鉴于 WebRTC 属于 Chromium 的一部分,所以这其实也是 Chromium 使…
-
第四十七章 视频帧概念
基础概念认知 在排查 WebRTC 丢包问题时,我们会接触到一些视频帧相关的名词,如 GOP、I-帧、P-帧、B-帧等。如果是之前对视频编解码不是特别了解的同学(比如笔者)可能会有…
-
第四十六章 ICE高级交互流程介绍
经典的 NAT(NAPT)可分为完全圆锥型、受限圆锥型、端口受限圆锥型和对称型四种,需要借助 ICE(Interactive Connectivity Establishment,…
-
第四十五章 P2P打洞原理
WebRTC 本身是基于点对点(Peer-to-Peer)连接的。如果连接双方都是公网地址,则可以直接访问到对方,从而建立连接。但大部分情况下其中一方或者双方都不是公网地址,而是隐…
-
第四十四章 带宽估计和拥塞控制算法
产品角度看数据 下图是Google Stadia 针对4K保持60Fps情况下的带宽估计。 和我们QL之前的4K数据测试是一致的。 4K的带宽占用在10~35Mb区间内 延时表现 …
-
第四十三章 RTSP媒体流的录制方案
实时录制功能支持三种模式,分别是云端录制、本地服务端录制和页面录制,我们的流式系统也有对应的内容。这里从录制视频格式的调研、录制方案的选择、异常状况的处理、覆盖策略的执行四个大方面…
-
第四十二章 码率控制
基本概念 码率控制是指视频编码中决定输出码率的过程。 首先介绍一下 X264 中使用到的与码率控制相关的几个概念: CQP(Constant QP) 恒 定QP(Quantizat…
-
第四十一章 发送方码率预估揭秘
WebRTC使用的是Google Congestion Control (简称GCC)拥塞控制,目前有两种实现:
-
第四十章 生成QTCreator项目进行编译
基础情况 一般的,我们可以使用VSCode在Linux下进行编译,调试和运行。 不过我们有时候倾向于需要强大的UI库,此时我们需要用到Qt这个开源库和IDE处理。 以下,我们尝试使…
-
第三十九章 Linux下编译的一些注意事项
如何抽取头文件作为SDK 很多情况下我们编译完成WebRTC后,需要直接将Lib和头文件以一种比较好的目录结构形式给外部程序调用,而默认的WebRTC的编译系统将目标文件输出在了W…
-
第三十八章 Ubuntu或Debian下的情况
Ubuntu情况 在Ubuntu下是肯定可以安装的。网上资料很多不多赘述。 Debian下情况 以下是在Debian系统上的编译步骤。M90下验证。M108也同样可以。 步骤 备注…
-
第三十七章 CentOS下的情况
CentOS支持的不是很理想 我们尝试使用下面的步骤在CentOS上编译流式系统,但是没有成功。 Step Description Use Ninja to compile Ins…
-
第三十六章 开源方案和部署
目前主流的TURN开源方案是Coturn,官方地址https://github.com/coturn/coturn coturn 是 TURN 和 STUN 服务器的免费开源实现。…