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/