平台

RK3399 + Android 8.1

概述

需要在RK上完成MP3格式转换, 主要分两部分:

  1. mp3 转 adpcm
  2. 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格式相关推荐

  1. 使用FFmpeg转换mp3或wav文件为pcm格式文件

    使用FFmpeg转换mp3或wav文件为pcm格式文件 由于项目开发中需要验证pcm格式音频的播放,可以使用FFmpeg进行转换 安装时这里推荐一个便捷方式,sudo apt install smpl ...

  2. java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解

    这篇文章主要介绍了 详解java调用ffmpeg转换视频格式为flv的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下 详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在L ...

  3. mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv

    详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...

  4. 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 ...

  5. 音频转换器怎么将ogg转换mp3格式

    一遇到ogg这种格式有些宝宝们就开始慌了,在网上下载了这种格式的音频之后,在手机里无法播放,真的是很气人,生活中也就算了,如果是在工作中,岂不是要被老板骂的狗血淋头,想要快速将ogg格式转换MP3格式 ...

  6. 电脑音频转换mp3格式怎么弄,教你音频怎么转换mp3格式

    mp3格式是目前几乎全兼容的格式了,在我们参加一些会议或讲座时,需要录制一些重要的信息,结束后再进行复盘或分享.然而,不同的录制工具录制的音频格式也不同,这时使用软件将音频统一成mp3格式的话,就会方 ...

  7. wma音频怎么转换mp3格式

    常见的音频格式,一般我们见过的都是MP3音频格式来的.而现在给你介绍的wma转换mp3格式中,wma音频格式是Windows Media Audio,是微软力推的一种音频格式.WMA格式是以减少数据流 ...

  8. wma转换mp3格式怎么转?

    提到音频格式,大家首先想到的是mp3格式,这是兼容性最好的一种音频格式,也是被大家熟知的格式.那还有一种mp3起名的格式叫做wma,跟mp3相比较,wma是便于储存的一种音频格式,因为在和mp3拥有同 ...

  9. 如何将m4a音频转换mp3格式,5种简单方法帮你处理

    如何将m4a音频转换mp3格式?这个问题想必在工作生活中经常遇到吧.为什么要将m4a音频转换mp3格式呢?首先,M4A是一种较新的高质量音频文件格式,通常用于存储高保真度的音频文件,例如音乐录音室的原 ...

最新文章

  1. 交通工程专业的计算机论文,交通工程(毕业论文).doc
  2. 流氓ONU问题分析和处理
  3. git拉取tag_不给队友拖后腿!团队开发中 Git 最佳实践
  4. ORA-01031 权限不足-过程中DBA 角色用户无法执行DDL
  5. Junit单元测试学习笔记一
  6. MVP:界面与业务逻辑分离在Winform中的应用
  7. OSCACHE(转)
  8. 接软件开发项目,你需要知道这些!
  9. 银行业数据治理之数据资产管理
  10. setpriority_Java Thread类的最终void setPriority(int priority)方法(带示例)
  11. java登陆拦截器_SpringBoot拦截器实现登录拦截
  12. 用java网络编程中的TCP方式上传文本文件及出现的小问题
  13. 系统学习深度学习(二十四)--WRN
  14. butterknife 配置了点击和绑定无效
  15. Ubuntu18.04解决Teamview检测为商用问题
  16. docker网络配置和4G网卡关系 小白笔记
  17. Vue实现拖拽拼图滑块验证
  18. Spanning-tree fast features配置案例
  19. ps制作凹陷的的直线
  20. Apache htaccess 重写如果文件存在!

热门文章

  1. mac环境Android将屏幕录制视频转化成GIF动态图
  2. 配置springcloud中eureka服务访问时需要用户名密码
  3. EXCEL 常用函数总结
  4. idea快速展开和折叠全部方法的快捷键
  5. 小学计算机写字板教案,小学信息技术公开课教案走进“写字板”
  6. 苹果cms怎么关闭验证码登陆后台
  7. 01-02 | 设计模式之美——王争
  8. springboot使用redis
  9. 为什么Java的要求越来越高,面试总是拿凉经?
  10. mac hdmi 不能调整音量_Mac音量控制软件Sound Control