studiosoluta

실습 편집

생성 영상에 시간 맞춘 자막 넣기

  • 자막을 넣는 작업은 세 단계로 나뉩니다.

    1. 영상에서 글자가 없는 구간을 찾습니다.
    2. 그 구간에 보일 문장과 시각을 SRT 파일에 적습니다.
    3. FFmpeg로 문장을 영상에 입힙니다.
  • Claude Code나 Codex처럼 내 컴퓨터에서 명령을 실행하는 AI에게 맡기면, 사람은 문장과 시각을 정하고 결과 프레임을 확인합니다.

  • 예시 영상: SOLV 「초록 사과 바구니 15초 영상 만들기」에서 만든 1080×1920, 15초 영상

  • 이미 있는 글자: 02초 제목, 715초 설명

  • 자막 위치: 글자가 없는 2~7초 구간에 두 줄

1
00:00:02,000 --> 00:00:04,500
사과 다섯 개와 바구니는 그대로 둡니다

2
00:00:04,500 --> 00:00:07,000
카메라만 천천히 다가갑니다
  • 처음에는 흰 글자에 얇은 테두리만 둘렀는데, 사과와 바구니 위에서 글자가 잘 읽히지 않았습니다.
  • 반투명 검은 상자를 깔고 다시 입힌 결과가 예시 그림입니다.
  • 자막 뒤 배경이 이 영상의 사과처럼 복잡할 때는 상자를 깔아야 글자가 읽힙니다.
예시 화면 초록 사과 바구니 세로 영상에서 뽑은 네 프레임. 1초에는 제목만 있고, 3초에는 「사과 다섯 개와 바구니는 그대로 둡니다」, 5.5초에는 「카메라만 천천히 다가갑니다」 자막이 반투명 검은 상자 위에 보이며, 8초에는 자막이 없습니다.
SOLV 수업의 15초 영상 2~7초 구간에 자막 두 줄을 입힌 실제 결과입니다. 1초·3초·5.5초·8초 프레임을 나란히 놓아 자막이 정한 시각에만 보이는지 확인했습니다.
  1. 먼저 컴퓨터의 FFmpeg가 자막을 입힐 수 있는지 AI에게 확인하게 합니다. FFmpeg는 영상을 자르고 합치고 변환하는 무료 명령줄 프로그램이고, 자막은 그중 subtitles 필터가 입힙니다.

    내 컴퓨터에 FFmpeg가 설치돼 있는지, 설치돼 있다면 subtitles 필터를 쓸 수 있는지 확인해 줘. 없으면 설치 방법을 알려 주고, 설치는 내가 승인한 뒤에 해.

    확인FFmpeg 버전과 subtitles 필터가 목록에 있는지가 나옵니다. 없으면 설치 방법을 알려 주고 승인을 기다립니다.

  2. 영상에서 화면 글자가 없는 구간을 찾게 합니다. 이미 제목이나 설명 글자가 있는 구간에 자막을 겹치면 두 글자가 함께 읽히지 않습니다.

    [영상 파일]을 1초 간격으로 프레임을 뽑아 보고, 화면에 글자가 없는 구간을 시작·끝 초로 표에 적어 줘. 영상 길이와 가로·세로 크기도 함께 알려 줘.

    확인영상 길이·크기와 글자가 없는 구간 목록이 표로 나옵니다. 예시 영상에서는 2~7초 구간이 나왔습니다.

  3. 그 구간에 넣을 문장을 정하고 자막 파일(SRT)을 만들게 합니다. 한 자막은 한 줄로 끝나게 짧게 쓰고, 읽을 수 있게 2초 이상 보이도록 나눕니다.

    [시작 초]~[끝 초] 구간에 아래 문장을 차례로 나눠 넣는 captions.srt 파일을 만들어 줘. 자막 하나는 2초 이상 보이게 하고, 한 줄에 들어가지 않는 문장은 나에게 줄여 달라고 물어봐.
    문장:
    [첫 문장]
    [둘째 문장]

    확인번호, 시작 --> 끝 시각, 문장 순서로 적힌 captions.srt가 생깁니다.

  4. 자막을 영상에 입히게 합니다. 한글이 네모로 깨지지 않게 글꼴 파일을 지정하고, 휴대폰 앱의 버튼과 설명 글이 겹칠 수 있는 화면 바닥에서 조금 올려 둡니다.

    captions.srt를 [영상 파일]에 입혀서 output.mp4로 저장해 줘. 글꼴은 [글꼴 파일 경로]를 쓰고, 흰 글자를 반투명 검은 상자 위에 놓고, 자막은 화면 아래에서 4분의 1쯤 올려 줘. 원본 소리가 있으면 그대로 두고, 원본 파일은 덮어쓰지 마.
    명령어로 직접 하기

    예시 영상에 실제로 실행한 명령입니다. fonts 폴더에 Pretendard SemiBold 글꼴 파일을 넣어 두었습니다. MarginV=70은 화면 아래에서 영상 높이의 4분의 1쯤 올린 값입니다.

    ffmpeg -i input.mp4 -vf "subtitles=captions.srt:fontsdir=./fonts:force_style='FontName=Pretendard SemiBold,FontSize=10,PrimaryColour=&H00FFFFFF,OutlineColour=&H40000000,BorderStyle=3,Outline=5,Shadow=0,MarginV=70'" -c:v libx264 -pix_fmt yuv420p -c:a copy output.mp4

    확인output.mp4가 새로 생기고 input.mp4는 그대로 남습니다.

  5. 결과 영상의 크기·길이가 원본과 같은지, 자막이 정한 시각에만 보이는지 프레임으로 확인하게 합니다.

    output.mp4의 가로·세로 크기, 초당 프레임 수, 길이를 확인하고, 자막이 시작하기 전·첫 자막 중간·둘째 자막 중간·자막이 끝난 뒤 네 시점의 프레임을 한 장으로 붙여 보여 줘.

    확인크기·프레임 수·길이가 원본과 같고, 네 프레임 가운데 가운데 두 장에만 자막이 보입니다.

    이 단계의 실제 화면
    1초·3초·5.5초·8초 프레임을 나란히 붙인 확인 화면. 3초와 5.5초 프레임에만 자막이 보입니다.
    화면에서 확인할 것 예시 영상에서 뽑은 확인 화면입니다. 결과 영상은 1080×1920, 초당 30프레임, 15초로 원본과 같았습니다. FFmpeg 6.1 · subtitles 필터 · 2026-09-24

