青龙云渲染(基于WebRTC的流媒体平台)
-
第五十七章 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-帧等。如果是之前对视频编解码不是特别了解的同学(比如笔者)可能会有…
-
第四十五章 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 服务器的免费开源实现。…
-
第三十五章 STUN/TURN基础知识
STUN简介 Simple Traversal of UDP over NATs, NAT的UDP的简单穿越,是一种网络协议。是客户机-服务器的一种协议,由RFC 3489 定义。…