JHHK

欢迎来到我的个人网站
行者常至 为者常成

【MJ】15_AAC编码实战

参考:【秒懂音视频开发】15_AAC编码实战

本文是上面文章的摘要,只用于自己快速浏览.

目录

要求

fdk-aac对输入的PCM数据是有参数要求的,如果参数不对,就会出现以下错误

采样格式
必须是16位整数PCM

支持的采样率
8000、11025、12000、16000、22050、24000、32000
44100、48000、64000、88200、96000

命令行

一. 最简单的用法如下所示

#-c:a libfdk_aac 设置音频编码器

# pcm -> aac
ffmpeg -ar 44100 -ac 2 -f s16le -i in.pcm -c:a libfdk_aac out.aac
 
# wav -> aac
# 为了简化指令,本文后面会尽量使用in.wav取代in.pcm
ffmpeg -i in.wav -c:a libfdk_aac out.aac

默认生成的aac文件是LC规格的

ffprobe out.aac
 
# 输出结果如下所示
Audio: aac (LC), 44100 Hz, stereo, fltp, 120 kb/s

二. 设置输出比特率

比如-b:a 96k

ffmpeg -i in.wav -c:a libfdk_aac -b:a 96k out.aac

三. 设置输出规格

-profile:a

aac_low:Low Complexity AAC (LC),默认值
aac_he:High Efficiency AAC (HE-AAC)
aac_he_v2:High Efficiency AAC version 2 (HE-AACv2)
aac_ld:Low Delay AAC (LD)
aac_eld:Enhanced Low Delay AAC (ELD)

ffmpeg -i in.wav -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k out.aac

四. 可变比特率

-vbr

开启VBR模式(Variable Bit Rate,可变比特率)

如果开启了VBR模式,-b:a选项将会被忽略,但-profile:a选项仍然有效

ffmpeg -i in.wav -c:a libfdk_aac -vbr 1 out.aac

五. 文件格式

AAC编码的文件扩展名主要有3种:aac、m4a、mp4

# m4a
ffmpeg -i in.wav -c:a libfdk_aac out.m4a
 
# mp4
ffmpeg -i in.wav -c:a libfdk_aac out.mp4

行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.