
안녕하세요, 자바파커입니다.
지난 개발 유튜브 숏츠를 AI로 만드는 법 글에서 제작 과정을 소개했더니, "글대로 직접 따라 해보고 싶다" 는 요청이 많았습니다.
그래서 이번 글은 손을 움직이는 실습편입니다. 이 글을 순서대로 따라 하면 30분 안에 개발 숏츠 한 편이 완성됩니다. 촬영 장비도, 편집 프로그램도 필요 없습니다.
이 글은 따라 하기용입니다. "왜 이렇게 하는지" 배경이 궁금하면 제작기 글을 함께 보세요.
완성 목표
- 길이: 40초 세로 영상(9:16)
- 주제: "프론트엔드 vs 백엔드"를 식당에 빗댄 입문 숏츠
- 결과물: 자막이 박힌
short.mp4한 개 → 유튜브 숏츠 업로드
준비물 (시작 전 체크)
- Veo 접근 권한 (Google 영상 생성 도구)
- ffmpeg 설치 — 터미널에서
ffmpeg -version이 나오면 OK - 작업 폴더 하나 (예:
my-short/)
⚠️ ffmpeg가 없다면: Windows는
winget install Gyan.FFmpeg, macOS는brew install ffmpeg.
| STEP | 할 일 | 예상 시간 |
|---|---|---|
| 1 | 대본 1장 짜기 | 5분 |
| 2 | Veo로 클립 5개 만들기 | 10분 |
| 3 | 클립 정리 | 2분 |
| 4 | ffmpeg로 이어붙이기 | 3분 |
| 5 | 한글 자막 입히기 | 8분 |
| 6 | 업로드 | 2분 |
STEP 1. 대본 1장 짜기 ⏱ 5분
입문 숏츠의 핵심은 비유 하나입니다. 아래 템플릿의 빈칸만 채우세요.
실습 — 이 표를 채웁니다(이미 예시가 들어 있습니다).
| 클립 | 나레이션(대사) | 화면 자막 |
|---|---|---|
| 1 | "웹사이트는 사실 식당이랑 똑같이 생겼어요" | 웹사이트 = 식당 |
| 2 | "여러분이 보는 예쁜 홀, 이게 프론트엔드예요" | 홀 = 프론트엔드 |
| 3 | "안 보이는 주방이 백엔드예요" | 주방 = 백엔드 |
| 4 | "버튼을 누르면 주방이 요리해서 다시 내와요" | 요청 → 응답 |
| 5 | "보이면 프론트, 안 보이면 백엔드!" | 정리 |
✅ 확인: 클립 5개, 각 대사가 한 문장이면 성공. (클립 하나 = 8초라 문장은 짧게)
STEP 2. Veo로 클립 5개 만들기 ⏱ 10분
Veo에 아래 프롬프트를 하나씩 넣어 8초 클립을 만듭니다. 목소리 묘사는 5개 전부 똑같이 유지하세요(안 그러면 클립마다 목소리가 바뀝니다).
실습 — 클립 1 프롬프트(복붙):
Vertical 9:16, cinematic. A cozy modern restaurant at golden hour, warm
lighting, shallow depth of field. Camera slowly pushes in toward an empty
table set for one.
Audio: gentle restaurant ambience, soft chatter, light jazz.
Narrator (warm, friendly Korean male voice, early 30s, calm and clear):
"웹사이트는 사실, 식당이랑 똑같이 생겼어요."
No subtitles, no captions, no on-screen text, no watermark. 8 seconds.클립 2~5는 장면과 대사만 바꾸면 됩니다:
- 클립 2:
a beautiful dining hall with guests/"여러분이 보는 이 예쁜 홀, 이게 프론트엔드예요." - 클립 3:
a busy kitchen behind a door, steam and chefs/"근데 음식이 만들어지는 주방은 안 보이죠? 그게 백엔드예요." - 클립 4:
a waiter taking an order, then serving a finished dish/"버튼을 누르면 주방이 데이터를 요리해서, 다시 화면으로 내와요." - 클립 5:
a waiter standing between hall and kitchen/"보이면 프론트, 안 보이면 백엔드!"
⚠️ 막히는 곳 1 — 대사를 넣으면 화면에 영어 자막이 박힐 때가 있습니다. 프롬프트 끝의
No subtitles, no captions를 꼭 유지하세요. ⚠️ 막히는 곳 2 — 한국어 발음이 어색하면 그 클립만 대사 없이 다시 뽑고, 나레이션은 나중에 따로 넣으면 됩니다.
✅ 확인: 8초짜리 영상 5개가 손에 있으면 성공.
STEP 3. 클립 정리 ⏱ 2분
실습 — 작업 폴더에 클립을 재생 순서대로 이름을 붙여 저장합니다.
my-short/
1.mp4 2.mp4 3.mp4 4.mp4 5.mp4✅ 확인: 파일명이 숫자 순서면 됩니다. (이 순서대로 이어 붙습니다)
STEP 4. ffmpeg로 이어붙이기 ⏱ 3분
실습 — 작업 폴더에서 먼저 list.txt를 만듭니다.
file '1.mp4'
file '2.mp4'
file '3.mp4'
file '4.mp4'
file '5.mp4'그리고 한 줄 실행:
ffmpeg -f concat -safe 0 -i list.txt -c copy joined.mp4✅ 확인: joined.mp4가 생기고 재생하면 40초, 5개 장면이 이어집니다.
⚠️ 막히는 곳 — "codec not match" 오류가 나면 클립 규격이 달라서입니다.
-c copy를 빼고 아래로 다시 실행하세요(재인코딩):ffmpeg -f concat -safe 0 -i list.txt -c:v libx264 -c:a aac joined.mp4
STEP 5. 한글 자막 입히기 ⏱ 8분
AI 영상은 화면에 정확한 한글을 못 그립니다. 그래서 자막은 우리가 직접 얹습니다. 초보자는 SRT 자막이 가장 쉽습니다.
실습 — captions.srt 파일을 만듭니다. 형식은 번호 / 시작 --> 끝 / 텍스트입니다.
1
00:00:00,000 --> 00:00:03,000
프론트? 백엔드?
2
00:00:08,000 --> 00:00:15,500
홀 = 프론트엔드
3
00:00:16,000 --> 00:00:23,500
주방 = 백엔드
4
00:00:24,000 --> 00:00:31,500
버튼 → 처리 → 응답
5
00:00:32,000 --> 00:00:39,000
보이면 프론트, 안 보이면 백엔드!이제 자막을 영상에 구워 넣습니다(한 줄):
ffmpeg -i joined.mp4 -vf "subtitles=captions.srt:force_style='FontName=Malgun Gothic,FontSize=18,Bold=1,PrimaryColour=&H00F0D000,Outline=2,Alignment=2,MarginV=60'" -c:a copy short.mp4FontName— Windows는Malgun Gothic, macOS는AppleSDGothicNeoAlignment=2= 하단 가운데 /MarginV=60= 아래에서 띄우는 정도PrimaryColour=&H00F0D000= 시안색 (ffmpeg 색은&H00BBGGRR순서)
✅ 확인: short.mp4를 재생하면 한글 자막이 박혀 나옵니다. 완성!
⚠️ 막히는 곳 — 자막이 안 보이면 폰트 이름을 확인하세요. 한글 폰트가 아니면 글자가 깨집니다.
STEP 6. (선택) 인트로/아웃트로 붙이기 ⏱ +5분
브랜드 각인을 원하면 앞뒤에 3초 카드를 붙입니다. 이미지(intro.png, outro.png)를 만든 뒤:
# 이미지를 3초 영상으로
ffmpeg -loop 1 -t 3 -i intro.png -vf scale=720:1280 -pix_fmt yuv420p -r 24 intro.mp4
# short 앞에 붙이기(같은 규격 전제)
printf "file 'intro.mp4'\nfile 'short.mp4'\n" > final_list.txt
ffmpeg -f concat -safe 0 -i final_list.txt -c:v libx264 -c:a aac final.mp4💡 카드는 HTML을 캡처해 만들면 예쁩니다. 방법은 HTML과 Playwright로 이미지 자동 생성 참고.
STEP 7. 업로드 ⏱ 2분
실습 — 유튜브 앱/스튜디오에서 short.mp4 업로드 후:
- 제목:
프론트엔드 vs 백엔드, 식당이면 5초 컷 (개발 입문) - 해시태그:
#개발상식 #프론트엔드 #백엔드 #IT #숏츠 - 커버: Shorts 편집 → 커버에서 눈에 띄는 프레임 선택
✅ 확인: 업로드 완료 → 첫 숏츠 발행 🎉
💪 직접 해보기
- 다른 주제로 바꿔보기: "API = 식당 웨이터", "데이터베이스 = 도서관 사서"
- 자막 색을 주제마다 다르게(키워드는 시안, 결론은 노랑)
- 마지막 클립 자막을 "그럼 API는?" 으로 바꿔 다음 편 예고 넣기
✅ 완성 체크리스트
- 클립 5개(8초)를 Veo로 생성
-
joined.mp4로 이어붙이기 성공 -
captions.srt작성 후 자막 번인 -
short.mp4완성 · 유튜브 업로드 - (선택) 인트로/아웃트로 카드 추가
마치며
여기까지 따라오셨다면 이미 개발 숏츠 한 편을 만드신 겁니다. 반복 제작이 많아지면 매번 ffmpeg 명령을 치는 게 번거로운데, 그때는 전용 편집기를 만들면 편합니다 — 그 과정은 제작기 글에 담아뒀습니다.
블로그 글을 영상으로 바꾸는 다른 방법은 블로그 글을 유튜브 영상으로 만드는 법도 참고하세요.
자주 묻는 질문 (FAQ)
Q. ffmpeg 명령이 너무 어렵습니다. 꼭 써야 하나요? 아니요. CapCut 같은 앱으로도 이어붙이기·자막이 됩니다. 다만 ffmpeg는 명령 한 줄로 반복 자동화가 가능해서, 여러 편을 만들 계획이면 익혀두면 큰 무기가 됩니다.
Q. Veo가 없어요. Runway, Kling, Sora 등으로 대체할 수 있습니다. STEP 2의 프롬프트를 거의 그대로 쓰되, 한국어 대사 지원이 약한 툴은 대사를 빼고 STEP 5 자막으로 보완하세요.
Q. 자막 타이밍은 어떻게 맞추나요?
클립이 8초씩이니 클립 N의 시작은 (N-1)×8초입니다. 클립 2는 8초, 클립 3은 16초… STEP 5의 SRT 시간이 이 규칙을 따릅니다.
Q. 세로 영상이 아니라 가로로 나와요.
Veo 프롬프트에 Vertical 9:16을 넣었는지 확인하세요. 이미 만든 가로 영상은 -vf "scale=720:1280:force_original_aspect_ratio=increase,crop=720:1280"으로 세로 크롭할 수 있습니다.