
toy_rtc
NB_vol_1
这个作者很懒,什么都没留下…
展开
-
实时音视频之toy_rtc(6)——网络模拟器
介绍 为了模拟弱网环境,在测试的时候需要使用弱网工具制造各种各样的弱网场景。常见的弱网工具有TC等。toy_rtc里面简单的实现了一个弱网模拟器。包含的功能模拟丢包模拟延迟模拟抖动模拟带宽限制实现随机数产生器#ifndef RANDOMGENERATOR_H#define RANDOMGENERATOR_H/* * 随机数产生器 */#include <r...原创 2019-12-04 21:57:28 · 636 阅读 · 0 评论 -
实时音视频之toy_rtc(5)——序列化工具
把数据发送到网络上之前需要对它进行序列化;从网上收到数据时要对它进行反序列化操作。 下面写了一个简单的序列化工具类#ifndef MARSHALL_H#define MARSHALL_H#include <vector>#include <assert.h>#include <stdlib.h>#include <stdio.h>...原创 2019-12-04 21:47:09 · 525 阅读 · 0 评论 -
实时音视频之toy_rtc(3)——接口定义
收包接口 用来从网络上接收数据包 // 包接收器 class IPacketReceiver { public: virtual ~IPacketReceiver() {} virtual void on_recv_media_data(const uint8_t* data, size_t size) = 0; virtual void on_recv_signa...原创 2019-12-04 21:31:40 · 532 阅读 · 0 评论 -
实时音视频之toy_rtc(1)——介绍
做实时音视频开发已经两年时间了,从开始的一窍不通(只了解一点视频编码知识),到现在刚摸到实时音视频的一点门槛,花了很多时间在这上面,相比于其他技术,实时音视频的门槛很高,技术栈很广而且很深,资料也很少,要想入门确实要花大力气。这两年内我做过的内容包括:服务端转码视频jitter bufferNack/ARQBBR模块的移植引擎库线程模型重构FEC性能优化音画同步音视频订阅媒体...原创 2019-12-04 20:20:52 · 572 阅读 · 0 评论 -
实时音视频之toy_rtc(2)——类型定义
包类型:信令包视频包音频包rtx包,包括重传包和padding包enum RtcPacketType { kPacketApp, kPacketVideo, // video frame kPacketAudio, // audio frame kPacketRtx, // include ARQ packet and Padding packet};视频帧...原创 2019-12-04 20:21:32 · 340 阅读 · 0 评论 -
实时音视频之toy_rtc(4)——定义传输协议
项目地址: https://github.com/mobinsheng/toy_rtc本项目并没有直接使用RTP、RTCP协议。这是因为toy_rtc本身就不是按照标准RTC去开发的,因此为了方便扩展,自己实现了传输协议。这带来了一个坏处,包头占比比较大,会浪费带宽,在低带宽场景下比较受限。信令包的结构如下:[ network_packet_head | app_packet_head...原创 2019-12-04 20:21:44 · 397 阅读 · 0 评论