12345678910111213141516171819202122232425262728293031323334353637383940 |
- import os
- from utils.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 utils.llm_director import director_json
- from utils.video_concat import concat_videos
- from utils.common import read_video_list, find_vidoe2cut
- def main(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_name}" for video_name in video_list]
- concat_videos(video_list)
- # 6、TODO:I 先生成脚本,再进行片段裁切;II 字幕纠偏和换行
- # 7、TODO: fisrt_cut \ oral_cut \\ aide_cut -> show_cut
- # 8、TODO: 口播片段筛选规则调整,确保至少筛留200个视频片段(关键词筛留规则)
- main("data/sub_video/videoa.mp4")
|