关于用ffmpeg转换音频文件amr格式为aac格式记录。包含java代码以及liunx安装
在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目录下,在终端打开
- 依次执行
1 2 3 | ./configure --enable-shared make make install |
安装ffmpeg时, --enable-libmp3lame引入libmp3lame,上面安装部分的命令要换成下面的
1 2 3 | ./configure --enable-shared --enable-libmp3lame make make install |
转mp3的服务器命令如下:
1 | /usr/local/ffmpeg/bin/ffmpeg -i /icooper/appdata/H5TransferTemp/ 1690794842225 .amr /icooper/appdata/H5TransferTemp/ 08031410 .mp3 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库