본문 바로가기
코딩 수업/포트폴리오

[업무자동화][파이썬] 자막 추출하여 미드 쉐도잉 대본 만드는 프로그램 (Python program for extracting subtitles and creating a shadowing script)

by Jade S. 2025. 3. 6.
728x90
반응형

기능 추가:

  1. SRT 파일 경로만 입력하면 자동 처리
  2. 파일 저장 시 미드나 영화 제목 포함

소개:
영어 쉐도잉을 위한 대사 추출 자동화 프로그램.
자막 파일에서 불필요한 정보를 제거하고 깔끔한 대사만 정리.

 

import re
from datetime import datetime
import os

def subtitle(input):
    # HTML 태그 제거
    input = re.sub(r'<.*?>', '', input)  # 모든 HTML 태그를 제거하는 정규식

    time = re.compile(r'\d+\n\d{2}:\d{2}:\d{2},\d{3} --> \d{2}:\d{2}:\d{2},\d{3}')
    result_text = re.sub(time, '', input)
    result_text = re.sub(r'<\/?i>|- ', '', result_text)
    result_text = re.sub(r'\n\s*\n', '\n\n', result_text)
    return result_text.strip()

def extract_movie_name(srt_filename):
    # 경로를 제외하고 파일 이름만 추출
    movie_name = os.path.basename(srt_filename).split('.')[0]  # 경로 제거 후 파일 이름만 추출
    return movie_name

def process_srt_file(srt_filename):
    # SRT 파일 읽기
    with open(srt_filename, 'r', encoding='utf-8') as file:
        content = file.read()
   
    # 텍스트 추출
    result = subtitle(content)
   
    # 미드 제목 추출
    movie_name = extract_movie_name(srt_filename)
   
    # 결과 파일로 저장 (경로와 파일 이름 지정)
    output_folder = r"저장경로"
    output_filename = os.path.join(output_folder, movie_name + "_ShadowingScript.txt")  # 파일명: movie_name_ShadowingScript.txt
   
    with open(output_filename, 'w', encoding='utf-8') as file:
        file.write(result)
   
    print(f"결과가 '{output_filename}' 파일에 저장되었습니다.")

# SRT 파일 경로
srt_file = r"SRT 파일 경로" 
process_srt_file(srt_file)

 

결과물:

728x90
반응형