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

 更新时间:2019年08月08日 09:42:19   作者:hectorli36  
今天小编就为大家分享一篇Python使用ffmpy将amr格式的音频转化为mp3格式的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近做了一个项目,将从微信下载的音频文件(默认为.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数学建模PuLP库线性规划入门示例详解

    Python数学建模PuLP库线性规划入门示例详解

    这篇文章主要为大家介绍了Python数学建模PuLP库线性规划入门示例详解,想学习关于Python建模的同学可以学习参考下,希望能够有所帮助
    2021-10-10
  • Python五种下划线详解

    Python五种下划线详解

    这篇文章主要介绍了Python下划线5种含义实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • python中的opencv和PIL(pillow)转化操作

    python中的opencv和PIL(pillow)转化操作

    这篇文章主要介绍了python中的opencv和PIL(pillow)转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • pandas的apply函数用法详解

    pandas的apply函数用法详解

    本文主要介绍了pandas的apply函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python queue模块功能大全

    Python queue模块功能大全

    queue模块是Python内置的标准模块,可以直接通过import queue引用,这篇文章主要介绍了Python queue模块都具有哪些功能,需要的朋友可以参考下
    2023-04-04
  • Django框架中方法的访问和查找

    Django框架中方法的访问和查找

    这篇文章主要介绍了Django框架中方法的访问和查找,包括各种列表和字典的查找,是Python的Django框架使用的必备技巧,需要的朋友可以参考下
    2015-07-07
  • Python 使用PIL numpy 实现拼接图片的示例

    Python 使用PIL numpy 实现拼接图片的示例

    今天小编就为大家分享一篇Python 使用PIL numpy 实现拼接图片的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 一篇文章带你详细了解python中一些好用的库

    一篇文章带你详细了解python中一些好用的库

    这篇文章主要推荐了一些好用的Python库,都有这不错的群众基础,非常好用,也都很实用,推荐给大家,希望能够给你带来帮助
    2021-09-09
  • python使用正则搜索字符串或文件中的浮点数代码实例

    python使用正则搜索字符串或文件中的浮点数代码实例

    这篇文章主要介绍了python使用正则搜索字符串或文件中的浮点数代码实例,同时包含一个读写到文件功能,需要的朋友可以参考下
    2014-07-07
  • K-近邻算法的python实现代码分享

    K-近邻算法的python实现代码分享

    这篇文章主要介绍了K-近邻算法的python实现代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论