AI/음성

Whisper 시리즈 5화 – Whisper 자막 생성 자동화, 유튜브 영상 자막 만들기

B컷개발자 2025. 4. 30. 12:48
728x90

유튜브 영상 제작자나 콘텐츠 제작자에게 자동 자막 생성은 매우 중요한 작업입니다.
하지만 대부분의 자막 도구는 비용이 들거나, 한글 정확도가 떨어지거나, 사용이 복잡하다는 문제점이 있죠.

Whisper는 오픈소스임에도 높은 정확도와 다양한 자막 포맷 지원을 제공하며, 유튜브 자동 자막 생성기 대체 도구로 빠르게 주목받고 있습니다.

이번 글에서는 Whisper를 활용해 유튜브 영상을 자막으로 변환하고 .srt 또는 .vtt 형식으로 저장하는 자동 자막 생성 워크플로우를 소개합니다.

🎯 핵심 키워드: Whisper 자막 생성, 유튜브 자막 자동화, Whisper SRT 출력


Whisper의 자막 생성 기능

Whisper는 transcribe() 함수 호출 시 내부적으로 문장 타임스탬프 처리까지 함께 수행합니다.
이를 활용해 .srt, .vtt 형식으로 쉽게 자막 파일을 만들 수 있습니다.

Whisper 공식 라이브러리에는 기본적으로 --output_format 옵션이 포함되어 있어, CLI 또는 Python에서 바로 자막 포맷을 선택할 수 있습니다.


CLI 기반 자막 생성 예제

Whisper는 터미널 명령어 기반으로도 자막 파일을 바로 생성할 수 있습니다.
아래 예시는 sample.mp4 파일을 처리해 .srt 자막을 생성하는 명령입니다.

whisper sample.mp4 --model small --output_format srt
  • --model small: 사용할 모델 크기 지정
  • --output_format srt: 출력 형식을 .srt로 설정
  • .mp4, .mkv, .mp3, .wav 등 다양한 포맷을 입력으로 지원

실행 후 같은 폴더에 sample.srt 파일이 생성됩니다.


Python으로 자막 파일 생성하기

Python에서도 Whisper로 자막 포맷 출력을 제어할 수 있습니다.
공식 라이브러리에서는 아직 직접적으로 .srt를 저장하지 않지만, community 버전이나 커스텀 스크립트로 확장할 수 있습니다.

단순한 예로는 다음처럼 Whisper의 segment 정보를 기반으로 자막 파일을 직접 생성할 수 있습니다.

import whisper

model = whisper.load_model("small")
result = model.transcribe("sample.mp4", verbose=True)

with open("sample.srt", "w", encoding="utf-8") as srt_file:
    for i, segment in enumerate(result["segments"], start=1):
        start = segment["start"]
        end = segment["end"]
        text = segment["text"]

        srt_file.write(f"{i}\n")
        srt_file.write(f"{format_time(start)} --> {format_time(end)}\n")
        srt_file.write(f"{text.strip()}\n\n")


def format_time(seconds):
    h = int(seconds // 3600)
    m = int((seconds % 3600) // 60)
    s = int(seconds % 60)
    ms = int((seconds % 1) * 1000)
    return f"{h:02}:{m:02}:{s:02},{ms:03}"

참고: 공식 Whisper 패키지에선 기본적으로 CLI에서 .srt와 .vtt 포맷 생성을 지원하고, Python에서는 직접 파일을 구성해 저장하는 방식이 필요합니다.


유튜브 영상 활용 팁

  1. 유튜브 영상 다운로드:
    Whisper는 .mp4, .webm 파일을 입력으로 받기 때문에, yt-dlp 같은 도구를 이용해 유튜브 영상을 다운로드해야 합니다.
  2. yt-dlp -f bestaudio https://www.youtube.com/watch?v=영상ID -o sample.mp4
  3. Whisper로 자막 생성:
  4. whisper sample.mp4 --model small --output_format srt
  5. 유튜브에 자막 업로드:
    생성된 .srt 파일은 유튜브 크리에이터 스튜디오에서 "자막 업로드" 기능을 통해 손쉽게 적용할 수 있습니다.

결론 및 인사이트

Whisper는 유튜브 영상 자막 생성 업무를 비용 없이, 정확하게, 빠르게 해결할 수 있는 탁월한 솔루션입니다.
특히 영어 이외 언어의 인식률도 매우 우수해 다국어 영상 콘텐츠에도 효과적으로 적용할 수 있습니다.

이제 Whisper를 기반으로 한 자동 자막 워크플로우는 콘텐츠 제작자에게 표준 도구로 자리 잡을 가능성이 매우 높습니다.


다음 예고

다음 글에서는 Whisper API 사용법 – OpenAI API 연동과 서버 구축을 다룹니다.
Whisper를 직접 서버에 올리거나 OpenAI Whisper API를 활용해 웹 기반 STT 서비스를 만드는 방법까지 안내해드릴 예정입니다.

728x90