在liunx上先执行
/usr/local/ffmpeg/bin/ffmpeg -i /icooper/appdata/H5TransferTemp/temp_169104070929582710298008327991031690794842225.amr -c:a aac /icooper/appdata/H5TransferTemp/temp_16910407092951690794842225.aac是否成功。
当可以执行时代码拼接部分
private void convertAmrToAac(File source, String target){ String ffmpeg = configNameDao.getConfigValueByKey("ffmpeg"); String command = ffmpeg + " -i " + source.getAbsolutePath() + " -c:a aac " + target; logger.info("execute:" + command); try { Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(command); int i = proc.waitFor(); logger.info("Process waitFor 返回结果:{}", i); } catch (Throwable t) { t.printStackTrace(); logger.info("命令执行失败"); } }
最主要的是服务器上要安装Ffmpeg:
//下载解压fmpeg wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz tar -zxvf ffmpeg-4.1.tar.gz //安装 cd ffmpeg-5.1 ./configure --prefix=/usr/local/ffmpeg make && make install //配置变量 vi /etc/profile # 在最后PATH添加环境变量: export PATH=$PATH:/usr/local/ffmpeg/bin # 保存退出 # 查看是否生效 source /ect/profile 设置生效
如果安装完使用ffmpeg或者/usr/local/ffmpeg/bin/ffmpeg还是执行不了报错的话:
问题./ffmpeg: error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
解决:
vi /etc/ld.so.conf
- 加入配置
/usr/local/ffmpeg/lib
,具体看自己的安装目录 -
刷新配置ldconfig
- 验证ffmpeg -version
如果想要用ffmpeg抓换arr格式到mp3的话,需要在装一个libmp3lame第三方库
libmp3lame第三方库安装方法:
- 下载压缩包 https://sourceforge.net/projects/lame/files/lame/
- 解压 ,进入lame-3.100目录下,在终端打开
- 依次执行
./configure --enable-shared make make install
安装ffmpeg时, --enable-libmp3lame引入libmp3lame,上面安装部分的命令要换成下面的
./configure --enable-shared --enable-libmp3lame make make install
转mp3的服务器命令如下:
/usr/local/ffmpeg/bin/ffmpeg -i /icooper/appdata/H5TransferTemp/1690794842225.amr /icooper/appdata/H5TransferTemp/08031410.mp3