使用ffmpeg libfaac转换声音时的声音加速

时间:2014-06-06 12:22:37

标签: audio ffmpeg audio-converter

我正在尝试使用fmand使用ffmpeg转换声音:

fmpeg -y -i /Users/Artem/Sites/waprik/testing/orig.mp4 -acodec libfaac -b:a 64k -ar 41000 -ac 2 -threads 0 -vn /Users/Artem/Sites/waprik/public/testing.m4a

原始声音是4:18分钟,但输出声音持续时间是4分钟,它听起来加速。我该如何解决?

顺便说一句,原声是

Duration: 00:04:18.81
Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 191 kb/s
    Metadata:
      creation_time   : 2014-03-07 05:45:06
      handler_name    : IsoMedia File Produced by Google, 5-11-2011

1 个答案:

答案 0 :(得分:2)

您错误输入了音频。它应该是44100而不是41000:

ffmpeg -y -i /Users/Artem/Sites/waprik/testing/orig.mp4 -acodec libfaac -b:a 64k -ar 41000 -ac 2 -threads 0 -vn /Users/Artem/Sites/waprik/public/testing.m4a

这是证明它的数学计算!您的初始曲目是4分18秒,即258秒。您的转换率与实际汇率之比为41000/44100,或.9297052。将这个比率乘以你的258秒曲目,我们最终获得239.86秒的曲目......或者3分59.86秒。

发生的事情是你告诉ffmpeg,而不是一秒钟内的44100帧,实际上只有41000帧。所以,它抓住了44100中的41000并称之为秒,即使它确实不是。结果是您最终得到一个更快/更短,稍微降级的音频文件。