草庐IT

kAudioFormatMPEG4AAC

全部标签

AAC 音频数据结构实例分析:

AAC音频数据结构实例分析:AAC有两种数据交换格式:ADTS和ADIFADIF:AudioDataInterchangeFormat,一个文件只有一个头,可类比dvd中使用的ps流。ADTS:AudioDataTransportStream,每个frame中都有这个同步头,可类比dvb中的ts流.本博客只介绍ADTS格式AAC基本构成是7bytes头部+原始数据.循环重复一、AAC文件头信息ADTS的头信息分为:固定头信息(adts_fixed_header,28bits)和可变头信息(adts_variable_header,28bits)两部分。下面是iso13818-7的说明.固定头:

iphone - 如何在 iOS 上使用 ExtAudioFile 使 AAC 编码正常工作?

我需要在iOS上将WAVE文件转换为AAC编码的M4A文件。我知道旧设备或模拟器不支持AAC编码。我在运行代码之前正在测试它。但我仍然无法让它工作。我查看了Apple自己的iPhoneExtAudioFileConvertTest例子,我想我完全按照它做了,但还是不走运!目前,我在尝试在目标文件上设置客户端格式时收到-50(=用户参数列表中的错误)。在源文件上,它有效。下面是我的代码。非常感谢任何帮助,谢谢!UInt32size;//Openasourceaudiofile.ExtAudioFileRefsourceAudioFile;ExtAudioFileOpenURL((CFUR

iphone - 如何在 iOS 上使用 ExtAudioFile 使 AAC 编码正常工作?

我需要在iOS上将WAVE文件转换为AAC编码的M4A文件。我知道旧设备或模拟器不支持AAC编码。我在运行代码之前正在测试它。但我仍然无法让它工作。我查看了Apple自己的iPhoneExtAudioFileConvertTest例子,我想我完全按照它做了,但还是不走运!目前,我在尝试在目标文件上设置客户端格式时收到-50(=用户参数列表中的错误)。在源文件上,它有效。下面是我的代码。非常感谢任何帮助,谢谢!UInt32size;//Openasourceaudiofile.ExtAudioFileRefsourceAudioFile;ExtAudioFileOpenURL((CFUR

音视频开发 RTMP协议发送H.264编码及AAC编码的音视频(C++实现)

RTMP(RealTimeMessagingProtocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系FlashPlayer和RtmpServer,如FMS,Red5,crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(FlashMediaLiveEncoder)推送音视频数据至RtmpServer,可实现摄像头实时直播。不过,毕竟FMLE应用范围有限,想要把它嵌入到自己的程序中,还是要自己来实现RTMP协议的推送。本人实现了一个RTMPLiveEncoder,通过采集摄像头视频和

音视频开发 RTMP协议发送H.264编码及AAC编码的音视频(C++实现)

RTMP(RealTimeMessagingProtocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系FlashPlayer和RtmpServer,如FMS,Red5,crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(FlashMediaLiveEncoder)推送音视频数据至RtmpServer,可实现摄像头实时直播。不过,毕竟FMLE应用范围有限,想要把它嵌入到自己的程序中,还是要自己来实现RTMP协议的推送。本人实现了一个RTMPLiveEncoder,通过采集摄像头视频和

AAC音频格式ADTS头详解

        裸流的AAC数据是没办法播放的,因为设备找不到AAC格式的相关信息;需要添加ADTS头才能够播放,每帧音频包都有一个ADTS头,ADTS头没有crc校验的话是7字节长度,有crc校验的话是9字节长度。 ADTS个字段协议:ADTS头协议字段长度描述synword12bit固定0xFFF,用作同步,一帧的开始id1bitMPEG标识符,0:MPEG-4,1:MPEG-2layer2bit一般为00protection_absent1bitcrc校验标识,0:有crc校验,1:没有crc校验profile2bitAAC级别,再ffmpeg的AVStream中:streams[aud

AAC音频格式ADTS头详解

        裸流的AAC数据是没办法播放的,因为设备找不到AAC格式的相关信息;需要添加ADTS头才能够播放,每帧音频包都有一个ADTS头,ADTS头没有crc校验的话是7字节长度,有crc校验的话是9字节长度。 ADTS个字段协议:ADTS头协议字段长度描述synword12bit固定0xFFF,用作同步,一帧的开始id1bitMPEG标识符,0:MPEG-4,1:MPEG-2layer2bit一般为00protection_absent1bitcrc校验标识,0:有crc校验,1:没有crc校验profile2bitAAC级别,再ffmpeg的AVStream中:streams[aud

android - 如何使用 Android MediaCodec 生成 AAC ADTS 基本流

我正在尝试做的事情:使用Android的MediaCodec将原始PCM音频样本编码为原始AAC文件。我遇到的问题:当我使用FFMPEG将生成的原始AAC文件打包到M4A容器中时,FFMPEG提示文件中缺少编解码器参数。详情:由于我找不到任何用于生成输出AAC文件的音频编码器的MediaCodec示例代码,因此我尝试将视频编码器修改为音频编码器。原代码在这里:source_code我这样配置音频编码器:mEncoderFormat=MediaFormat.createAudioFormat("audio/mp4a-latm",(int)mAudioSampleRate,2);//red

android - 如何使用 Android MediaCodec 生成 AAC ADTS 基本流

我正在尝试做的事情:使用Android的MediaCodec将原始PCM音频样本编码为原始AAC文件。我遇到的问题:当我使用FFMPEG将生成的原始AAC文件打包到M4A容器中时,FFMPEG提示文件中缺少编解码器参数。详情:由于我找不到任何用于生成输出AAC文件的音频编码器的MediaCodec示例代码,因此我尝试将视频编码器修改为音频编码器。原代码在这里:source_code我这样配置音频编码器:mEncoderFormat=MediaFormat.createAudioFormat("audio/mp4a-latm",(int)mAudioSampleRate,2);//red