Python实现音频提取的示例详解
作者:科爷出击
在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或QQ音乐中随时听,然而大部分的音频分离软件需要下载和安装,所以本文就来分享一种提取音频的简便方法吧
前言
在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或QQ音乐中随时听,然而大部分的音频分离软件需要下载和安装,使用起来极其笨重,本文提供了一种提取音频的简便方法。
提示:本文出现的代码在Python环境下安装完相应的库后可以直接使用
一、环境准备以及编写其核心代码
1.安装第三方库moviepy
打开Cmd或者PowerShell输入一下命令安装库
pip install moviepy
2.核心代码
代码如下(示例):可直接使用
import moviepy.editor as mp my_clip = mp.VideoFileClip("C:\\Users\\ME08I\\Desktop\\1.mp4")#ci此处为视频的绝对路径。 my_clip.audio.write_audiofile('./test.mp3')#此处为输出的音频名称和格式
注意:Python中'\'符号会被识别为转义字符,所以要使用'\\'
二、代码改进
提示:代码中引入的库,除了moviepy库,其它的都是python3自带的库,直接引入就好
1.引入tkinter
过后在启动脚本时可以直接使用窗口来选择文件,而不需要修改代码中的路径,同时直接使选择的视频文件名为抽离的音频文件名。
import os import moviepy.editor as mp import tkinter as tk from tkinter import filedialog #关闭黑窗口 root = tk.Tk() root.withdraw() def divest() -> None: """ 音频分离核心功能 :return: None """ try: filePath = select_single_file() my_clip = mp.VideoFileClip(filePath) # 切割文件名和后缀名 fileName = os.path.basename(filePath).split(".")[0] if os.path.exists(f'{fileName}.mp3'): print("文件已存在于当前目录,请重新选择!") divest() else: my_clip.audio.write_audiofile(f'{fileName}.mp3') except Exception as e: print(e) def select_single_file() -> str: """ 选择一个文件 :return: 所选文件的绝对路径 """ filePath = filedialog.askopenfilename() return filePath if __name__ == '__main__': divest()
2.实现效果
执行脚本文件
选择视频文件
完成分离
生成的音频文件在脚本的路径下,路径完全可以自己修改,比如将生成的音频文件生成在与视频文件相同的目录下。
总结
现如今大部分的视频剪辑软件都有一键音频分离的功能,但是,视频软件都极其的笨重,从打开到初始化都可能需要几十秒,而使用Python的moviepy库仅需3行代码便可完成分离,改进后的代码在加入了抓错和窗口选择后,完全可以当作一款小工具使用,望收藏
以上就是Python实现音频提取的示例详解的详细内容,更多关于Python音频提取的资料请关注脚本之家其它相关文章!