import os from .audio_analysis import audio_analysis_pipeline from modules.video_processing.video_concat import merge_videos from modules.video_processing.video_cut import video_cut_by_json from .llm_director import director_json from .video_concat import concat_videos from .common import read_video_list, find_vidoe2cut def oral_cut(video_path): # 1、提取音频文件,用于语句筛选 audio_analysis_pipeline(video_path) # 2、获取语句筛选后的json文件 video_name = os.path.splitext(os.path.basename(video_path))[0] json2script_path = f"output/filter_4/{video_name}.json" # # 3、口播脚本生成 video_list = director_json(json2script_path) find_vidoe2cut(json2script_path, video_list) # 4、脚本视频片段裁切 json2cut_path = f"output/for_cut/{video_name}.json" video_cut_by_json(json2cut_path) # 5、视频拼接 video_list = read_video_list(f"output/script/{video_name}.json") video_list = [f"output/video_clips/{video}" for video in video_list] output_video = concat_videos(video_list) return output_video # 6、TODO:I 先生成脚本,再进行片段裁切;II 字幕纠偏和换行 if __name__ == "__main__": oral_cut("data/sub_video/videoa.mp4")