一句话简介: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. swap,传参实质

    void swap(int a,int b){ int s=a; a=b; b=s; } int main(){ int x=1,y=2; swap(x,y); } 上面的函数并不能实现交换,因为传参 ...

  2. 修改Listen 1源码的一点心得

    注:本文只作为技术交流 首先感谢听1的作者写出这么强大的音乐播放器!! 软件首页地址:点击打开链接 软件的github上上上地址:点击打开链接 软件唯一让我美中不足的就是不能下载,这可能是作者考虑到了 ...

  3. python中调用C代码

    首先我们需要明晰为什么我们需要在python中调用C语言的代码,原因不外乎有二: 其一,python不擅长"大量运算"任务,而擅长于编写简单,"IO密集型作业" ...

  4. 日爬百万数据的域名限制、url的清洗和管理

    一.域名去重1.检测开头:link.startswith('http') txt = "Hello, welcome to my world." x = txt.startswit ...

  5. 2021-01-26HDOJ_Lowest_Bit

    挺水的,但也学到了简单方法 题目如下: Lowest Bit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...

  6. week_11

    Andrew Ng 机器学习笔记 ---By Orangestar Week_11(the Last Week!!!!) Congratulations on making it to the ele ...

  7. LeetCode HOT 100:子集(简单易懂的回溯)

    题目:78. 子集 题目描述: 给你一个整数数组,数组中元素互不相同.返回数组中所有可能的子集,且子集不能重复! 什么是子集?举个例子:原数组[1, 2, 3],[].[1].[1, 2].[1, 3 ...

  8. CMS可视化---ECharts图表

    一.ECharts介绍 ECharts,全称Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,能够流畅的运行在PC以及移动设备上,兼容当前绝大部分浏览器.为我们许 ...

  9. 【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南

    前提概要 在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等) ...

  10. Java读取文件后文件被占用

    Java读取文件响应后文件一直被占用问题 原因: 由于是封装的函数,请求和响应对象都是 形参地址 虽然在此函数里关闭了输出流,但是由于有返回值,调用未结束,输出流无法提前关闭 解决: 1:调用函数后, ...