Audio ffmpeg FLAC 24位96khz至16位48khz

Audio ffmpeg FLAC 24位96khz至16位48khz,audio,ffmpeg,bitrate,flac,Audio,Ffmpeg,Bitrate,Flac,正在尝试了解ffmpeg,目前正在将24位/96khz FLAC文件转换为16位/48khz。基本示例 列出示例格式:ffmpeg-sample\u fmts 列出其他flac编码选项:ffmpeg-h encoder=flac 过滤示例 两个示例都将产生相同的输出:您可以使用验证 改变抖动方法 有关可用抖动方法和其他重采样选项的列表,请参见。例如: ffmpeg -i input.flac -dither_method triangular_hp -sample_fmt s16 -ar

正在尝试了解ffmpeg,目前正在将24位/96khz FLAC文件转换为16位/48khz。

基本示例
  • 列出示例格式:
    ffmpeg-sample\u fmts
  • 列出其他flac编码选项:
    ffmpeg-h encoder=flac
过滤示例 两个示例都将产生相同的输出:您可以使用验证


改变抖动方法 有关可用抖动方法和其他重采样选项的列表,请参见。例如:

ffmpeg -i input.flac -dither_method triangular_hp -sample_fmt s16 -ar 48000 output.flac

SoX重采样器 FFmpeg支持两个重采样器:默认的swresample库和外部(soxr)

要使用soxr,您的
ffmpeg
必须使用
--启用libsoxr
进行编译。然后使用
-resampler
选项选择它:

ffmpeg -i input.flac -resampler soxr -sample_fmt s16 -ar 48000 output.flac
或者使用过滤器完成所有操作:

ffmpeg -i input.flac -af aresample=resampler=soxr:out_sample_fmt=s16:out_sample_rate=48000 output.flac

更多信息

作为一个bash脚本,它生成新文件,文件名后面附加-16;在脚本中可以很容易地重命名然后删除原始文件,但我有点太偏执了

#!/bin/sh
# requires: ffmpeg
for f in *.flac;
do
echo "Processing $f"
ffmpeg -i "$f" -sample_fmt s16 -ar 48000 "${f%.flac}-16.flac"
done

答案是11票,问题是0票?!
ffmpeg -i input.flac -af aresample=resampler=soxr:out_sample_fmt=s16:out_sample_rate=48000 output.flac
#!/bin/sh
# requires: ffmpeg
for f in *.flac;
do
echo "Processing $f"
ffmpeg -i "$f" -sample_fmt s16 -ar 48000 "${f%.flac}-16.flac"
done