@ audio/ encode- aac
将PCM音频样本编码为AAC(ADTS)格式,以浏览器和节点为单位.
浏览器所在之处 网络代码 AudioEncoder 支持配置(Chromium 94+,Safari 16+) 它在那里编码:零捆绑成本,硬件加速. 其他任何地方(节点,火狐),它运行 Fraunhofer FDK AAC (法语) 编码器(v2.0.3)编译为"WebAssembly"(WebAssembly),并被加载在先使用上.
import aac from '@audio/encode-aac';
const encoder = await aac({ sampleRate: 44100, channels: 2, bitrate: 128 });
const a = await encoder.encode(chunk1); // → Uint8Array (ADTS frames)
const b = await encoder.encode(chunk2);
const c = await encoder.flush(); // → Uint8Array (remaining frames); frees the encoder
// complete ADTS AAC = concat(a, b, c)
选项
| 选项 | 默认 | 说明 |
|---|---|---|
sampleRate | —— 说 | Hz输入抽样率(所需) |
channels | 1 | 1 或者说 2; FDK 还 3– 说吧 –6 财务报告和审定财务报表 8 (WAV频道顺序) |
bitrate | 128 | 目标位元速率( kbps) |
profile | 'lc' | 'lc' AAC-LC, 'he' HE -AAC (SBR), (英语), 'hev2' HE-AACv2(SBR + PS,只有立体声) |
编码器报告 priming (样品的延迟:AAC-LC2048 FDK)和 frameLength (1024;2048 对于HE-AAC),一个容器需要无缺口回放. @audio/encode-mp4 用他们.
输出是原始的 ADTS 框架 AAC: 每个块是整个 ADTS 框架的序列,可播放为 .aac. HE-AAC暗含地信号SBR(一个以核心速率为单位的LC头),这是ADTS必须的.
许可证
麻省理工学院内部FDK编码器(src/fdk.wasm.js)是Fraunhofer FDK AAC Codec图书馆,根据自己的许可证发行(LICENSE.fdk-aac (英语):通过该通知自由重新分配,不发放专利许可证。 AAC受专利管辖;商业经销商可能需要专利库(Via LA)颁发许可证.
