import argparse from subtitles.parser import parse_srt_to_df from scoring.bert_ranker import BERTImportanceRanker from video_editor.highlight import VideoHighlighter import config def main(): parser = argparse.ArgumentParser( description="Оценка важности фраз в субтитрах с помощью BERT.") parser.add_argument("--srt_path", help="Путь к .srt файлу субтитров") parser.add_argument("--video_path", help="Путь к видео файлу") parser.add_argument( "--output", help="Путь к выходному CSV", default=config.CSV_OUTPUT) args = parser.parse_args() df = parse_srt_to_df(args.srt_path) ranker = BERTImportanceRanker(config.MODEL_NAME) df_scored = ranker.apply_to_dataframe(df) important_df = ( df[df["importance_score"] > 0.9] .loc[:, ["start", "end"]] .reset_index(drop=True) ) vh = VideoHighlighter( video=args.video_path, segments_df=important_df, pad=1.5, join_gap=0.3, out_dir="clips", concat=True, ) vh.cut() df_scored.to_csv(args.output, index=False, encoding='utf-8') print(f"✅ Сохранено в {args.output}") if __name__ == "__main__": main()