首页 > 其他分享 >音频AAC编码浅析

音频AAC编码浅析

时间:2022-12-26 10:11:08浏览次数:43  
标签:编码 maxBytesOutput enc AAC aac 音频 samplesInput 浅析

复制代码

/*
*    unsigned long   nSampleRate,        // 采样率,单位是bps
*    unsigned long   nChannels,          // 声道,1为单声道,2为双声道
*    unsigned long   &samplesInput,     // 传引用,得到每次调用编码时所应接收的原始数据长度
*    unsigned long   &maxBytesOutput   // 传引用,得到每次调用编码时生成的AAC数据的最大长度
*/
    enc = faacEncOpen(samplerate, channels, &samplesInput, &maxBytesOutput);
复制代码

在使用aac编码之前 由已知采样率和声道 首先获取 每次aac编码所应接收的原始数据长度即上面代码中第三个参数 samplesInput

还有每次编码时输出的aac数据最大长度 即上面代码中第四个参数 maxBytesOutput

 

音频编码:

int enc_result = faacEncEncode(enc, (int32_t *) pcm_buffer, samplesInput, out, enc_size);

在真正音频aac编码时,该接口使用的pcm_buffer[] 也就是输入的原始数据要等于之前获取的每次aac编码所应接收的原始数据长度 也就是上面获取的 samplesInput 的长度

enc_size 就是上面获取的每次编码时输出的aac数据最大长度 也就是上面获取的 maxBytesOutput

上面 out[] 大小就是 maxBytesOutput 的长度

 

备注:在音频编码的时候只需要原始的pcm数据,那些时间戳跟真正aac编码没有太大关系。时间戳可能会跟音频aac编码后的数据一起进行下一步操作。

---------------------------------------------

标签:编码,maxBytesOutput,enc,AAC,aac,音频,samplesInput,浅析
From: https://www.cnblogs.com/kn-zheng/p/17005088.html

相关文章

  • 常见的音频特征
    目录1.频谱、倒谱、时频谱和功率谱2.梅尔频率倒谱系数3.功率正则化倒谱系数1.频谱、倒谱、时频谱和功率谱频谱:将一段时域信号通过离散傅里叶变换后,将频率作为横轴,......
  • 项目实战:JavaCV + JavaFX + Netty 视频语音聊天程序(H264、AAC编解码)
    记录一下使用JavaCV+JavaFX+Netty开发视频语音聊天程序(H264、AAC编解码)功能需求用户ID绑定邀请用户视频聊天视频采集、H264编码音频采集、AAC编码音视频TCP传输......
  • 浅析容器运行时奥秘——OCI标准
    背景2013年Docker开源了容器镜像格式和运行时以后,为我们提供了一种更为轻量、灵活的“计算、网络、存储”资源虚拟化和管理的解决方案,在业界迅速火了起来。2014年更是容......
  • 视频-音频-2022-12-22
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>视频和音频</title></head><body><!--视频controls可见开启关闭autoplay--><videosrc="......
  • WebRTC 的音频弱网对抗之 NACK
    基础知识音频的NACK机制在WebRTC中默认是关闭的.rtcpfeedbacknack开启就可以了WebRTC的音频数据传输中,尽管对低延时有着很高的要求,但也实现了NACK,以用于一些音......
  • net中c#如何录制音频?推荐使用NAudio组件
    上一篇博客实现录制视频,今天这篇讲的是net中c#实现录制音频?这里推荐使用NAudio这个组件。它是相对成熟、开源的C#音频开发工具,包含录音、播放录音、格式转换、混音调整等功......
  • 领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处
    PO:persistantobject持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO:businessobject业务对象主......
  • eBPF verifier常见错误浅析
    本文摘自毛文安公众号《酷玩BPF》文章,作者毛文安。​​收藏:eBPFverifier常见错误整理​​如今eBPF程序的编写,很多都是基于bcc或者bpftrace进行,也有开发者直接基于libbpf库......
  • 浅析Java中的final关键字
    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。......
  • 分布式 | DBLE 新全局表检查实现浅析
    作者:孙正方爱可生DBLE核心研发成员,拥有丰富的分布式数据库中间件开发、咨询以及调优经验,擅长数据库中间件问题排查和处理,对线上中间件部分排错有深入的实践与认知。背景......