如何通过FFmpeg命令行批量将48000Hz 24bit FLAC文件转换为41000Hz 16bit格式?
如何通过FFmpeg命令行批量将48000Hz 24bit FLAC文件转换为41000Hz 16bit格式?
嗨,我来帮你搞定这个批量转换的需求!用FFmpeg完全可以轻松实现,我给你分两种常用场景来讲解,你可以根据自己的操作系统选合适的方案:
先搞懂基础单文件转换命令
首先先给你看单个文件的转换命令,理解了原理再批量处理就简单多了:
ffmpeg -i input.flac -ar 41000 -sample_fmt s16 output.flac
参数解释:
-i input.flac:指定要转换的输入FLAC文件-ar 41000:设置输出文件的采样率为41000Hz-sample_fmt s16:指定输出文件的采样格式为16bit(s16代表有符号16位)output.flac:转换后的输出文件名
批量处理方案
1. Windows系统(命令提示符CMD)
打开CMD,切换到存放FLAC文件的目录,执行下面的命令:
for %f in (*.flac) do ffmpeg -i "%f" -ar 41000 -sample_fmt s16 "converted_%f"
这个命令会遍历当前目录下所有.flac文件,每个文件转换后会在原文件名前加上converted_前缀,避免覆盖原文件。如果是写在批处理(.bat)脚本里,记得把%f改成%%f。
2. Linux/macOS系统(终端)
打开终端,进入FLAC文件所在目录,执行:
for f in *.flac; do ffmpeg -i "$f" -ar 41000 -sample_fmt s16 "converted_${f}"; done
同样,这个命令会批量处理当前目录的所有FLAC文件,输出文件带converted_前缀。
实用小贴士
- 单独存放转换后的文件:可以先创建一个
converted文件夹(Windows用md converted,Linux/macOS用mkdir converted),然后把输出路径改成"./converted/converted_%f"(Windows)或者"./converted/converted_${f}"(Linux/macOS),这样文件会更规整。 - 保留原文件元数据:如果想保留原FLAC里的专辑名、艺术家、封面等信息,可以在命令里加上
-map_metadata 0参数,比如:ffmpeg -i input.flac -ar 41000 -sample_fmt s16 -map_metadata 0 output.flac - 加速转换:加上
-threads auto参数,让FFmpeg自动调用多线程处理,能明显提升批量转换的速度。
备注:内容来源于stack exchange,提问作者black-clover
相关产品推荐
相关产品推荐

