参考:
查看FFmpeg的命令帮助:ffmpeg -h
将MP4文件file.mp4转换为音频文件file.wav,并转为16kHz采样率的音频文件file_16k.wav,命令如下:
ffmpeg -i file.mp4 -codec:a pcm_s16le -ac 1 file.wav -loglevel quiet
ffmpeg -i file.wav -f wav -ar 16000 -ac 1 file_16k.wav -loglevel quiet
命令 | 含义 |
---|---|
-i filemname.fmt | 后面跟设置输入文件名filemname.fmt |
-f fmt | 强制格式,设置输出格式为fmt |
-c/-codec codec | 编解码器名称codec(wav格式对应pcm_s16le,signed 16 bits little endian, 有符号 16 位小端) |
-ar samplerate | 设置音频采样率(Hz) |
-ac channels | 设置音频通道数,比如-ac 1为单通道 |
-acodec copy | 指定音频编码,若用参数copy是直接复制相应的流 |
对声音进行采样、量化过程被称为脉冲编码调制(Pulse Code Modulation),简称PCM。而由上文采样频率,采样位数,声道数三个概念,由下面公式得出在计算机中 PCM 文件所占用的存储空间大小:
PCM 音频数据大小 = (采样频率 * 采样位数 * 声道 * 时间)//8 (单位:Bytes)
由于 PCM 数据是最原始的音频数据,对于采样的数据完全无损,所以 PCM 数据虽然音质优秀但体积对于计算机的存储还是过于庞大;为了解决这个问题先后诞生了一系列的音频格式,这些音频格式运用不同的方法对音频数据进行压缩,其中有无损压缩(ALAC、APE、FLAC)和有损压缩(MP3、AAC、OGG、WMA)两种。