MoviePy是一个基于Python的视频编辑库,它提供了创建、编辑、合并、剪辑和转换视频的功能。以下是MoviePy的主要作用:

  1. 视频剪辑:MoviePy可以剪辑视频、分离视频和音频流、添加和删除视频和音频段等。

  2. 视频合并:MoviePy可以将多个视频和音频文件合并成一个。

  3. 视频转码:MoviePy可以转换视频格式和编码方式,例如将mp4转换为avi或者将H.264编码转换为H.265编码等。

  4. 视频编辑:MoviePy可以添加视频特效、动画和字幕等,让视频更生动和富有创意。

  5. 视频生成:使用MoviePy可以创建自定义的视频,如生成幻灯片、动画等。

  6. 视频处理:MoviePy可以对视频进行一些处理,如裁剪、缩放、旋转和颜色调整等。

总之,MoviePy为Python开发者提供了一个简单易用的框架来处理视频,而不必学习复杂的视频编辑软件。它的功能强大,可以轻松地进行视频处理、编辑和生成。

本文主要介绍如何使用moviepy来分割音频流并降低码率

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install moviepy

2.Moviepy分割音频

要使用MoviePy库按每30秒一个切割上传上来的mp3/wav并降低文件码率,我们可以按照以下步骤操作。

1、导入MoviePy库和所需的其他库:

import os
from moviepy.editor import *

2、定义一个函数来切割音频文件并降低码率:

def split_audio_file(filename, split_duration=30, bitrate=16000):# 读取音频文件audio = AudioFileClip(filename)# 计算文件总时长和切割点total_duration = audio.durationsplit_points = list(range(0, int(total_duration), split_duration))split_points.append(int(total_duration))filelist = []# 切割音频文件并降低码率for i in range(len(split_points) - 1):start_time = split_points[i]end_time = split_points[i+1]split_audio = audio.subclip(start_time, end_time)split_audio.write_audiofile(f"{os.path.splitext(filename)[0]}_{i}.wav", fps=bitrate)filelist.append(f"{os.path.splitext(filename)[0]}_{i}.wav")audio.close()return filelist

函数接受三个参数:filename表示要处理的音频文件名,split_duration表示要按照多长时间切割文件(单位为秒),bitrate表示要设置的输出码率(单位为比特率)。

在函数中,我们先读取音频文件,然后计算切割点。接着,我们用循环遍历每个切割点,将音频文件切割成小文件并降低码率,最后输出为新的音频文件。

3、调用函数处理音频文件:

filename = "your_audio_file.mp3"  # 要处理的音频文件名
split_duration = 30  # 按每30秒一个切割文件
bitrate = "64k"  # 设置输出码率为64kbps
split_audio_file(filename, split_duration, bitrate)

在调用函数时,将要处理的音频文件名、切割文件的时长和输出码率作为参数传递给函数即可。该函数将把处理后的音频文件输出到当前目录下。

3.Mp3的输出码率

请注意,不能把输出码率调的太低。MP3文件的输出码率会影响音频的质量和文件大小。输出码率越高,音频的质量越好,但文件大小也会越大。相反,输出码率越低,音频的质量会降低,但文件大小会更小。

MP3文件的码率是指每秒钟所需的比特数(即比特率)。在进行编码时,MP3算法会根据设置的码率来决定压缩音频数据的量,从而影响输出文件的大小和质量。通常,较高的码率会产生更高的音频质量,但也会占用更多的存储空间和带宽。

如果输出码率设置得太低,会导致音频质量受到明显的损失,可能会出现音频杂音、失真和低频截断等问题。如果输出码率设置得太高,文件大小会变得非常大,可能会使传输和存储变得困难。

因此,在选择输出码率时,需要根据具体情况权衡音频质量和文件大小的要求,以及传输和存储的限制。一般来说,128 kbps是常用的MP3输出码率,可产生较好的音质和适当的文件大小。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

