123456789101112131415161718192021222324252627282930313233343536373839404142 |
- 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")
|