使用 FFmpeg 转换音频文件

简介

FFmpeg 是非常强大的命令行音视频转换工具,由于我们在制作 3CX 的音频转码的时候有那么几个要求,用命令行转码起来非常方便。IPPBX中会有企业欢迎音需要转换音频文件。这个时候会需要这些操作

安装

如果电脑上有装 Chocolatey,使用管理员运行下列命令安装:

choco install ffmpeg

如果电脑上有用 scoop 包管理工具,运行下列命令安装:

scoop install ffmpeg

如果都没有,去 ffmpeg 网站下载下来使用。

使用

我们使用 ffmpeg 的 -i 命令可以导入文件并查看文件的当前属性: ffmpeg -i 文件名

可以看到我导了一首歌进来,是 flac 格式的,采样率是 44100 Hz,立体声,还有一张专辑的图片。

现在我要将他转成 3CX 支持的格式: WAV (PCM, 8 kHz, 16 bit, Mono)

输入以下命令即可:

ffmpeg -i 文件名 -ac 1 -ar 8000 输出文件名.wav
  • -ac(audio channel):声道数,单声道设置为 1 即可。
  • -ar(audio frequency):采样率,设置 8000 即可。

命令执行完以后可以看到我把它输出为 ‘ivr.wav’,下面的 Steam 信息可以看到已经变成了 8000Hz 采样,mono 单声道。我们可以把这个IVR文件导入IPPBX里面 

再下方的的 encoder 信息处可以看到默认给我们的编码是 pcm_s16le 格式,这个格式是 16 bit 的没问题。size 即文件大小是 4436 KB。

也可以使用下列命令查看支持的编码格式

ffmpeg -encoders

列表最前面的 A 是音频编码的意思,X 是编码还处于测试阶段。

如果要转换成 opus 编码,使用下列命令即可:

ffmpeg -i 文件名 -acodec libopus -ac 1 -ar 8000 输出名.ogg