Files
zip-video/VideoZip.py
becken e0759cc9e1 feat: 添加视频处理相关脚本
- 新增 VideoZip.py: 实现了一个简单的图形界面,用于选择文件夹并进行视频转换
- 新增 compress.py: 包含视频转换和文件列表获取功能
- 新增 video_image.py: 实现了视频截图和视频转换功能
- 在 .gitignore 中添加 .DS_Store 文件忽略项
2025-03-13 18:51:32 +08:00

67 lines
2.0 KiB
Python

from tkinter import *
from tkinter import ttk, filedialog, messagebox
import os
import re
import subprocess as sp
import sys
# 使用原生的Tk替代TkinterDnD的Tk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
folder_path = ''
# 1. 拖拽事件触发区域(改为文件夹选择按钮)
def select_folder():
global folder_path
folder_path = filedialog.askdirectory()
if folder_path:
path_listbox.insert(END, folder_path)
log_text.insert(END, f"添加文件夹: {folder_path}\n")
folder_button = ttk.Button(frm, text="选择文件夹", command=select_folder)
folder_button.grid(column=0, row=0, columnspan=3)
# 2. 文件和文件夹路径的列表
path_listbox = Listbox(frm, height=10, width=50)
path_listbox.grid(column=0, row=1, columnspan=3)
# 3. 进度条
progress = ttk.Progressbar(frm, orient=HORIZONTAL, length=400, mode='determinate')
progress.grid(column=0, row=2, columnspan=3)
# 4. 日志输出窗口
log_text = Text(frm, height=10, width=50)
log_text.grid(column=0, row=3, columnspan=3)
def start_conversion():
# 开始转换的逻辑
log_text.insert(END, "开始转换...\n")
progress['value'] = 0
for i in range(100):
progress['value'] += 1
root.update_idletasks()
time.sleep(0.05) # 模拟转换进度
log_text.insert(END, "转换完成\n")
global folder_path
list = os.listdir(folder_path) # 列出文件夹下所有的目录与文件
for i in range(0, len(list)):
print("----------------------------")
path = os.path.join(args[1], list[i])
if os.path.isfile(path):
print("FileName: " + list[i])
matcher1 = re.search(pattern2, list[i])
if matcher1 != None:
# get_image_from_video(args[1], list[i])
conver_video(args[1], list[i])
# 5. 按钮
ttk.Button(frm, text="开始转换", command=start_conversion).grid(column=1, row=4)
ttk.Button(frm, text="关闭", command=root.destroy).grid(column=2, row=4)
root.mainloop()