【问题标题】:How to set sample format when using sox with ffmpeg?将 sox 与 ffmpeg 一起使用时如何设置示例格式?
【发布时间】:2020-12-18 12:49:42
【问题描述】:

我正在尝试将 44.1k 16 位 flac 文件转换为 48k 32 位(浮点)wav 文件。

这是我使用的命令:

'ffmpeg -i in.flac -af aresample=resampler=soxr:precision=28:out_sample_fmt=fltp:out_sample_rate=48000 out.wav'

无论我为out_sample_fmt 使用哪个值,例如s32, flt, fltp,输出out.wav 都只有16 位。

我在这里做错了什么?如何使用soxr获得ffmpeg的最高质量(如重采样)32位浮点wav文件?

【问题讨论】:

    标签: ffmpeg libsox


    【解决方案1】:

    问题不在于 soxr 或 aresample。通常,在过滤媒体数据之后,在写入输出之前对其进行编码。对于每种输出格式,都为每种类型的流(音频、视频..)指定了一个默认编码器。如果是 WAV,则为 pcm_s16le 用于音频。

    为 32 位浮点 PCM 添加-c:a pcm_f32le,以小端序排列。将 le 更改为 be 以获得大端序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 2022-01-15
      • 2018-12-18
      • 2021-10-13
      • 2012-03-25
      • 1970-01-01
      相关资源
      最近更新 更多