我需要在不改变采样率和位深度的情况下将 flac 文件转换为 wav 文件。据我所知更改这些属性可能会使音频失真,那么如何指定它们不被更改?
另外,有什么方法可以防止将元数据写入输出文件?
编辑:显然这是一个 XY 问题,对不起,我是新来的。我的问题是我不想在我的 OS X 上安装 flac,因为我试图对我使用的所有东西进行沙盒处理,所以我需要一个可执行文件,例如 ffmpeg。我会尝试@slhck 的建议并检查采样率和位深度是否发生变化。
编辑:ffmpeg 只保留采样率。位深度需要手动设置。
虽然它没有像您在标题中指出的那样使用 ffmpeg,但要将 FLAC 文件转换为 .wav,您只需flac使用--decode( -d) 开关传递它即可。
flac --decode input.flac将产生input.wav包含相同音频数据的输出。
您可以添加--no-keep-foreign-metadata以使 flac 丢弃输入中的任何非音频数据。(它与--keep-foreign-metadata 保存/恢复 WAVE 或 AIFF 非音频块相反。)
ffmpeg 不会改变采样率,除非你告诉它(或者输出编解码器不支持它,但它很可能会失败)。所以这应该足够了:
ffmpeg -i input.flac output.wav
Run Code Online (Sandbox Code Playgroud)
但是 ffmepg 不会保留位深度并默认为 16 位编码,因此如果您的输入是 24 位,则必须使用:
ffmpeg -i input.flac -c:a pcm_s24le output.wav
Run Code Online (Sandbox Code Playgroud)
至于删除元数据,请参阅使用 FFmpeg 从所有格式中剥离元数据——您基本上只添加了该-map_metadata -1选项。
| 归档时间: |
|
| 查看次数: |
8823 次 |
| 最近记录: |