mpeg4-generic parsing for AAC over RFC3640
Preface
Reference |
|
AU-header structure
AAC frame in AU-header
!!NOTES:
1) DVB-H supports High bit-rate AAC while streaming
2) The AU-headers are configured using MIME format parameters
may be empty. Don’t know how to know it according to SDP description??
(if anyone knows the answer, please let me know..:P)
may be empty. Don’t know how to know it according to SDP description??
(if anyone knows the answer, please let me know..:P)
3) If AAC frames are carried over RFC3640, ADTS header is needed for each AAC frame
for AAC decoder using the following info.
++++++++++++++++++++++++++
| ADTS header (length may vary) |
++++++++++++++++++++++++++
| AAC frame (length may vary) |
++++++++++++++++++++++++++
Example:
[ADTS header]
Please refer to adts_frame() of ISO/IEC 13818-7
Please refer to adts_frame() of ISO/IEC 13818-7
[SDP info]
a=rtpmap:97 mpeg4-generic/32000/1
a=fmtp:97 streamType=5;profile-level-id=41;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1288
a=fmtp:97 streamType=5;profile-level-id=41;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1288
=> clock-rate = 32000
=> “config” should be parsed based on AudioSpecificConfig() in ISO/IEC 14496-3,
and when forming a ADTS header for an AAC frame,
sampling_frequency_index, channel_configuration needs to be
extracted from “config” field and
frame_length is calculated from RTP payload when parsing AU-header.
来源: Technical Knowledge: mpeg4-generic parsing for AAC over RFC3640