RTP协议封装音视频媒体数据详解
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 所示
RTP协议封装音视频媒体数据详解相关推荐
- 【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析
本文是系列文章中的第1篇,本系列文章的大纲如下: <移动端实时音视频直播技术详解(一):开篇> <移动端实时音视频直播技术详解(二):采集> <移动端实时音视频直播技术详 ...
- 移动端实时音视频直播技术详解(一):开篇
移动端实时音视频直播技术详解(一):开篇 1.引言 随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革.手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域 ...
- 音视频开发-FFmpeg详解
音视频开发是个非常复杂的,庞大的开发话题,初涉其中,先看一下结合 OEIP(开源项目) 新增例子. 可以打开flv,mp4类型文件,以及rtmp协议音视频数据,声音的播放使用SDL. 把采集的麦/声卡 ...
- 【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!
一.前期准备 打开串口工具,以XCOM V2.6为例,验证AT指令. 如果未识别串口,请按下面的步骤安装相应的驱动. 1.检查并安装串口驱动程序 PC打开"控制面板" ,进入&qu ...
- 消防部队应急通信保障---多链路聚合通信系统音视频图传方案详解
近年来,灭火救援工作呈现出突发性强.技术要求高.处置难度大.作战时间长等特点,尤其是跨区域协同作战越来越频繁,作为综合应急救援队伍的主力军,公安消防部队往往需要公安消防部队调集多个队伍联合作战,作战方 ...
- 音视频解封装:MP4核心Box详解及H264AAC打包方案
问题背景: 上一篇文章<音视频封装:MP4结构概述和分析工具>让大家看了下MP4的主要结构和推荐了一些分析工具,如果你对MP4没有任何了解,还是先看上文,了解MP4的基本结构,其中还有许 ...
- 《视频直播技术详解》系列:(0)汇总
以转载七牛云的<视频直播技术详解>系列文章为基础,每篇文章都附有笔者在工作实践中的积累和补充.感谢七牛云创作,并感谢读者与笔者的技术交流. <视频直播技术详解>系列:(1)延迟 ...
- android player通过rtp协议接收h264视频数据播放
android recorder通过rtp发送h264视频数据给vlc播放 android player通过rtp协议接收h264视频数据播放 Android recorder通过rtp发送aac数据 ...
- 《视频直播技术详解》之二:编码和封装、推流和传输
视频编码是本系列一个重要的部分,如果把整个流媒体比喻成一个物流系统,那么编解码就是其中配货和装货的过程,这个过程非常重要,它的速度和压缩比对物流系统的意义非常大,影响物流系统的整体速度和成本.同样,对 ...
最新文章
- Controller的传参问题
- 分析各种排序算法的优劣
- Struts2自定义标签(template)——示例
- 2017/08/22 工作日志
- ssh框架http后台乱码问题
- 字典java程序_编程字典-Java xxxValue() 方法
- PAT 甲级 1003
- Shell脚本基本用法
- AlwaysOn业务IP和高可用IP分开使用(四)
- matlab所有画图函数总结——20210318
- 手机怎么将视频制作成GIF?手机端动态图片制作的方法
- Xilinx差分输入时钟100Ω终端电阻设置
- 加入Web前端学习还有市场吗?自己是否适合学习前端
- 移动应用数据统计平台(之一)
- Unity shader 实现圆角矩形
- 【Go语言实战】(4) 简简单单的几十行代码实现 TCP 通信
- intelx86为何从0xFFFF0处执行
- [gdc13]《孤岛危机3》渲染技术
- E. The Humanoid(枚举)
- 常用autojs命令
热门文章
- LS-DYNA模拟炸药在无限空域中的爆炸
- 实时主备出现GRP02[STANDBY, OPEN, ISTAT_SAME:TRUE]的归档状态无效或到实例GRP01[PRIMARY, OPEN, ISTAT_SAME:TRUE]的MAL链路异常
- pandas入门(六):数据清理
- 【ORACLE】Oracle常见语法
- js点到两点确定的直线最短距离(点到直线方程)
- Aria2加速下载(绕过百度网盘下载限制)
- 好不容易把HP的ACHI搞定了,也是看的别人的,先转帖出来,以防忘了!
- 高斯噪声成因_相位噪声的产生原因和影响
- 2023年机器人与人工智能国际会议(JCRAI 2023)
- platform驱动的probe过程