import moviepy.editor as mp
import os
import tkinter as tk
from tkinter import filedialog
VIDEO_FORMAT = ["flv"]
def video_convert(source_address, destination_address):
print(source_address, destination_address)
# 获取指定目录下的所有文件
try:
file_list = os.listdir(source_address)
except NotADirectoryError:
print("不是一个有效文件夹路径")
return
else:
print(file_list)
for file in file_list:
if file.split('.')[1] in VIDEO_FORMAT:
# 拼接文件的绝对路径(dir+xxx.flv)
src_file = os.path.join(source_address, file)
src_file = src_file.replace("\\", "/")
print("需要转换的文件 >>>>> " + src_file)
dst_file = os.path.join(destination_address, file.split('.')[0] + ".mp3")
dst_file = dst_file.replace("\\", "/")
print("转换后的文件 >>>>> " + dst_file)
# 调用moviepy库的方法
converting_data = mp.AudioFileClip(src_file)
converting_data.write_audiofile(dst_file, bitrate='256k')
return
if __name__ == "__main__":
# 指定文件目录
root = tk.Tk()
# 获取需要转换的文件夹地址
src_address = filedialog.askdirectory()
# 获取需要输出到的文件夹地址
dst_address = filedialog.askdirectory()
video_convert(src_address, dst_address)