当前位置:网站首页>客户端媒体引擎框架
客户端媒体引擎框架
2022-08-09 15:00:00 【北雨南萍】
双向音视频通信系统的客户端是一个复杂的子系统,
它比起单向直播系统的推流客户端,播放客户端都要复杂,
因为它需要在采集本地音视频推送到服务端的同时,还要从服务端接收音视频数据进行播放。
而对于真正的实际生产用的客户端来说,
它还需要有完整的业务逻辑实现,良好的健壮性,并适配各种平台,这更增加它的复杂度。
本文介绍了一个完整的客户端的媒体引擎的基本框架,并对其核心工作原理做了介绍。
1. 客户端媒体引擎架构
下图是客户端媒体引擎的架构图:
平台接入层:是对整个SDK的封装,以API的形式,提供给各个平台客户端的业务层调用;
设备适配层:是根据不同的平台,对硬件采集、渲染设备的封装。
媒体引擎层:它包含有三种数据流(即媒体流,日志流,信令流) 的处理,
而媒体流又分成视频流和音频流。
网络传输层:它包含有三种协议的网络数据传输,
使用基于UDP的RTP/RTCP协议来传输媒体数据,
使用基于PB的TCP协议来传输信令数据,
使用基于HTTP协议来传输日
边栏推荐
- 【SQL】175. 组合两个表
- godot编写一个节点实时属性显示系统
- 【学习笔记】win10报0xc0000221错误无法开机
- 面试经历(华为,瑞晟,大华,海康,虹软,顺丰)
- 堆(heap)系列_0x05:一张图剖析堆块分配和FreeLists的联系
- GStreamer应用开发手册学习笔记之二
- 【知识分享】Modbus通信协议详解
- [Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
- 【力扣】1154. 一年中的第几天
- Unity UI框架思路与实现
猜你喜欢
随机推荐
Heap series _0x03: heap block + malloc/new bottom layer + LFH (WinDbg analysis)
流体拓扑优化问题
Analytic Hierarchy Process (AHP) - Applications of MATLAB in Mathematical Modeling (2nd Edition)
Vim实用技巧_8.替换(substitute)和global命令
使用NATS及其nats.c客户端简单示例用法(nats.c的API接口)
【力扣】114. 二叉树展开为链表
【力扣】1995. 统计特殊四元组
Vim实用技巧_6.复制和粘贴原理(寄存器)
永磁同步电机电位器调速及数码管实时显示
hugging face tutorial - Chinese translation - fine-tuning a pre-trained model
STL标准模板库
【力扣】17. 电话号码的字母组合
【QT】窗口几何布局学习
蓝桥杯嵌入式第十三届模拟题做题笔记
配置 vscode 让它变得更好用
【力扣】96. 不同的二叉搜索树
Virtualbox 设置共享文件夹
堆(heap)系列_0x03:堆块 + malloc/new底层 + LFH(WinDbg分析)
Unity Shader零基础入门1:纯色物体
Face recognition sample code analysis (2) - face recognition analysis