当前位置:网站首页>RTP协议封装音视频媒体数据详解
RTP协议封装音视频媒体数据详解
2022-08-09 15:00:00 【北雨南萍】
RTP协议对媒体数据(包括音频和视频)的封装是由指定的的协议文档规定。
1. RTP封装H.264视频编码数据
1.1 H.264 基本流的结构
H.264 的基本流(elementary stream,ES)的结构分为两层,包括视频编码层(VCL)和 网络适配层(NAL)。
视频编码层负责高效的视频内容表示,
而网络适配层负责以网络所要 求的恰当的方式对数据进行打包和传送。
引入 NAL 并使之与 VCL 分离带来的好处包括两方面:
其一、使信号处理和网络传输分离,VCL 和 NAL 可以在不同的处理平台上实现;
其二、 VCL 和 NAL 分离设计,使得在不同的网络环境内,网关不需要因为网络环境不同而对 VCL比特流进行重构和重编码。
H.264 的基本流由一系列 NALU(Network Abstraction Layer Unit)组成,不同的 NALU 数据量各不相同。
H.264 草案指出,当数据流是储存在介质上时,在每个 NALU 前添加起 始码:0x000001,用来指示一个 NALU 的起始和终止位置。
在这样的机制下,解码器在码 流中检测起始码,作为一个 NALU 得起始标识,当检测到下一个起始码时,当前 NALU 结 束。
每个 NALU 单元由一个字节的 NALU 头(NALU Header)和若干个字节的载荷数据 (RBSP)组成。
其中 NALU 头的格式如图 2 所示
边栏推荐
猜你喜欢
R-CNN Fast R-CNN Faster R-CNN总结
蓝桥杯嵌入式备赛
The experience of using Photoshop CS6
Visual Studio 2019新手使用(安装并创建第一个程序详细教程)
Unity Shader 透视效果/XRay
堆(heap)系列_0x07:NT堆调试支持_滞后发现调试支持
Vim practical skills_4. Manage multiple files (open + split + save + netrw)
VGG pytorch实现
Vim实用技巧_2.普通模式和插入模式
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
随机推荐
杭州富阳科目三新规3号线考试攻略
Vim practical skills_4. Manage multiple files (open + split + save + netrw)
SVM Support Vector Machine - Application of MATLAB in Mathematical Modeling
解决pyqt5 DLL load failed: 找不到指定的程序的问题
Face recognition sample code analysis (1) - program parameter analysis
【工具使用】Keil5软件使用-进阶工程配置篇
Postgraduate Work Weekly (Week 4)
ResNet 残差网络 一些粗略的理解
【SQL】175. 组合两个表
堆(heap)系列_0x07:NT堆调试支持_滞后发现调试支持
Markdown 文档生成 PDF
时间序列分析
【工具使用】Modsim32软件使用详解
gccg++基本命令简介
Excel绘制统计图
MySql的备份与恢复
【知识分享】异步串行收发器Uart(串口)-通信协议详解
unity shader 入门 全透明与半透明效果实现
堆(heap)系列_0x04:堆的内部结构(_HEAP=_HEAP_SEGMENT+_HEAP_ENTRY)
Basic Terms of Machine Learning