我正在尝试使音频文件精确到 x 秒。
到目前为止,我尝试atempo
通过执行以下计算来使用过滤器
Audio length / desired length = atempo.
但这并不准确,我必须手动调整速度以使其完全适合。
有没有其他解决方案可以完成这项工作?还是我做错了?
我的原始文件是一个 wav 文件,我的输出是一个 mp3
这是一个示例命令
ffmpeg -i input.wav -codec:a libmp3lame -filter:a "atempo=0.9992323" -b:a 320K output.mp3
更新。
通过更改接收音频长度的方式,我能够正确计算速度。
我现在正在使用实际文件大小和采样率计算当前音频长度。
音频长度 = 文件大小 /(采样率 * 2)
采样率大约是 16000 Hz。您可以通过使用 ffprob 或 ffmpeg 来获得它。
编辑 - 已解决
弄清楚了。我计算的节奏不正确。
Audio length / desired length = atempo
应该
desired length / Audio length = atempo
我不得不对节奏的实际作用做更多的阅读。希望这可以帮助某人。