Linux下ffmpeg的wav與amr相互轉換
轉載:http://blog.csdn.net/sanshipianyezi/article/details/78742621
轉載:http://blog.csdn.net/szfhy/article/details/50441162
在linux下進行wav和amr的相互轉換,如果是amr轉為wav只需要ffmpeg即可 但是若wav轉為amr則需要依賴ffmpeg和opencore_amrnb庫。
完整下載地址:http://download.csdn.net/download/sanshipianyezi/10149789
1.Linux下安裝ffmpeg
ffmpeg下載地址:https://www.johnvansickle.com/ffmpeg/
release: 3.4 也是免安裝版(只需解壓) 只需要下載放到/usr/local/目錄下
//解壓ffmpeg
tar -xvf ffmpeg-release-64bit-static.tar.xz
- 1
- 2
2.安裝opencore-amr
opencore-amr庫下載地址:https://sourceforge.net/projects/opencore-amr/
把下載的opencore-amr-0.1.5.tar.gz放到/usr/local/目錄下
//編譯方法
chmod 755 opencore-amr-0.1.5.tar.gz //改變文件操作權限
tar -xzvf opencore-amr-0.1.5.tar.gz //解壓文件
cd opencore-amr-0.1.5 //進入到opencore-amr文件夾內
./configure --enable-shared=no --enable-static=yes //配置
make //編譯
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.進入ffmpeg下實現wav轉amr和amr轉wav
1.wav轉amr
//wav轉amr
#pwd
/usr/local/ffmpeg-3.4-64bit-static/
[root@localhost ffmpeg-3.4-64bit-static]# ./ffmpeg -i hello1.wav -c:a libopencore_amrnb -ac 1 -ar 8000 -b:a 7.95k -y 1.amr
- 1
- 2
- 3
- 4
- 5
2.amr轉wav
//amr轉wav
./ffmpeg -i 1.amr 1.wav
- 1
- 2
4.java調用
import java.io.IOException;
/**
* wav文件轉amr工具類
* @author sanpianyezi
*
*/
public class Wav2AmrUtil {
//ffmpeg執行目錄
private final static String FFMPEG_PATH ="/usr/local/ffmpeg-3.4-64bit-static/ffmpeg";
/**
* 將一個wav文件轉換成amr文件
*
* @param wavPath
* @param amrPath
* @throws IOException
* @retuen boolean
*/
public static boolean Wav2Amr(String wavPath,String amrPath) throws IOException {
try{
String shellContent = FFMPEG_PATH + " -i " + wavPath + " -c:a libopencore_amrnb -ac 1 -ar 8000 -b:a 7.95k -y "+amrPath;
System.out.println("wav2amr執行命令行為:"+shellContent);
Runtime.getRuntime().exec(shellContent);
System.out.println("wav2amr執行成功");
return true;
}catch(Exception e){
System.out.println("wav2amr執行失敗:"+e.getMessage());
return false;
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
//異常說明
我在安裝過程中出現configure: error: C++ compiler cannot create executables問題
這後來查了一下相關資料後才發現是gcc的組件沒有裝全,我之前安裝gcc時是通知yum方式:
yum install gcc gcc++
這樣的話還是有組件沒有安裝完整的。再執行一下這個命令就可以解決問題。
yum install gcc gcc-c++ gcc-g77
這下應該沒有什麽問題了。
引用參考:http://blog.csdn.net/u010018421/article/details/71280099
Linux下ffmpeg的wav與amr相互轉換