因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:用户
您可以查看并复制此页面的源代码:'''问题:'''
因项目需求,需要将 amr 格式的文件转成 mp3格式。网络上提供的思路大多是使用jave-x-x.jar。这个包确实有用,因为开发时是在windows环境中,确实转换成功了,可以播放。可是一旦部署到Linux环境当中,不是转换失败,就是转换的文件为大小 0 k。
'''原因:'''
jave的能转换的原理其实就是调用外部的二进制可执行文件 ffmpeg,打开它的jar包就可以发现,它里面内置了:ffmpeg.exe 所以实际上,jave就是封装了一层对外部ffmpeg的调用。而windows上能转换是因为:ffmpeg.exe 这个程序没问题。而Linux上转换失败也是因为 ffmpeg 这个可能版本太老或依赖库缺失。起初我以为是调用外部的ffmpeg,所以重新安装编译了Linux的ffmpeg,然并卵。所以只能再想其他解决方案。
解决知道原因之后,解决思路有两种。
# 不使用jave ,将jave一些核心的代码抽取出来,自己调用系统外部。
# 下载最新的ffmpeg,替换掉原先的ffmpeg。
第二种比较简单,就直接用第二种吧。
# 下载和替换下载站点:http://ffmpeg.org/download.html
# 然后选择一个32位还是64位
# 下载之后解压,选择其中的ffmpeg,替换掉。
文章链接:http://www.linjie.org/2015/08/06/amr%E6%A0%BC%E5%BC%8F%E8%BD%ACmp3%E6%A0%BC%E5%BC%8F-%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3Linux%E4%B8%8B%E8%BD%AC%E6%8D%A20K%E9%97%AE%E9%A2%98/
如果是debian系统,可以直接执行aptitude install ffmpeg即可