原文链接:https://blog.youkuaiyun.com/qq_34627459/article/details/74956569
1.安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持
yum install -y epel-release
2.如果出现缺少Code提示,可以:
sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
3.安装完成之后,可以查看是否安装成功
yum repolist
4.安装Nux-Dextop源
4.1 导入一个Code
sudo rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
4.2 安装nux-dextop 源
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
4.3 查看repo源是否安装成功
yum repolist
5.yum安装ffmpeg
yum install -y ffmpeg
6.安装完成后检查ffmpeg 版本
ffmpeg -version
案例:mp3文件转wav----前提条件,服务器需要先装好ffpmeg环境
/*
* 先转换文件到本地, audioMp3ToWav
* sourcePath 服务器本地文件地址
* targetPath 转译后服务器本地的地址
*/
public static String audioMp3ToWav(String sourcePath) {
// 转换后文件的存储地址
String targetPath = sourcePath.substring(0, sourcePath.length()-4)+ ".wav";
List<String> commend = new ArrayList<String>();
commend.add("ffmpeg");
commend.add("-i");
commend.add(sourcePath);
commend.add("-acodec");
commend.add("pcm_s16le");//16bit大小的wav
commend.add("-ac");
commend.add("1");//单声道
commend.add("-ar");
commend.add("16000");//采样率
commend.add(targetPath);
StringBuffer cmdStr = new StringBuffer();
for (int i = 0; i < commend.size(); i++) {
cmdStr.append(commend.get(i) + " ");
}
logger.info("----cmdStr:" + cmdStr);
System.out.println(cmdStr);
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
try {
builder.redirectErrorStream(true);
builder.start();
} catch (Exception e) {
e.printStackTrace();
logger.info("音频转换失败");
}
//服务器上临时文件的地址
return targetPath;
}