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协议封装音视频媒体数据详解相关推荐

  1. 【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析

    本文是系列文章中的第1篇,本系列文章的大纲如下: <移动端实时音视频直播技术详解(一):开篇> <移动端实时音视频直播技术详解(二):采集> <移动端实时音视频直播技术详 ...

  2. 移动端实时音视频直播技术详解(一):开篇

    移动端实时音视频直播技术详解(一):开篇 1.引言 随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革.手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域 ...

  3. 音视频开发-FFmpeg详解

    音视频开发是个非常复杂的,庞大的开发话题,初涉其中,先看一下结合 OEIP(开源项目) 新增例子. 可以打开flv,mp4类型文件,以及rtmp协议音视频数据,声音的播放使用SDL. 把采集的麦/声卡 ...

  4. 【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!

    一.前期准备 打开串口工具,以XCOM V2.6为例,验证AT指令. 如果未识别串口,请按下面的步骤安装相应的驱动. 1.检查并安装串口驱动程序 PC打开"控制面板" ,进入&qu ...

  5. 消防部队应急通信保障---多链路聚合通信系统音视频图传方案详解

    近年来,灭火救援工作呈现出突发性强.技术要求高.处置难度大.作战时间长等特点,尤其是跨区域协同作战越来越频繁,作为综合应急救援队伍的主力军,公安消防部队往往需要公安消防部队调集多个队伍联合作战,作战方 ...

  6. 音视频解封装:MP4核心Box详解及H264AAC打包方案

    ​问题背景: 上一篇文章<音视频封装:MP4结构概述和分析工具>让大家看了下MP4的主要结构和推荐了一些分析工具,如果你对MP4没有任何了解,还是先看上文,了解MP4的基本结构,其中还有许 ...

  7. 《视频直播技术详解》系列:(0)汇总

    以转载七牛云的<视频直播技术详解>系列文章为基础,每篇文章都附有笔者在工作实践中的积累和补充.感谢七牛云创作,并感谢读者与笔者的技术交流. <视频直播技术详解>系列:(1)延迟 ...

  8. android player通过rtp协议接收h264视频数据播放

    android recorder通过rtp发送h264视频数据给vlc播放 android player通过rtp协议接收h264视频数据播放 Android recorder通过rtp发送aac数据 ...

  9. 《视频直播技术详解》之二:编码和封装、推流和传输

    视频编码是本系列一个重要的部分,如果把整个流媒体比喻成一个物流系统,那么编解码就是其中配货和装货的过程,这个过程非常重要,它的速度和压缩比对物流系统的意义非常大,影响物流系统的整体速度和成本.同样,对 ...

最新文章

  1. Controller的传参问题
  2. 分析各种排序算法的优劣
  3. Struts2自定义标签(template)——示例
  4. 2017/08/22 工作日志
  5. ssh框架http后台乱码问题
  6. 字典java程序_编程字典-Java xxxValue() 方法
  7. PAT 甲级 1003
  8. Shell脚本基本用法
  9. AlwaysOn业务IP和高可用IP分开使用(四)
  10. matlab所有画图函数总结——20210318
  11. 手机怎么将视频制作成GIF?手机端动态图片制作的方法
  12. Xilinx差分输入时钟100Ω终端电阻设置
  13. 加入Web前端学习还有市场吗?自己是否适合学习前端
  14. 移动应用数据统计平台(之一)
  15. Unity shader 实现圆角矩形
  16. 【Go语言实战】(4) 简简单单的几十行代码实现 TCP 通信
  17. intelx86为何从0xFFFF0处执行
  18. [gdc13]《孤岛危机3》渲染技术
  19. E. The Humanoid(枚举)
  20. 常用autojs命令

热门文章

  1. LS-DYNA模拟炸药在无限空域中的爆炸
  2. 实时主备出现GRP02[STANDBY, OPEN, ISTAT_SAME:TRUE]的归档状态无效或到实例GRP01[PRIMARY, OPEN, ISTAT_SAME:TRUE]的MAL链路异常
  3. pandas入门(六):数据清理
  4. 【ORACLE】Oracle常见语法
  5. js点到两点确定的直线最短距离(点到直线方程)
  6. Aria2加速下载(绕过百度网盘下载限制)
  7. 好不容易把HP的ACHI搞定了,也是看的别人的,先转帖出来,以防忘了!
  8. 高斯噪声成因_相位噪声的产生原因和影响
  9. 2023年机器人与人工智能国际会议(JCRAI 2023)
  10. platform驱动的probe过程