RFC6416中对AAC进行RTP打包方式介绍

简介

rfc6416是描述如何将MPEG-4 Audio/Visual Stream封包至RTP中的。文档写的还是比较清晰简明的,对音频而言,没有再定义额外的码流结构,就是直接对MPEG-4 Audio stream的结构进行打包。下面列出的是需要理解的概念:

  • MPEG-4 Audio/Visual Stream是在ISO/IEC 14496-3,ISO/IEC 14496-2中定义,分别用于audio及video的封包。在之前,audio和video是需要通过mpeg-4 Systems(ISO/IEC 14496-1)进行封装的。

  • Signaling by MIME Format Parameters

与rfc3640相类似,也需要一种协议携带MIME Format Parameters,最常用的是sdp。并且一样的有对编码规格的参数意义的定义,详见文档第7节定义

  • Media Type

rfc6416中为音频流定义的Media Type为MP4A-LATM

细节

下面列出文档中所需注意的一些细节:

1. RTP包中携带的到底是LATM还是LOAS

rfc 6416描述的是RTP 携带LATM,并非LOAS

在前面的文章提到过LATM和LOAS的概念,其实LOAS就是 同步信息+LATM。那么rfc 6416 RTP中携带的并没有同步信息。

2. 传输复用的意思

LATM特点就是可复用,就是指可以携带多个audio frame(编码后的)。在基于sip的rtp的流媒体应用中,一个rtp只会携带一个audio frame,即使sdp中的ptime的值为20ms的倍数(20ms时长采样数据大小是rtp中音频数据的一个audio frame的基本长度),也被认为是一个audio frame。而在LATM中是叫多个audio frame被复用。

3.带内和带外携带config

在前面的文章,列出了LATM的基本结构,其中这个StreamMuxConfig这个结构数据是可以与码流分开传输的,在码流中即为带内,不在码流中(典型的在sdp中携带)即为带外。

4. MIME Format Parameters

以下列出了最基本,常用的码流参数(根据AAC的不同规格,参数会有变化)

  • object(至关重要): AOT的值,描述的是携带什么类型的AAC规格

  • bitrate(必须要有): 音频流的码率

  • cpresent(可以没有,没有则为默认): 解释如下

a boolean parameter that indicates whether audio
payload configuration data has been multiplexed into an RTP
payload.A 0 indicates the configuration data
has not been multiplexed into an RTP payload, and in that case,
the “config” parameter MUST be present; a 1 indicates that it has
been multiplexed.
The default if the parameter is omitted is 1.
If this parameter is set to 1 and the “config” parameter is
present, the multiplexed configuration data and the value of the
“config” parameter SHALL be consistent.

这个参数控制两个行为,确定是否复用,确定StreamMuxConfig是带外还是带内

  • config(是否携带,根据参数而定)

a hexadecimal representation of an octet string that
expresses the audio payload configuration data “StreamMuxConfig”.

  • profile-level-id(可有可无): 跟H264/265中的几个profile意义一样

实例说明

如下图所示,是一个mpeg-4 audio stream的 sip invite
在这里插入图片描述

  • 标注1,sub-media-type技术表示的是mpeg-4 audio stream
  • 标注2,为码流参数信息,aot为23即AAC-LD,sdp中没有携带 cpresent,按照前面的介绍,即标识是复用流,并且StreamMuxConfig是带内传输。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mo4776

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

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

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

打赏作者

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

抵扣说明:

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

余额充值