Android FFmpeg 转换MP3格式
平台
RK3399 + Android 8.1
概述
需要在RK上完成MP3格式转换, 主要分两部分:
- mp3 转 adpcm
- mp3 转 CBR mp3
专业的事情还是要找专业的工具做, 比哪 FFMPEG. 很强大, 但并不了解它, 只能在应用边缘窥探.
在github上分别找了两个项目测试, 效果还可以: MobileFFmpeg , FFmpegAndroid
mp3 转 adpcm
以FFmpegAndroid为例:
FFmpegUtil.java 中添加
public static final String AUDIO_CODEC_ADPCM = "adpcm_ms";public static final String AUDIO_CODEC_WAV = "wav";public static final String AUDIO_CODEC_MP3 = "mp3";//ffmpeg -i INPUT.wav -f wav -acodec adpcm_ms OUTPUT.wavpublic static String[] transformAudioAdpcm(String inputPath, String outputPath) {String transformAudioCmd = "ffmpeg -i %s -acodec %s -ac 1 -ar 16000 %s";transformAudioCmd = String.format(transformAudioCmd, inputPath, AUDIO_CODEC_ADPCM, outputPath);return transformAudioCmd.split(" ");}
MainActivity.java 调用:
String srcMp3 = "/mnt/sdcard/test.mp3";void toAdpcm(){d("toAdpcm");String out = "/mnt/sdcard/test.wav";FFmpegHandler ffh = new FFmpegHandler(h);String[] cmds = FFmpegUtil.transformAudioAdpcm(srcMp3, out);ffh.executeFFmpegCmd(cmds);}
实际执行的命令: ffmpeg -i /mnt/sdcard/test.mp3 -acodec adpcm_ms -ac 1 -ar 16000 /mnt/sdcard/test.wav
mp3 转 CBR mp3
首先科普下CBR VBR ABR
CBR (constant Bitrate)固定比特率。
VBR(Variable Bitrate)动态比特率
ABR(Average Bitrate)平均比特率,是VBR的一种插值参数。
以MobileFFmpeg为例:
String src = "/sdcard/test.mp3";String dst = "/sdcard/cbr.mp3";//8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256int rc = FFmpeg.execute(" -i " + src + " -codec:a libmp3lame -b:a 48k " + dst);
实际执行的命令: ffmpeg -i /mnt/sdcard/test.mp3 -codec:a libmp3lame -ar -b:a 48k /mnt/sdcard/test.wav
更多丰富的功能可以查看FFmpeg的文档, 共勉!
Converting to .mp3 format using ffmpeg and the libmp3lame codec.pdf
引用
- 科普贴!mp3中的比特率VBR,ABR,CBR分别是什么意思?
- MobileFFmpeg
- FFmpegAndroid
- Converting to .mp3 format using ffmpeg and the libmp3lame codec
- wiki:Encode/MP3
Android FFmpeg 转换MP3格式相关推荐
- 使用FFmpeg转换mp3或wav文件为pcm格式文件
使用FFmpeg转换mp3或wav文件为pcm格式文件 由于项目开发中需要验证pcm格式音频的播放,可以使用FFmpeg进行转换 安装时这里推荐一个便捷方式,sudo apt install smpl ...
- java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解
这篇文章主要介绍了 详解java调用ffmpeg转换视频格式为flv的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下 详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在L ...
- mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv
详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...
- flac格式转换mp3格式_MP3,FLAC和其他音频格式之间有什么区别?
flac格式转换mp3格式 Digital audio has been around a very long time so there's bound to be a plethora of au ...
- 音频转换器怎么将ogg转换mp3格式
一遇到ogg这种格式有些宝宝们就开始慌了,在网上下载了这种格式的音频之后,在手机里无法播放,真的是很气人,生活中也就算了,如果是在工作中,岂不是要被老板骂的狗血淋头,想要快速将ogg格式转换MP3格式 ...
- 电脑音频转换mp3格式怎么弄,教你音频怎么转换mp3格式
mp3格式是目前几乎全兼容的格式了,在我们参加一些会议或讲座时,需要录制一些重要的信息,结束后再进行复盘或分享.然而,不同的录制工具录制的音频格式也不同,这时使用软件将音频统一成mp3格式的话,就会方 ...
- wma音频怎么转换mp3格式
常见的音频格式,一般我们见过的都是MP3音频格式来的.而现在给你介绍的wma转换mp3格式中,wma音频格式是Windows Media Audio,是微软力推的一种音频格式.WMA格式是以减少数据流 ...
- wma转换mp3格式怎么转?
提到音频格式,大家首先想到的是mp3格式,这是兼容性最好的一种音频格式,也是被大家熟知的格式.那还有一种mp3起名的格式叫做wma,跟mp3相比较,wma是便于储存的一种音频格式,因为在和mp3拥有同 ...
- 如何将m4a音频转换mp3格式,5种简单方法帮你处理
如何将m4a音频转换mp3格式?这个问题想必在工作生活中经常遇到吧.为什么要将m4a音频转换mp3格式呢?首先,M4A是一种较新的高质量音频文件格式,通常用于存储高保真度的音频文件,例如音乐录音室的原 ...
最新文章
- 交通工程专业的计算机论文,交通工程(毕业论文).doc
- 流氓ONU问题分析和处理
- git拉取tag_不给队友拖后腿!团队开发中 Git 最佳实践
- ORA-01031 权限不足-过程中DBA 角色用户无法执行DDL
- Junit单元测试学习笔记一
- MVP:界面与业务逻辑分离在Winform中的应用
- OSCACHE(转)
- 接软件开发项目,你需要知道这些!
- 银行业数据治理之数据资产管理
- setpriority_Java Thread类的最终void setPriority(int priority)方法(带示例)
- java登陆拦截器_SpringBoot拦截器实现登录拦截
- 用java网络编程中的TCP方式上传文本文件及出现的小问题
- 系统学习深度学习(二十四)--WRN
- butterknife 配置了点击和绑定无效
- Ubuntu18.04解决Teamview检测为商用问题
- docker网络配置和4G网卡关系 小白笔记
- Vue实现拖拽拼图滑块验证
- Spanning-tree fast features配置案例
- ps制作凹陷的的直线
- Apache htaccess 重写如果文件存在!