一句话简介:pydub——音频处理库;ffmpeg——音视频编解码工具。

一.  安装

安装pydub

  pip install pydub

  pip install ffprobe

安装ffmpeg

mac下:

  brew install ffmpeg

windows下:

  1. 官网下载:https://www.gyan.dev/ffmpeg/builds/

  2. 解压

  3. 将子级目录的bin目录配置到环境变量里

  4. 命令行输入 ffmpeg –version 进行验证

二. 基本使用

from pydub import AudioSegment
from pydub.playback import play def _mp3():
song = AudioSegment.from_mp3("以父之名 - 周杰伦.mp3") # 剪切
# seg = song[:30000] # 时长(ms)
# duration1 = len(song) # 毫秒
# duration2 = song.duration_seconds # 秒(浮点型) # 音量调节(dB)
song = song + 7 # 重复播放
# repeat = song * 2 # 拼接
song = song[:3000] + song[:3000] # 导出
# song.export("以父之名前30秒.mp3", format="mp3") # 淡入
# song.append(seg, crossfade=2000) # 淡出
# song.fade_in(2000).fade_out(2000) # 打标记
# song.export("以我之名.mp3", format="mp3", tags={'artist': 'teark', 'album': 'teark', 'comments': 'teark'}) # 加速减速
song = song._spawn(song.raw_data, overrides={"frame_rate": int(song.frame_rate * 1.4)}).set_frame_rate(
song.frame_rate) # 播放
play(song) if __name__ == '__main__':
_mp3()

三. 问题记录

  1. brew install ffmpeg报错:Error: No such file or directory @ rb_sysopen - /Users/teark/Library/Caches/Homebrew/downloads/0827e10cb755956f10cdf21c79bd161f4682bdfe455ddd4eec9b5b1ccc334812--ca-certificates-2022-03-29.all.bottle.tar.gz

    缺什么就装什么,从后往前看, 最前面是路径,最后面是格式,次后面是版本号,版本号前面就是包名,所以这里包名是ca-certificates,于是brew install ca-certificates之后,再次brew install ffmpeg

音频处理库:pydub与ffmpeg的更多相关文章

  1. pydub音频处理库的使用

    pydub音频处理库的使用 在使用pydub这个模块之前应确保你的libav或者FFmpeg Mac上安装libav或FFmpeg brew install libav --with-libvorbi ...

  2. libZPlay 音频编码解码器库

    libZPlay 音频编码解码器库 http://www.oschina.net/p/libzplay libZPlay 播放音乐并显示 FFT 图形 :http://www.oschina.net/ ...

  3. 介绍几个python的音频处理库

    一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. About eyeD3 is a Python tool for ...

  4. 音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw

    音频视频编程相关:GStreamer/ffmpeg/directshow/vfw linux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向. 一.GStreamer ...

  5. EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)

    上一节我们讲了如何基于ffmpeg-Android工程编译安卓上的支持音频的ffmpeg静态库:http://blog.csdn.net/xiejiashu/article/details/52524 ...

  6. 基于jsmpeg库下使用ffmpeg创建视频流连接websocket中继器传输视频并播放

    这个功能的基本工作是这样的: 1.使用node运行jsmpeg库下的websocket-relay.js文件,这个文件的作用是创建一个websocket视频传输中继器 2.运行ffmpeg,将输出发送 ...

  7. 音频处理库—librosa的安装与使用

    序言 Librosa是一个用于音频.音乐分析.处理的python工具包,一些常见的时频处理.特征提取.绘制声音图形等功能应有尽有,功能十分强大.本文主要介绍librosa的安装与使用方法. 一.lib ...

  8. 安装Ubunutu音频视频库

    sudo apt-get install ubuntu-restricted-extras

  9. (转)nginx-rtmp-module和ffmpeg搭建实时HLS切片

    1.rtmp服务器 nginx+pcre+zlib+openssl+nginx-rtmp-module ./configure \ --prefix=/usr/local/nginx \ --sbin ...

  10. ffmpeg 视频ts切片生成m3u8

    下面几种转换方式是不同版本和方法 新版本ffmpeg转视频直接可以切边并生成 m3u8(目前用的方式,也可以用选项 segment ): ffmpeg -i '源文件.mp4' -c:v h264 - ...

随机推荐

  1. 解决redmi airdots 2右耳充不进电,灯不亮

    解决方案 在放入充电盒并插入数据线充电状态下,长按按钮

  2. 1. PyQt5开发环境的搭建

    专栏地址 ʅ(‾◡◝)ʃ 因为我个人使用的是 Linux 还有之前用过Windows 没用过 Mac 所以这里我简单结束 Linux 和 Windows 开发环境的搭建 Windows 开发PyQt5 ...

  3. 使用 Rainbond 搭建本地开发环境

    在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql.Redis.Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题.依赖问题等等. 在需要团队协 ...

  4. Promise知一二

    Promise 1.Promise的前置知识 进程(厂房) 程序的运行环境 线程(工人) 线程是实际进行运算的东西 同步 通常情况代码都是自上向下一行一行执行的 前边的代码不执行后边的代码也不会执行 ...

  5. 【数据库】PostgreSQL/PgSql-根据模式名和字段名查询有该字段的所有表信息【通过表元数据信息和函数实现】

    一.利用表数据信息查询表和字段信息 (一)从pg_tables中查询表信息 select tablename from pg_tables where schemaname='ap' and tabl ...

  6. 【每日一题】2022年2月10日-NC160 二分查找-I

    描述请实现无重复数字的升序数组的二分查找 给定一个 元素升序的.无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标 ...

  7. [数学建模]主成分分析法PCA

    最常用的线性降维方法,通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性. Q1:为何选取方差 ...

  8. Django中ORM多对多三种创建方式(全自动-纯手动-半自动)

    一:多对多三种创建方式 1.全自动: 利用orm自动帮我们创建第三张关系表 class Book(models.Model): name = models.CharField(max_length=3 ...

  9. python 之选择结构(if --elif --else)

    python中有三种结构:顺序结构.选择结构.循环结构,此处介绍选择结构. if -- else 结构: if 判断条件: 执行语句 else: 执行语句 当if后面的判断条件为真(True)时,执行 ...

  10. Django ValueError: HTTP status code must be an integer from 100 to 599.

    程序执行后一直提示ValueError: HTTP status code must be an integer from 100 to 599. 遍历代码一切正常,然后开始调试代码,找出获取数据有问 ...