Python使用ffmpy将amr格式的音频转化为mp3格式的例子


Posted in Python onAugust 08, 2019

最近做了一个项目,将从微信下载的音频文件(默认为.amr格式)转化为mp3格式(否则前端播放将会遇到困难)上传到云端。经过一番研究,最终决定采用Python的ffmpy包。

首先是ffmpy的文档:http://ffmpy.readthedocs.io/en/latest/index.html

安装只需执行

pip install ffmpy

注意,ffmpy只是命令行工具FFmpeg的一个包装,若要成功执行任务,还需要安装FFmpeg

在Ubuntu上:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
 
sudo apt-get update
 
sudo apt-get install ffmpeg

查看是否安装成功:

ffmpeg -versionx

下面是一个很简单的例子,这里没有对转音频的质量等具体参数进行设置,全部都是用的默认选项。建议由这类需求的朋友们参考一下FFmpeg的文档。

@classmethod
def transformat_voice(cls, amr_voice_b):
  from_fn = 'from.amr'
  to_fn = 'target.mp3'
  mp3_file = BytesIO()
  with open(from_fn, 'wb') as f_from:
    f_from.write(amr_voice_b.getvalue())
  ff = ffmpy.FFmpeg(inputs={from_fn: None}, outputs={to_fn: None})
  ff.run()
  with open(to_fn, 'rb') as f_to:
    f_to.seek(0)
    mp3_file.write(f_to.read())
  os.remove(from_fn)
  os.remove(to_fn)
  mp3_file.seek(0)
  return mp3_file

这里有一点,由于ffmpy只是一个命令行的wrapper,所以无法对BytesIO进行操作,这里只能先把二进制文件写到硬盘上进行操作,转换完后再把文件删除。最后的返回值会是一个BytesIO类型,方便作为后台程序使用。

以上这篇Python使用ffmpy将amr格式的音频转化为mp3格式的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python抓取淘宝下拉框关键词的方法
Jul 08 Python
实现python版本的按任意键继续/退出
Sep 26 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
python已协程方式处理任务实现过程
Dec 27 Python
matlab、python中矩阵的互相导入导出方式
Jun 01 Python
Python的logging模块基本用法
Dec 24 Python
Spy++的使用方法及下载教程
Jan 29 Python
Django rest framework jwt的使用方法详解
Aug 08 #Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 #Python
django基于restframework的CBV封装详解
Aug 08 #Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 #Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 #Python
Python generator生成器和yield表达式详解
Aug 08 #Python
利用python实现短信和电话提醒功能的例子
Aug 08 #Python
You might like
PHP中的正规表达式(一)
2006/10/09 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
JavaScript浏览器选项卡效果
2010/08/25 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
js实现3D旋转效果
2020/08/18 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
Python转码问题的解决方法
2008/10/07 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python抓取百度首页的方法
2015/05/19 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
无故旷工检讨书
2014/01/26 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