随笔分类 -  webrtc

摘要:RateTracker主要作用是求最近一段时间间隔内的平均速率,先看它的定义: class RateTracker { public: RateTracker(int64_t bucket_milliseconds, size_t bucket_count); virtual ~RateTracke 阅读全文
posted @ 2020-12-05 11:07 星星,风,阳光 阅读(873) 评论(0) 推荐(0) 编辑
摘要:RateLimiter是webrtc中实现的限流工具,被用在诸如限制重传包数量等地方。它依赖于之前介绍的速率计算器RateStatistics。 先看它的定义: class RateLimiter { public: RateLimiter(Clock* clock, int64_t max_win 阅读全文
posted @ 2020-12-04 09:35 星星,风,阳光 阅读(688) 评论(0) 推荐(0) 编辑
摘要:RateStatistics这个类的作用为记录一个时间窗口内的速率值,并返回当前时间区域内的码率值。 首先引入一个桶的定义: struct Bucket { explicit Bucket(int64_t timestamp); int64_t sum; // Sum of all samples 阅读全文
posted @ 2020-12-03 20:33 星星,风,阳光 阅读(706) 评论(0) 推荐(0) 编辑
摘要:1. 实时音视频开发主要步骤 2. 概述 前面我们通过两篇文章分别介绍了视频采集的两种方式:采集摄像头和采集屏幕。获取数据之后,如果是要本地显示,那么就像我们之前做的那样,直接渲染出来就行;方式如果是进行存储或者进行传输,往往需要对数据进行编码压缩。 webrtc中的视频编解码部分的主要实现是位于m 阅读全文
posted @ 2020-10-23 15:33 星星,风,阳光 阅读(3783) 评论(0) 推荐(0) 编辑
摘要:1. 实时音视频开发主要步骤 2. 屏幕采集 在上一篇文章中我们讲述了如何采集摄像头的数据,这篇文章就主要讲述如何采集屏幕的数据。 摄像头采集使用的模块主要是webrtc::VideoCaptureModule,代码位于modules/video_capture下; 屏幕采集主使用的模块主要是web 阅读全文
posted @ 2020-10-22 10:06 星星,风,阳光 阅读(4165) 评论(1) 推荐(0) 编辑
摘要:1. 实时音视频开发主要步骤 2. 数据采集 音频的采集主要来自麦克风; 视频的采集源主要有两个: 1. 摄像头; 2. 屏幕。 这里先介绍如何采集摄像头数据。 2.1 环境 我这里使用的是Ubuntu,因此和windows会稍微有些差别,但是都可以通过example下的peerconnection 阅读全文
posted @ 2020-10-21 11:43 星星,风,阳光 阅读(4165) 评论(10) 推荐(0) 编辑
摘要:1. 概述 WebRTC使用SR/RR包来计算rtt的 SR报文格式: RR报文格式: 2. 相关代码 RTCPSender::BuildSR RTCPSender::BuildRR RTCPSender::SendCompoundRTCP RTCPReceiver::HandleReceiverR 阅读全文
posted @ 2020-08-03 09:11 星星,风,阳光 阅读(1762) 评论(0) 推荐(0) 编辑
摘要:官方文档: http://webrtc.github.io/webrtc-org/native-code/development/ 1.环境准备 1.1 安装depot_tools git clone https://chromium.googlesource.com/chromium/tools/ 阅读全文
posted @ 2020-06-15 20:06 星星,风,阳光 阅读(11018) 评论(0) 推荐(0) 编辑