使用默认

使用默认

我用 Ardour 录制并混录了一张 CD 的自制音乐,然后愚蠢地将所有歌曲都导出为 48 kHz 和 24 位。现在我需要 44.1 和 16 位,以便 CDBaby 将其交给 iTunes、Spotify 等。我以为他们会想要 mp3,但没有。我想我会做类似的事情:

ffmpeg -i song.wav

并使用以下方式设置新的采样率:

-ar 44100

但是我怎样才能将比特率降低到 16?我找不到任何提示...大多数 ffmpeg 问题都是关于视频的,我迷失在第一个可能的线索中,然后又迷失在第二个可能的线索中。

答案1

使用默认

WAV 输出的默认设置是 16 位编码器 ( pcm_s16le),因此您需要做的就是:

ffmpeg -i input.wav -ar 44100 output.wav

或者手动声明一个16位编码器

ffmpeg -i input.wav -c:a pcm_s16le -ar 44100 output.wav
  • 查看编码器列表ffmpeg -encoders
  • 查看编码器支持哪些音频样本格式(位深度)ffmpeg -h encoder=pcm_s16le

或者手动设置音频采样格式

带有-sample_fmt选项。

ffmpeg -i input.wav -sample_fmt s16 -ar 44100 output.wav
  • 查看音频样本格式(位深度)列表ffmpeg -sample_fmts

或者使用格式过滤器

ffmpeg -i input.wav -af "aformat=sample_fmts=s16:sample_rates=44100" output.wav

答案2

这与样本格式有关吗?

要查看选项:ffmpeg -sample_fmts

对于你来说,这将是这样的,

ffmpeg -i input -sample_fmt s16 -ar 44000 output

参考:https://ffmpeg.org/ffmpeg.html#toc-Audio-Options

答案3

我认为 SoX 可能是完成这项工作的更好工具。我创建了一个采样率为 48.0 kHz、位深度为 24 位的样本文件,我在相关部分中用箭头标记:

andrew@ilium~/tmp$ mediainfo luckynight_48_24.wav 
General
Complete name                            : luckynight_48_24.wav
Format                                   : Wave
File size                                : 16.6 MiB
Duration                                 : 1 min 0 s
Overall bit rate mode                    : Constant
Overall bit rate                         : 2 304 kb/s

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 00000001-0000-0010-8000-00AA00389B71
Duration                                 : 1 min 0 s
Bit rate mode                            : Constant
Bit rate                                 : 2 304 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz  <-----
Bit depth                                : 24 bits   <-----
Stream size                              : 16.6 MiB (100%)

现在我不是 SoX 大师,但以下命令确实将上述文件转换为 44.1 kHz 的采样率和 16 位的位深度(如您所要求的):

sox luckynight_48_24.wav -r 44100 -b 16 luckynight_44_16.wav

这完成了以下工作,并且我再次在相关部分中用箭头标记:

andrew@ilium~/tmp$ mediainfo luckynight_44_16.wav 
General
Complete name                            : luckynight_44_16.wav
Format                                   : Wave
File size                                : 10.2 MiB
Duration                                 : 1 min 0 s
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 411 kb/s

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 1 min 0 s
Bit rate mode                            : Constant
Bit rate                                 : 1 411.2 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 44.1 kHz  <-----
Bit depth                                : 16 bits   <-----
Stream size                              : 10.2 MiB (100%)

这正是你所追求的:)

相关内容