我正在努力使音频文件正好是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
我不得不更多地阅读节奏实际上做了什么。希望这有助于某人。