使用python讲二进制转换为音频文件_Python使用ffmpy将amr格式的音频转化为mp3格式的例子...
最近做了一个项目,将从微信下载的音频文件(默认为.amr格式)转化为mp3格式(否则前端播放将会遇到困难)上传到云端。经过一番研究,最终决定采用Python的ffmpy包。
安装只需执行
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使用ffmpy将amr格式的音频转化为mp3格式的例子...相关推荐
- Python使用ffmpy将amr格式的音频转化为mp3格式
最近做了一个项目,将从微信下载的音频文件(默认为.amr格式)转化为mp3格式(否则前端播放将会遇到困难)上传到云端.经过一番研究,最终决定采用Python的ffmpy包. 首先是ffmpy的文档:h ...
- aac是什么音频格式?aac转化为mp3方法
aac是什么音频格式?AAC是一种高级音频编码的音频文件,发布于1997年,基于MPEG-2的音频编码技术,aac采用了全新的算法进行编码,更加高效.与mp3格式相比,aac也是属于有损压缩的音频格式 ...
- python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法
python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...
- python切割音频文件_python切割和合并wav音频文件
切割wav音频文件 如果没有pydub需要使用pip install pydub来安装模块 from pydub import AudioSegment from pydub.utils import ...
- python打开音频文件_Python处理音频文件的实用姿势
每天叫醒我的不是理想,是楼下广场舞的音乐. 音乐是人类的通用语言,不分国界不分种族. 抖音短视频爆火的关键因素之一,就是普通人也能便捷地使用BGM表达自我. 从感性角度看,音乐可以有很多种解释,如:音 ...
- python保存数据到本地文件_python保存数据到本地文件的方法
python保存数据到本地文件的方法 1.保存列表为.txt文件 #1/list写入txt ipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.2 ...
- python以读写方式打开文件_python读写文件操作详细介绍【传智播客】
Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...
- python图片保存为txt文件_python + opencv实现提取png图像的像素信息并存储到txt文件中(附安装指导)...
相关库安装指导: 这里我们需要 opencv_python,numpy,matplotlib库,另外我用的是python3.6.1版本. 一般库大家都是用pip install命令安装的,不过不知道为 ...
- python将字符串写入txt文件_python将字符串以utf-8格式保存在txt文件中的方法
python将字符串以utf-8格式保存在txt文件中的方法 如下所示: #ltp_data 字符串 写进777.txt 1. def save(filename, contents): fh = o ...
最新文章
- 【NIO】缓存区buffer
- 比特币官网管理者因支持BCH被建议移交权限
- 如何使用Jekyll+GitHub Pages搭建个人博客站点
- 在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来
- 用Fidder实现IOS手机抓包
- 2017蓝桥杯c语言C组承压计算,蓝桥杯2017Java B组---分巧克力and承压计算
- IoC反转控制初步认识
- 解析Tensorflow官方PTB模型的demo
- DLM - stackglue 层
- 操作系统—内存的连续分配管理方式
- HQL (迫切)左外连接
- mysql查询结果输出到文件
- 大数据开发之路:hive篇,你看了吗?
- java 校验银行卡号_Java + OpenCV 实现银行卡号识别 (3)
- mysql异常-SQLSTATE[HY000]: General error: 1436 Thread stack overrun
- centos 7 DVD版设置基础软件仓库出错(error setting up base repository)
- HUAWEI P10/P10 Plus的摄影追求:极致是如何“创造”的?
- 【数据结构】01-绪论《数据结构 C语言版(严蔚敏、吴伟民)》
- 删除win7资源管理器左侧家庭组/导航窗口的收藏夹、库、家庭组以及网络的方法
- 【ReID】Harmonious Attention Network for Person Re-Identification
热门文章
- 使用Example_where_Cause出现 Column 'goods_id' in where clause is ambiguous解决办法
- Qt::Painter 详解
- SpringBoot 配置文件加密的两种方式
- 使用Processing实现井字棋
- 学校的校园景点平面图(校园景点迷你地图C++数据结构)(查询图中顶点间的最短路径查询图中任意两个顶点间的所有路径)
- 百度离破产只有30天
- 令人拍案叫绝的Wasserstein GAN(转载)
- 使用arch-anywhere来安装arch
- 从小白到web渗透工程师——零基础指南(2)sql注入漏洞
- vscode实现边写边查