직접 해보기

내가 만든 세로 영상 하나로 자막 넣을 구간과 문장부터 정합니다.

대괄호 안은 실제 값으로 바꿔서 붙여넣습니다.

내 상황에 맞춰
[영상 파일]에서 화면 글자가 없는 구간을 찾고, 그 구간에 넣을 자막 문장을 영상 내용에 맞게 세 개 제안해 줘. 자막은 한 줄로 끝나게 쓰고, 각 문장이 보일 시작·끝 초를 표로 적어 줘. 파일은 아직 만들지 마.

같은 자막을 영상에 입히지 않고 따로 올리는 파일로도 남깁니다.

대괄호 안은 실제 값으로 바꿔서 붙여넣습니다.

한 단계 더
captions.srt를 영상에 입힌 output.mp4와 별도로, 자막을 입히지 않은 원본 영상과 captions.srt를 [폴더]에 함께 정리해 줘. 두 방식의 차이를 한 줄씩 적은 README.md도 만들어 줘.

최근에 만든 세로 영상 하나에 자막 두 줄을 입히고, 자막 앞뒤 시점의 프레임을 뽑아 자막이 정한 시각에만 보이는지 확인해 보세요.

헷갈리기 쉬운 것

글꼴을 지정하지 않으면 컴퓨터에 따라 한글이 네모로 깨지거나 다른 글꼴로 바뀝니다. 글꼴 파일을 폴더에 두고 경로를 요청에 적습니다. 자막을 입힌 영상은 글자를 다시 고칠 수 없으므로 원본 영상과 SRT 파일을 함께 보관하고, 원본을 덮어쓰지 않게 요청에 적어 둡니다. 휴대폰 앱의 버튼과 설명 글은 화면 아래쪽에 겹칠 수 있으므로 자막을 바닥에 붙이지 않습니다.

왜 이렇게 작동하나요

영상 편집 앱에서 텍스트를 올리고 타임라인에서 글자 막대의 시작과 끝을 끌어 맞추는 작업과 같습니다. 이 카드는 그 시작·끝 시각을 SRT 파일에 숫자로 적고, 입히는 작업을 AI가 FFmpeg로 실행합니다.

SRT 파일은 자막마다 시작 시각, 끝 시각, 문장만 적은 글자 파일입니다. FFmpeg의 subtitles 필터는 영상의 프레임을 하나씩 다시 만들면서 그 시각에 해당하는 문장을 지정한 글꼴로 그려 넣으므로, 결과 영상은 글자가 화면의 일부가 된 새 파일입니다. 그래서 원본 영상과 SRT를 남겨 두면 문장을 고쳐 다시 입힐 수 있습니다.

더 알고 싶다면

자막을 영상에 입히는 것과 파일로 따로 올리는 것은 어떻게 고르나요?
  • 영상에 입히면 어느 앱에서 재생해도 같은 모양으로 보이지만, 글자를 고치려면 다시 입혀야 하고 보는 사람이 자막을 끌 수 없습니다. 소리 없이 만든 짧은 세로 영상처럼 자막이 내용 자체일 때는 입히는 쪽을 고릅니다.
  • SRT를 따로 올리면 플랫폼이 자막을 켜고 끄게 해 주고 문장만 바꿔 다시 올릴 수 있습니다. 올릴 플랫폼이 자막 파일 업로드를 지원하는지는 플랫폼마다 다르므로 올리기 전에 확인합니다.
영상 길이를 쇼츠에 맞게 자르고 순서를 짜는 것도 AI에게 맡길 수 있나요?

SOLV 수업 「초록 사과 바구니 15초 영상 만들기」가 정지 이미지와 5초 생성 영상을 HyperFrames에서 15초 순서로 배치하고 FFmpeg로 1080×1920 MP4를 내보내는 과정을 다룹니다. 이 카드의 예시 영상이 그 수업의 결과물입니다.

용어 풀이

전체 용어집 →
SRT
자막마다 번호, 시작 --> 끝 시각, 문장을 차례로 적는 자막 파일 형식입니다. 메모장으로 열어 고칠 수 있는 글자 파일입니다.
FFmpeg
영상과 소리를 자르고 합치고 변환하는 무료 명령줄 프로그램입니다. subtitles 필터로 SRT 자막을 영상에 입힐 수 있습니다.

2026-09-24 기준 · 출처 · FFmpeg Filters Documentation — subtitles (문서 원본 doc/filters.texi로 확인)