Communitygithub.com

자막 및 캡션 작업

음성 전사, SRT/VTT/ASS 파일 작성, 스타일링, 자막 하드번인 등 캡션과 자막을 생성, 편집, 번역합니다. 쇼츠, 릴스, 틱톡을 위한 단어 강조 캡션도 지원합니다.

자막 및 캡션 작업란 무엇인가요?

이 스킬은 Whisper를 사용한 음성 전사, 자막 파일(SRT, VTT, ASS) 작성 및 편집, 다양한 형식으로의 자막 번인(Burn-in), 숏폼 동영상용 단어 강조 스타일 ASS 생성, 자막 번역 및 최종 파일 제공을 한 곳에서 처리하는 종합 캡션/자막 도구입니다. 주로 Claude Code, Cursor, Codex 등 개발자 도구 환경에서 활용되며, 명령어 기반으로 동작합니다. Whisper 모델(base~large)을 선택하여 전사 정확도와 속도를 조절할 수 있고, 기존 스크립트가 있는 경우 강제 정렬(Forced Alignment)만 수행하여 오타를 방지합니다. ASS 포맷의 가라오케 태그를 이용해 단어별 강조 효과를 만들 수 있어 숏폼 플랫폼에 최적화된 캡션을 제작할 수 있습니다. 최종 출력물은 소셜 미디어용 번인 영상, 별도 SRT/VTT 파일, MP4 소프트 자막 트랙 등 다양한 방식으로 제공됩니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/iamaanahmad/agents-video-editing-skills/tree/HEAD/skills/captions-subtitles

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

캡션 및 자막

대부분의 소셜 동영상은 음소거 상태로 시청됩니다. 캡션은 편집의 일부이지, 추가 요소가 아닙니다.

1. 전사하기

# openai-whisper (pip install openai-whisper)
whisper audio.mp3 --model small --language en --output_format srt --output_dir captions/

# faster-whisper (pip install faster-whisper): 더 빠르고, 메모리 사용량 적음, 단어 타임스탬프 지원
python - <<'PY'
from faster_whisper import WhisperModel
model = WhisperModel("small", compute_type="int8")
segments, info = model.transcribe("audio.mp3", word_timestamps=True, vad_filter=True)
for s in segments:
    for w in s.words:
        print(f"{w.start:.2f}\t{w.end:.2f}\t{w.word}")
PY

더 나은 결과를 위해 먼저 깨끗한 오디오를 추출하세요:

ffmpeg -i video.mp4 -vn -ac 1 -ar 16000 audio.wav

모델 크기는 정확도와 속도를 결정합니다: base < small < medium < large. 영어는 small 또는 medium을 사용하고, 악센트가 강하거나 다른 언어는 large를 사용하세요.

스크립트가 이미 존재하는 경우(음성 해설을 스크립트에서 생성한 경우)에는 전사된 내용의 표현을 신뢰하지 마세요. 스크립트 텍스트를 사용하고 Whisper는 타이밍(강제 정렬)에만 사용하세요. 이렇게 하면 이름과 숫자가 정확하게 유지됩니다.

2. 텍스트 수정

고유명사, 제품명, 숫자를 교정하세요. Whisper는 종종 이들을 잘못 인식합니다. 주제가 기술적인 경우 사용자에게 용어집을 요청하세요.

3. 자막 파일 작성

SRT:

1
00:00:00,000 --> 00:00:02,400
대부분의 빌드는 금요일에 실패합니다.

2
00:00:02,400 --> 00:00:05,100
그 이유는 다음과 같습니다.

가독성 규칙:

  • 최대 2줄, 줄당 약 42자(세로 동영상의 경우 약 20자).
  • 읽기 속도 초당 17자 이하; 최소 큐 길이 1초.
  • 구절 단위로 나누고, 중간에서 나누지 마세요. 이름을 큐 사이에 분할하지 마세요.
  • 큐가 겹치면 안 됩니다. 2프레임 간격 또는 없음으로 유지하세요.

4. 번인하기

# force_style을 통한 소프트 스타일링 (SRT)
ffmpeg -i in.mp4 -vf "subtitles=captions.srt:force_style='FontName=Arial,FontSize=22,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=1,Outline=2,Alignment=2,MarginV=60'" -c:a copy out/captioned.mp4

# ASS: 완전한 제어 가능 (가라오케 단어 강조, 위치, 애니메이션)
ffmpeg -i in.mp4 -vf "ass=captions.ass" -c:a copy out/captioned.mp4

Windows 경로 주의: 필터 내에서는 드라이브 콜론을 이스케이프하고 슬래시를 사용하세요(subtitles='C\:/work/captions.srt'), 또는 FFmpeg를 파일이 있는 폴더에서 실행하고 상대 경로를 사용하세요.

5. 숏폼용 단어 강조 스타일

단어 그룹(24단어)당 하나의 이벤트가 있는 ASS 파일을 생성하고, \k 가라오케 태그 또는 단어별 색상 오버라이드를 사용하여 활성 단어의 색상이 변경되도록 하세요. 일반적인 스타일: 굵은 산세리프, 흰색 텍스트, 34px 검은색 외곽선, 활성 단어는 브랜드 강조색, 중간 하단 1/3 지점에 배치(맨 아래는 플랫폼 UI가 가림).

시작용 최소 ASS 헤더:

[Script Info]
ScriptType: v4.00+
PlayResX: 1080
PlayResY: 1920

[V4+ Styles]
Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,OutlineColour,BackColour,Bold,Italic,Underline,StrikeOut,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding
Style: Default,Arial,72,&H00FFFFFF,&H0000D7FF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,4,0,2,60,60,520,1

[Events]
Format: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
Dialogue: 0,0:00:00.00,0:00:01.20,Default,,0,0,0,,{\k30}대부분의 {\k40}빌드는 {\k30}실패

ASS에서 색상은 &HAABBGGRR 형식입니다(파랑-초록-빨강 순서, 알파 우선).

6. 전달하기

  • 소셜 플랫폼용 번인 버전.
  • YouTube, LinkedIn 및 웹 플레이어용 별도 .srt 또는 .vtt 파일(시청자가 켜고 끄고 번역 가능).
  • MP4 소프트 자막 트랙: -i captions.srt -c copy -c:s mov_text.

번역

큐 텍스트만 번역하고 타이밍은 그대로 두세요. 언어별 줄 제한을 유지하세요(독일어와 핀란드어는 길어지므로 다시 줄바꿈하세요). 동영상이 공개되면 원어민이 확인하도록 하세요.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