Python 切割mp3片段为每30秒一个并降低文件码率相关推荐

  1. [Python]将MP3和PDF按名字分类归档到各自文件夹

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/84663012 文章目录 @[toc] ...

  2. 教你用Python如何玩转声音文件,将声音按照语音间隙切割为片段

    声音信号在现实生活中有很多,在如今这个信息爆炸的社会中,提取有用的声音信号也变的尤为重要.当我们采集了一段声音信号后,有时候需要将这段声音的每一句话分离开来做分析,提取我们需要的声音信息.在这里提供一 ...

  3. Python 程序员需要知道的 30 个技巧(转载)

    Python 程序员需要知道的 30 个技巧 原创2017-04-14 伯乐专栏/阿喵 Python开发者 Python开发者 Python开发者 微信号 PythonCoder 功能介绍 人生苦短, ...

  4. python切割音频文件_python切割和合并wav音频文件

    切割wav音频文件 如果没有pydub需要使用pip install pydub来安装模块 from pydub import AudioSegment from pydub.utils import ...

  5. python存储mp3信息_【Python】 获取MP3信息replica

    replica 初衷是想要整理iphone中的音乐.IOS(我自己的手机还是IOS8.3,新版本的系统可能有变化了)自带的音乐软件中所有音乐文件都存放在/var/mobile/Media/iTunes ...

  6. python解析mp3,获取mp3的元数据

    文章目录 概述 mp3(一种音频编码方式) mp3的Tag 标签说明 TAG_V1(ID3V1) TAG_V2(ID3V2) ID3V2 标签头 ID3V2标签帧 常用标识符表 Flags标志的说明 ...

  7. python 获取mp3时长(时间长度)

    python 获取mp3时长(时间长度) 第一种方法 import librosa import time def get_mp3_duration(audio_path):""& ...

  8. python变量使用前必须先声明、并且一旦声明_初学者学习Python的30天‍-第18天-文件处理...

    前文 最近不是出了一个30天的Python教程,有很多人私信我说没有资料怎么跟着学习,现在他来了https://www.bilibili.com/read/cv9383238 今天,我探讨了如何使用P ...

  9. python 切割图_python切割图片的示例

    这个小程序可以自己设定行数和列数进行图片切割 import os from PIL import Image def splitimage(src, rownum, colnum, dstpath): ...

最新文章

  1. 使用Charles抓包
  2. 情人节脱单必备,程序员如何花式表白
  3. 蓝牙BLE(协议栈、OSAL、蓝牙APP工具)
  4. 转:linux中fork()函数详解
  5. 【Python CheckiO 题解】Sun Angle
  6. java 集合工具类_Java集合中Collections工具类总结
  7. ZED2+ORB_SLAM3+视觉惯性轨迹保存
  8. go代码--数据结构
  9. ubuntu18.04安装微信
  10. 扇贝单词里有计算机英语吗,扇贝单词英语版
  11. dlib人脸配准(人脸对齐)
  12. win10系统计算机物理地址,Win10电脑mac地址如何查看 win10系统查看mac地址的方法...
  13. 8种教你如何快速提高平面设计技巧
  14. [noip2016]天天爱跑步(主席树+lca)
  15. 如何使用 CSS 定位 HTML 元素
  16. IBM3650M4-7915服务器安装双CPU的问题
  17. 学校的计算机考试系统,南昊校园在线考试系统电脑阅卷系统
  18. 计算机毕业设计系列基于基于SSM的小区物业信息管理系统
  19. 关闭虚拟机(VMware) 主板报警声 - 出错bell嘀嘀声音
  20. NetSuite资产负债表编制技巧

热门文章

  1. 为什么无法从外部访问VSTO对象?
  2. 手持蓝牙喊话器、大功率蓝牙功放板原理图说明
  3. fiddler抓包日志[json解析,pandas处理]
  4. MAC访达侧边栏添加自定义目录
  5. IcbcDaemon.exe + 360 防火墙 导致windwsXP开机剧慢!
  6. 现在的梦幻西游手游私服到底是什么样子,带你走近看看
  7. HBase 2.0.0 META 数据修复工具
  8. webpack(一)压缩js,加载css,压缩html,压缩图片
  9. 测试自动化_Katalon
  10. sk_buff 里的head、data、len, data_len, tail,end