RTP协议封装音视频媒体数据详解

本文详细介绍了RTP如何封装H.264的视频编码数据,包括H.264的基本流结构、NALU单元、RTP封装原则和负载格式,以及FFmpeg的RTP封装H.264源码示例。同时提到了音频数据的RTP封装通常直接进行,因为一帧音频数据通常小于MTU。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 得起始标识,当检测到下一个起始码时,当前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北雨南萍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值