ACC流转TS流

原创 2015年07月10日 16:17:17

一、AAC音频

AAC音频格式(Advanced Audio Coding):一种专为声音数据设计的文件压缩格式,与Mp3类似,利用AAC格式,可使声音文件明显减小,而不会让人感觉声音质量有所降低。

二、AAC的传输格式

1、 ADTS格式
ADTS 全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。

ADTS 头中相对有用的信息 采样率、声道数、帧长度。每一个带ADTS头信息的AAC流会清晰的告送解码器他需要的这些信息。

一般情况下ADTS的头信息都是7个字节,分为2部分:

adts_fixed_header();

adts_variable_header();


syncword :同步头 总是0xFFF, all bits must be 1,代表着一个ADTS帧的开始

ID:MPEG Version: 0 for MPEG-4, 1 for MPEG-2

Layer:always: '00'

profile:表示使用哪个级别的AAC,有些芯片只支持AAC LC 。在MPEG-2 AAC中定义了3种:

sampling_frequency_index:表示使用的采样率下标,通过这个下标在 Sampling Frequencies[ ]数组中查找得知采样率的值。

There are 13 supported frequencies:

  • 0: 96000 Hz
  • 1: 88200 Hz
  • 2: 64000 Hz
  • 3: 48000 Hz
  • 4: 44100 Hz
  • 5: 32000 Hz
  • 6: 24000 Hz
  • 7: 22050 Hz
  • 8: 16000 Hz
  • 9: 12000 Hz
  • 10: 11025 Hz
  • 11: 8000 Hz
  • 12: 7350 Hz
  • 13: Reserved
  • 14: Reserved
  • 15: frequency is written explictly
channel_configuration: 表示声道数 

  • 0: Defined in AOT Specifc Config
  • 1: 1 channel: front-center
  • 2: 2 channels: front-left, front-right
  • 3: 3 channels: front-center, front-left, front-right
  • 4: 4 channels: front-center, front-left, front-right, back-center
  • 5: 5 channels: front-center, front-left, front-right, back-left, back-right
  • 6: 6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel
  • 7: 8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel
  • 8-15: Reserved

frame_length : 一个ADTS帧的长度包括ADTS头和AAC原始流.

adts_buffer_fullness:0x7FF 说明是码率可变的码流

2、LATM格式

  LATM 的全称为Low-overhead MPEG-4 Audio TransportMultiplex(低开销音频传输复用),是MPEG-4 AAC制定的一种高效率的码流传输方式,MPEG-2 TS 流也采用LATM 作为AAC 音频码流的封装格式之 LATM格式也以帧为单位,主要由AudioSpecificConfig(音频特定配置单元)与音频负载组成。

AudioSpecificConfig 描述了一个LATM 帧的信息,音频负载主要由PayloadLengthInfo(负载长度信息)和PayloadMux(负载净荷)组成。

 AudioSpecificConfig 信息可以是带内传,也可以是带外传。所谓带内传,就是指每一个LATM 帧,都含有一个AudioSpecificConfig 信息;而带外传则每一个LATM帧都不含有AudioSpecificConfig 信息,而通过其他方式把AudioSpecificConfig信息发送到解码端,由于AudioSpecificConfig 信息一般是不变的,所以只需发送一次即可。由此可见,AudioSpecificConfig 信息采用带内传输可适应音频编码信息不断变化的情况,而采用带外传输,可以节省音频传输码率。带内或带外传,由muxconfigPresent 标志位决定。例如流媒体应用中,muxconfigPresent 可设置为0,这样LATM帧中将不含有AudioSpecificConfig 信息,LATM帧通过RTP包发送出去,AudioSpecificConfig 可通过SDP文件一次性传送到解码端。

AudioSpecificConfig 主要参数:

numSubFrames  子帧的数目

numProgram    复用的节目数

 numLayer      复用的层数

frameLengthType  负载的帧长度类型,包括固定长度与可变长度

audioObjectType   音频对象类型

samplingFrequency   采样率

