PCM(WAV)是未压缩的,因此-b:a
/-ab
不起作用。
WAV的比特率直接受采样率、声道布局和每个样本的位数影响。
计算PCM / WAV比特率
假设每秒8000个样本,立体声声道布局,每个样本16位:
sample rate × number of channels × bits per sample = bitrate
8000 × 2 × 16 = 256000 bits/s, or 256 kb/s
获取音频信道、采样率和位深度
您可以使用ffmpeg -i input.wav
命令查看输出结果,或者使用ffprobe
命令获取更简洁的输出:
$ ffprobe -loglevel error -select_streams a -show_entries stream=sample_rate,channels,bits_per_sample -of default=nw=1 input.wav
sample_rate=8000
channels=2
bits_per_sample=16
修改比特率
使用WAV格式时,比特率不应是一个考虑因素。如果比特率成为问题,则WAV可能不是你的最佳选择。话虽如此,您可以通过以下方式更改比特率:
- 采样率(
-ar
)
- 声道数量(
-ac
)
- 比特深度。对于PCM/WAV格式,比特深度是编码器名称中列出的数字:
-c:a pcm_s24le
,-c:a pcm_s16le
,-c:a pcm_u8
等。请参见 ffmpeg -encoders
。
以下是128 kb/s的示例(音质可能较差):
ffmpeg -i input.wav -ar 8000 -ac 1 -c:a pcm_s16le output.wav
ffmpeg -i input.wav -ar 8000 -ac 2 -c:a pcm_s8 output.wav
另一种选择是使用无损压缩格式。音质与WAV相同,但文件大小可以显著减小。例如FLAC:
$ ffmpeg -i audio.wav audio.flac
$ ls -alh audio.wav audio.flac
6.1M audio.flac
11M audio.wac