当前位置:网站首页>客户端媒体引擎框架
客户端媒体引擎框架
2022-08-09 15:00:00 【北雨南萍】
双向音视频通信系统的客户端是一个复杂的子系统,
它比起单向直播系统的推流客户端,播放客户端都要复杂,
因为它需要在采集本地音视频推送到服务端的同时,还要从服务端接收音视频数据进行播放。
而对于真正的实际生产用的客户端来说,
它还需要有完整的业务逻辑实现,良好的健壮性,并适配各种平台,这更增加它的复杂度。
本文介绍了一个完整的客户端的媒体引擎的基本框架,并对其核心工作原理做了介绍。
1. 客户端媒体引擎架构
下图是客户端媒体引擎的架构图:

平台接入层:是对整个SDK的封装,以API的形式,提供给各个平台客户端的业务层调用;
设备适配层:是根据不同的平台,对硬件采集、渲染设备的封装。
媒体引擎层:它包含有三种数据流(即媒体流,日志流,信令流) 的处理,
而媒体流又分成视频流和音频流。
网络传输层:它包含有三种协议的网络数据传输,
使用基于UDP的RTP/RTCP协议来传输媒体数据,
使用基于PB的TCP协议来传输信令数据,
使用基于HTTP协议来传输日
边栏推荐
- Matlab做分布拟合及绘制频率分布直方图
- 【力扣】17. 电话号码的字母组合
- Vim实用技巧_5.在文件间和文件内快速移动
- 【Postgraduate Work Weekly】(The third week)
- 数据拟合方法 MATLAB在数学建模中的应用(第二版)
- 【Likou】1995. Statistical special quadruple
- Vim practical skills_4. Manage multiple files (open + split + save + netrw)
- 蒙特卡罗 Monte Carlo 模拟
- 如何不使用第三个变量来交换两个数的值
- 【力扣】1995. 统计特殊四元组
猜你喜欢

The practical skills Vim _1. Vim way of solving problems

堆(heap)系列_0x02:堆的前世今生(WinDbg+Visual Studio汇编)

【工具使用】Modsim32软件使用详解

交叉编译 Crypto++

Unity Shader零基础入门2:环境光、漫反射、高光

时间序列分析

【学习笔记】win10报0xc0000221错误无法开机

Vim practical skills_4. Manage multiple files (open + split + save + netrw)

Vim实用技巧_2.普通模式和插入模式
![[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)](/img/ca/6c8939fd752cc8928c2ffce0b090ed.png)
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
随机推荐
堆(heap)系列_0x03:堆块 + malloc/new底层 + LFH(WinDbg分析)
[Deep Learning] SVM solves the linear inseparable situation (8)
图论最短路径求解
The experience of using Photoshop CS6
SQLMap常用命令介绍
【力扣】207. 课程表
相关性分析
Word 2016 撰写论文(1): 公式居中、编号右对齐
蓝桥杯嵌入式第十三届模拟题做题笔记
堆(heap)系列_0x0A:3种方法一次性解决堆溢出问题
CTF online encryption and decryption and common tools
【工具使用】Keil5软件使用-进阶工程配置篇
GO 使用 Protobuf实用指南
机器学习的基本术语
配置 vscode 让它变得更好用
【剑指 Offer】 37. 序列化二叉树
【学习笔记】win10报0xc0000221错误无法开机
【Likou】1995. Statistical special quadruple
RTP/RTCP协议的FFmpeg demux源码解析
关于sql语句中union和or的区别