channelConfiguration   声道配置

      音频负载由若干子帧组成,每个子帧由PayloadLengthInfoPayloadMux组成,与ADTS帧净荷一样,音频负载主要包含原始帧数据。

      AAC打包成TS流通常有两种方式,分别是先打包成ADTSLATMADTS的每一帧都有个帧头,在每个帧头信息都一样的状况下,会有很大的冗余。LATM格式具有很大的灵活性,每帧的音频配置单元既可以带内传输,有可以带外传输。

三、AAC打包成TS

12333

aacadts格式封装为例分界符为1111 1111 1111,即FFF依次读取AAC的原始文件,遇到一个FFF时,将其后的数据连同这个FFF的头看成整体,作为负载封入PES同样的,每帧都需要打pts








live555实现TS码流RTSP传输

  • 2016年09月19日 17:36
  • 54.24MB
  • 下载

ffmpeg取rtsp流,打印音视频的ts

改demo程序,调用ffmpeg API,获取rtsp的音视频流,打印每一包的ts,验证是否同步。 运行环境是linux //FFDecoder.h#pragma once //#defin...
  • zhuxian2009
  • zhuxian2009
  • 2017年07月24日 20:43
  • 444

RTSP流媒体转发服务器源码

最新EasyDarwin已经支持海康、大华等标准RTSP/RTP协议的转发,代码及使用方法参看:http://blog.csdn.net/xiejiashu/article/details/29580...
  • xiejiashu
  • xiejiashu
  • 2014年11月22日 12:31
  • 16146

ffmpeg RTSP流拉取

//.h文件 extern "C" {#include "libavformat/avformat.h"#include "libswscale/swscale.h"#include "libswre...
  • CDUT100
  • CDUT100
  • 2016年10月09日 19:27
  • 1466

RTSP - 白手起家

RTSP - 白手起家is - 10:10:28 - Categories: misc现在已经知道的一些信息:1.RTSP协议实际上只是一个控制协议,实际数据还需要一个传输协议。不过RTSP也支持在同...
  • ajiva
  • ajiva
  • 2005年02月01日 19:28
  • 6548

H.264/ACC音视频编码流的RTP/RTSP传输实现(1)

目标:   实现一个用于H.264/ACC音视频编码流的RTP/RTSP传输的简单服务器,主要通过此过程学习基于RTP的NAL、ADTS码流封装技术和基于RTSP的视频交互控制技术。完整系统应该包括...
  • kzq_qmi
  • kzq_qmi
  • 2015年06月04日 21:20
  • 2653

H.264/ACC音视频编码流的RTP/RTSP传输实现(3)

实时传输协议RTP   RTP(Real-time Transport Protocol)[[[] H S, CASNER S, FREDERICK R.RTP: A Transport Proto...
  • kzq_qmi
  • kzq_qmi
  • 2015年06月05日 20:52
  • 2116

H.264/ACC音视频编码流的RTP/RTSP传输实现(4)

实时流协议RTSP   RTSP[[[] Schulzrinne,H., Rao.Real time streaming protocol (RTSP) RFC 2326[J]. IETF .199...
  • kzq_qmi
  • kzq_qmi
  • 2015年06月06日 19:16
  • 1729

H264视频通过RTMP直播 代码 ACC,H264文件

http://www.360doc.com/content/15/0917/15/597197_499757778.shtml 2015-09-17  ouyang789...   ...
  • mengzhengjie
  • mengzhengjie
  • 2017年01月20日 14:40
  • 318

H.264/ACC音视频编码流的RTP/RTSP传输实现(2)

H.264编码基本原理   为达到良好的编码效率及性能,H.264编码器采用的仍是变换和预测的混合编码法,[[[] 毕厚杰. 新一代视频压缩编码标准: H. 264/AVC[M]. 人民邮电出版社,...
  • kzq_qmi
  • kzq_qmi
  • 2015年06月04日 21:43
  • 2522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACC流转TS流
举报原因:
原因补充:

(最多只允许输入30个字)