import os from gradio_client import Client, handle_file from shutil import copy2 from tqdm import tqdm # 定义输入视频目录和输出目录 input_dir = "../Bakemonogatari_Videos_Splited" output_dir = "../Bakemonogatari_Videos_Splited_Depth" # 如果输出目录不存在,则创建它 if not os.path.exists(output_dir): os.makedirs(output_dir) # 遍历输入目录中的所有 .mp4 文件 for filename in tqdm(os.listdir(input_dir)): print(filename) #break if filename.endswith(".mp4"): video_path = os.path.join(input_dir, filename) # 初始化 Gradio 客户端 client = Client("http://127.0.0.1:7860") # 调用 API result = client.predict( input_video={"video": handle_file(video_path)}, max_len=500, target_fps=15, max_res=1280, grayscale=False, api_name="/infer_video_depth" ) # 获取处理后的视频路径 processed_video_path = result[1]["video"] # 将处理后的视频拷贝到输出目录 output_video_path = os.path.join(output_dir, os.path.basename(processed_video_path)) copy2(processed_video_path, output_video_path) print(f"Processed and copied {filename} to {output_video_path}")