Linux系统安装ffmpeg转码音频

java在Linux下将amr转mp3方法
原文链接:https://blog.csdn.net/zshanhu/article/details/79416064
展开
1. 首先安装系统编译环境

 yum install -y automake autoconf libtool gcc gcc-c++  #CentOS

2. 编译所需源码包

#yasm:汇编器,新版本的ffmpeg增加了汇编代码

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
 
#lame:Mp3音频解码
wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install
 
#amr支持
wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
tar -xzvf opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure
make
make install
 
#amrnb支持
wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2
tar -xjvf amrnb-11.0.0.0.tar.bz2
cd amrnb-11.0.0.0
./configure
make
make install
 
#amrwb支持
wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2
tar -xjvf amrwb-11.0.0.0.tar.bz2
cd amrwb-11.0.0.0
./configure
make
make install
 
#ffmpeg
wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2
tar -xjvf ffmpeg-2.5.3.tar.bz2
cd ffmpeg-2.5.3
./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared
make
make install
 
#加载配置
vi /etc/ld.so.conf
在文件末尾加上:/usr/local/lib

如:

[root@localhost aaa]# more /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib

执行命令:ldconfig

#最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。
执行ffmpeg


3.使用方法
ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr  #MP3转换AMR
ffmpeg -i 1.amr 1.mp3                 #AMR转换MP3


4.java代码 :

        public class ChangeAudioFormat {
public static void main(String[] args) throws Exception {
String path1 = "/opt/1519895395744.amr";  
           ​    ​ String path2 = "/opt/1519895395744.mp3";  
           ​    ​ amrToMp3(path1, path2);  
}
public static boolean amrToMp3(String localPath, String targetFilePath) {  
        try {  
            System.out.println("**************  ffmpeg ****************");  
            java.lang.Runtime rt = Runtime.getRuntime();  
            String command = "ffmpeg -i " + localPath + " " + targetFilePath;  
            System.out.println("command = " + command);  
            Process proc = rt.exec(command);  
            InputStream stderr = proc.getErrorStream();  
            InputStreamReader isr = new InputStreamReader(stderr);  
            BufferedReader br = new BufferedReader(isr);  
            String line = null;  
            StringBuffer sb = new StringBuffer();  
            while ((line = br.readLine()) != null){
                sb.append(line);  
            }
            System.out.println("ffmpeg Process errorInfo: " + sb.toString());  
            int exitVal = proc.waitFor();  
            System.out.println("ffmpeg Process exitValue: " + exitVal);  
            return true;  
        } catch (Exception e) {  
            System.out.println("ffmpeg exec cmd Exception " + e.toString());  
        }  
        return false;  
    }  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值