ffmpeg 将 flac 转换为 wav

ffmpeg 将 flac 转换为 wav

我需要将 flac 文件转换为 wav 文件,但不更改采样率和位深度。据我所知,更改这些属性可能会扭曲音频,那么我该如何指定它们不被更改?

另外,有什么方法可以防止元数据被写入输出文件?

编辑:显然这是一个 XY 问题,抱歉,我是新来的。我的问题是我不想在我的 OS X 上安装 flac,因为我试图对我使用的所有内容进行沙盒处理,所以我需要一个可执行文件,例如 ffmpeg。我会尝试 @slhck 的建议并检查采样率和位深度是否发生变化。

编辑:ffmpeg 仅保留采样率。位深度需要手动设置。

答案1

ffmpeg 不会改变采样率,除非你告诉它(或者输出编解码器不支持,但很可能失败)。所以这应该足够了:

ffmpeg -i input.flac output.wav

但是 ffmepg 不会保留位深度并默认为 16 位编码,因此如果您的输入是 24 位,则必须使用:

ffmpeg -i input.flac -c:a pcm_s24le output.wav

至于删除元数据,请参阅使用 FFmpeg 去除所有格式的元数据——你基本上只添加了-map_metadata -1选项。

答案2

虽然它不像您在标题中指出的那样使用 ffmpeg,但是要将 FLAC 文件转换为 .wav,您只需flac使用--decode( -d) 开关将其传递即可。

flac --decode input.flac将产生input.wav输出,包含相同的音频数据。

您可以添加--no-keep-foreign-metadata以使 flac 丢弃输入中的任何非音频数据。(这与--keep-foreign-metadata 保存/恢复 WAVE 或 AIFF 非音频块

相关内容