试图弄清楚ffmpeg,目前正致力于将24位/96 out的FLAC文件转换为16位/48 out。
发布于 2017-01-04 02:25:57
基本示例
ffmpeg -i input.flac -sample_fmt s16 -ar 48000 output.flacflac
ffmpeg -sample_fmts
ffmpeg -h encoder=flacaresample过滤器示例
ffmpeg -i input.flac -af aresample=out_sample_fmt=s16:out_sample_rate=48000 output.flac这两个示例都将产生相同的输出:您可以使用hash muxer进行验证。
更改抖动方法
有关可用抖动方法和其他重采样选项的列表,请参阅-dither_method option。示例:
ffmpeg -i input.flac -dither_method triangular_hp -sample_fmt s16 -ar 48000 output.flacSoX重采样器
FFmpeg支持两个重采样器:默认的swresample库和外部SoX resampler (soxr)。
要使用soxr,必须使用--enable-libsoxr编译ffmpeg。然后使用-resampler选项选择它:
ffmpeg -i input.flac -resampler soxr -sample_fmt s16 -ar 48000 output.flac或者使用aresample过滤器来完成所有操作:
ffmpeg -i input.flac -af aresample=resampler=soxr:out_sample_fmt=s16:out_sample_rate=48000 output.flac更多信息
发布于 2018-06-15 09:13:06
作为一个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"
donehttps://stackoverflow.com/questions/41420391
复制相似问题