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