ffmpeg 压缩音频遇到mac下播放时长不对的问题

一直在用ffmpeg压缩音频

 以前一直用这个指令

ffmpeg -i audio_path -b:a 32k new_audio_path 

   来进行压缩, 但是码率一旦设置到32k一下的时候在ios系统下面播放时长就不对了,原本14MIN的音频播放时候就只有8min, 

   然后google很久, 似乎是vbr, cbr 编码 造成的, 用mediainfo工具查看, 源文件是cbr编码的, 压缩出来的文件编程了vbr编码。

   不显式指明的时候, ffmpeg 似乎是会把文件按照vbr编码的, 因为这样文件更小, 猜想问题可能出在这个上面, 于是继续搜索,

   如何让其按照cbr编码压缩, 终于在https://trac.ffmpeg.org/ticket/431, 找到解决办法, 

   使用这个指令压缩出来的任然是cbr编码:

ffmpeg -i audio_path -ab 32k -f mp3 -> new_audio_path

运气不错, 这样压缩出来的文件播放时长终于正确了。
项目紧具体原理就不深究了。

这个链接提到vbr造成的一些问题, 不过05年。。。。。。很怀疑早修复了。。10年前了
http://txfx.net/2005/02/08/vbr-mp3-fix/
posted @ 2016-05-30 16:54  海狸先森  阅读(750)  评论(0编辑  收藏  举报