Linux下ffmpeg的wav与amr相互转换
来源:互联网 发布:fastjson解析嵌套数组 编辑:程序博客网 时间:2024/05/18 02:19
在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/目录下
//解压ffmpegtar -xvf ffmpeg-release-64bit-static.tar.xz
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
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
2.amr转wav
//amr转wav./ffmpeg -i 1.amr 1.wav
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; } } }
//异常说明
我在安装过程中出现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
阅读全文
0 0
- Linux下ffmpeg的wav与amr相互转换
- FFMPEG 音频转换命令 wav转amr
- FFMPEG 音频转换命令 wav转amr
- ffmpeg 指令 PCM 转换 WAV & AAC & AMR & MP3
- linux下ffmpeg转换amr为mp3大小为0的解决方案
- ffmpeg命令转音乐为wav格式,wav格式与PCM数据相互转换,ffplay播放PCM数据
- Linux下GB2313与UTF8的相互转换
- [转载]linux下使用ffmpeg将amr转成mp3
- linux下使用ffmpeg将amr转成mp3
- ffmpeg window下批量转换MP3为wav
- iphone开发 服务器、android、iphone音频文件播放和传输 amr和wav的转换
- ios 使用音频队列播放amr格式转换成wav的格式,只有嘈杂声
- iOS 音频格式WAV和AMR格式转换技术
- iOS 录音Wav 音频 转换 Amr ,Android 播放
- iOS 录音Wav 音频 转换 Amr ,Android 播放
- iOS 录音Wav 音频 转换 Amr ,Android 播放
- java 将.amr音频文件转换为.mp3或.wav文件
- Linux下wav与mp3互转
- adaboost和GBDT的区别以及xgboost和GBDT的区别
- 使用JSONObject来处理json
- char数组的赋值操作&动态储存建立删除
- Pentaho Kettle ETL整理及ETC技术细节系列
- iOS-高性能
- Linux下ffmpeg的wav与amr相互转换
- SpringBoot篇
- java虚拟机到底是什么
- 【TensorFlow】框架学习笔记tensor(一)
- 基于zookeeper实现统一配置管理
- 基于SnapDragonBoard410C的机械臂(一)
- Python实现Pat 1003. Emergency (25)
- FileInputStream 与 BufferedInputStream 的区别和效率对比
- 基本数据类型和引用数据类型的特点