网上 pyav 的资料很少,特此将研究出的代码做个记录
注意: 仅针对 wav 转 mp3/ogg 做过测试,不保证能转换其他格式

代码

from av import open as avopen# i/o: file-like obj
# format: 欲转换到的格式
def wav2(i, o, format):inp = avopen(i, 'rb')                     # 自动判断格式out = avopen(o, 'wb', format=format)        # 设定目标格式if format == "ogg": format = "libvorbis" # ogg 特判ostream = out.add_stream(format)for frame in inp.decode(audio=0):for p in ostream.encode(frame): out.mux(p)for p in ostream.encode(None): out.mux(p)out.close()inp.close()

用例

  1. 文件到文件
with open("a.wav", "rb") as i:with open("a.ogg", "wb") as o:wav2(i, o, "ogg")
  1. 文件到BytesIO
with open("a.wav", "rb") as i:with BytesIO() as o:wav2(i, o, "ogg")

pyav 音频转换小函数 wav 转 mp3 ogg等相关推荐

  1. 使用FFMpeg将音频PCM数据生成WAV和MP3文件

    文章目录 1. 获取编码器和创建解码器上下文 2. 创建音频流和输出封装上下文 3. 编码原始数据写入到文件中 WAV音频封装格式可以存储无编码的PCM数据,而MP3封装格式中不能直接存储PCM数据, ...

  2. 音频文件PCM、WAV、MP3的区别以及文件合并

     一.数字音频三要素 1.采样率 采样率即采样频率,指的一秒内的采样次数,它反映了采样点之间的间隔大小.常说的 44.1KHz 采样率,也即 1 秒采集了 44100 个样本.间隔越小,丢失的信息越少 ...

  3. android音频编辑之音频转换PCM与WAV

    前言 本篇开始讲解在Android平台上进行的音频编辑开发,首先需要对音频相关概念有基础的认识.所以本篇要讲解以下内容: 常用音频格式简介 WAV和PCM的区别和联系 WAV文件头信息 采样率简介 声 ...

  4. 原 android音频编辑之音频转换PCM与WAV

    http://blog.csdn.net/hesong1120/article/details/79043482 本文出自: hesong的专栏 前言 本篇开始讲解在Android平台上进行的音频编辑 ...

  5. WIN32下使用DirectSound接口的简单音频播放器(支持wav和mp3)

    刚好最近接触了一些DirectSound,就写了一个小程序练练手,可以用来添加播放基本的wav和mp3音频文件的播放器.界面只是简单的GDI,dxsdk只使用了DirectSound8相关的接口. D ...

  6. 程序人生 - 音频格式 PCM、WAV、MP3 区别

    PCM PCM(Pulse Code Modulation----脉码调制录音).所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录.PCM信号是由[1].[0]等符号构成的数字信号,而 ...

  7. Wav ,flac,mp3,ogg 等的区别

    名称 描述 优点 缺点 wav 无损音频 几乎无损 体积较大 flac 无损压缩 音质好,体积较小 音质差于wav ogg 一种压缩格式 音质比MP3好,体积和MP3差不多 兼容性低 mp3 一种压缩 ...

  8. 小工具批量将mp3音频格式转换为wav格式

    最近收到一个朋友委托的需求,要将MP3的音频格式转换成wav的音频格式.于是,使用python写了这个小工具便于批量进行转换操作. [阅读全文] 首先,下载需要导入的python模块包.这里选用清华大 ...

  9. 如何将计算机声音改成音乐,win7系统把MP3音频转换成WAV格式的图文教程

    新购买的电脑安装 win7系统 ,开机时觉得系统默认的开机声音一点都不好听,想换开关机声音,但是在网上下载好的MP3音频格式不符合要求,要转换成wav格式,这时候该怎么转换呢?大家可通过搜狗播放器进行 ...

最新文章

  1. 一个类可以实现多个接口但是只能实现一个类
  2. srping atomikos 的jta 事物管理
  3. php表单显示mysql数据库_php用表单形式显示数据库信息
  4. python两列字符串合并_python两列字符串如何合并?
  5. 持续集成Java覆盖率合并
  6. 深入探究VC —— 编译器cl.exe(1)
  7. mysql mode_mysql中的sql_mode
  8. 【Tensorflow】slim.arg_scope()的使用
  9. linux系统上项目部署
  10. pro*c添加SQLCHECK后编译报错PLS-S-00201
  11. 我国博士生培养制度的现状与反思
  12. kafka offset入门理解
  13. 某高手毕生精力总结的电脑技巧
  14. Jquery、简单的下拉列表、网页左部导航菜单
  15. 开源移动安全测试框架MobSF安装过程踩过的那些坑(一)
  16. 防灾科技学院考研计算机,防灾科技学院考研难吗
  17. JAVA方式对接FIL节点钱包(也有离线)
  18. 卸载百度软件修复服务器,快速修复win7系统笔记本卸载百度软件中心助手的解决教程...
  19. 打开PS出现Unable to continue because of a hardware quo
  20. CPU密集型与IO密集型

热门文章

  1. 服装企业互联网+模式
  2. Python Selenium UI自动化:滚动条滑动
  3. 蓝桥杯2018第九届C语言B组省赛习题题解——习题B.明码(暴力破解密码)
  4. 电子邮件制作规范和建议
  5. 常用KINDLE书籍下载网址
  6. 跑商python脚本_梦幻西游:超级帮主75万帮贡!跑商青龙帮战样样都不错过
  7. ctf密码学特殊的编码和解密
  8. python 写数值模拟器_python实现模拟器爬取抖音评论数据的示例代码
  9. android打开手机相册获取真正的图片路径
  10. 万字长文:2020智源大会总结-多角度看AI的未来