화면에 구워 넣는 자막
문장 첫 글자만 대문자로 자막을 굽고, 플랫폼 UI를 피해 배치합니다
Kamply는 컷마다 색보정을 뽑아 이어 붙인 뒤, 마지막에 libass로 자막을 구워 넣습니다. 서체는 브랜드 토큰 파일의 본문 서체를 쓰고, 글자색은 화면 위에서도 잘 읽히도록 고릅니다.
플랫폼 UI, 대략 하단 25에서 30%
첫 시간을 보호합니다
첫 시간을 보호합니다
- MarginV 90 / 288
- Kamply가 자막을 놓는 위치입니다. 프레임 위쪽 약 31%, UI에서 벗어난 지점입니다.
- MarginV 75 / 288
- 하한선입니다. 이보다 낮으면 자막이 UI 안에 들어갑니다.
- 화면의 자막
- 앱에 포함된 예시인 videos/sample-30s-edl/titles.srt의 세 번째 줄입니다.
이 수치는 렌더러 자체에서 나옵니다. libass의 288 단위 스케일에서 MarginV 90이면 1080x1920 프레임에서 약 31% 위쪽에 자막이 놓입니다. 플랫폼 UI는 각 플랫폼의 일정에 따라 바뀌므로, 게시 전에 최신 안전 영역을 확인하십시오.
실제로 하는 일
Kamply는 소스 클립과 그 인·아웃 지점을 지정한 컷 리스트를 바탕으로 내 Mac에서 편집 영상을 렌더링합니다. 자막 삽입은 4단계 중 3단계입니다. 먼저 각 구간을 색보정과 30밀리초 오디오 마이크로 페이드를 입혀서 추출하고, 그 구간들을 이어 붙입니다(모든 컷이 직컷이면 무손실로 이어 붙이고, 크로스페이드나 느린 줌이 하나라도 있으면 한 번 재인코딩합니다). 그다음 ffmpeg가 자막을 굽고, 마지막으로 오디오가 -14 LUFS 마스터로 나갑니다. 자막 스타일은 편집기 프리셋이 아니라 brand/tokens.css에서 읽어오며, 전부 대문자로 쓴 큐는 화면에 닿기 전에 소문자로 내려서 다시 첫 글자만 대문자로 바꿉니다.
이건 아닙니다
자막 삽입은 Kamply가 이미 편집 리스트로 진행 중인 렌더링 안에서만 일어납니다. 파일 하나만 던지면 자막을 달아주는 앱 내 기능도, 웹 버전도, 공개 API도, 완성된 MP4를 올리는 업로드 창도 없습니다.
실행 과정, 처음부터 끝까지
앱이 실제로 수행하는 순서 그대로, 세 단계입니다.
먼저 영상을 편집합니다
자막은 렌더링의 한 단계일 뿐입니다. Kamply는 소스 클립과 컷마다의 인·아웃 지점을 지정한 편집 리스트를 기준으로 작업하고, 자막 삽입은 그 렌더링 안에서 일어납니다.
SRT를 가져오거나, 새로 만들게 합니다
이미 가지고 있는 자막 파일을 편집 리스트에 연결하거나, 촬영본 대본을 바탕으로 렌더러에게 자막을 새로 만들어 달라고 요청할 수 있습니다. 어느 쪽이든 큐는 완성된 타임라인에 맞춰 오프셋되므로 타이밍이 원본 푸티지가 아니라 실제 컷에 맞습니다.
마지막에 굽고, 그다음 오디오를 마스터링합니다
색보정은 컷마다 먼저 얹히고 자막은 맨 마지막에 얹히므로 자막 위에서 다시 인코딩되는 일이 없습니다. 크로스페이드가 낀 구간에서는 이어 붙이기와 자막 굽기가 한 번에 처리되며, 이때도 자막 필터는 체인 맨 끝에 놓입니다. ffmpeg가 libass로 센텐스 케이스 자막을 브랜드 스타일에 맞춰 굽고, 오디오는 -14 LUFS 마스터링으로 넘어갑니다.
수치와 근거
이 페이지의 모든 수치는 공개된 출처나 Kamply 자체 측정값에서 나옵니다. 추정치는 없습니다.
- 자막 위치
- MarginV 90(전체 288 기준)
- libass 자체 스케일 기준이라 1080x1920 프레임에서 아래로부터 약 31% 지점에 놓이며, TikTok·Reels·Shorts가 화면 하단 25~30%를 덮는 UI보다 위입니다.
- 케이스 규칙
- 문장 첫 글자만 대문자로 자동 정리
- 전부 대문자로 쓴 큐는 소문자로 내려서 첫 글자만 대문자로 다시 바꿉니다. 대소문자가 섞인 텍스트는 쓴 그대로 두므로 약어는 그대로 살아남습니다.
- 스타일 출처
- 내 브랜드 토큰 파일
- 서체는 본문 서체 토큰에서, 글자색은 잉크가 밝은 톤이면 잉크 램프에서, 어두운 톤이면 흰색으로 가져옵니다. 자막이 푸티지 위에 놓이기 때문입니다. 테두리는 대비가 나는 경우에만 브랜드 액센트를, 그렇지 않으면 짙은 검정에 가까운 색을 씁니다.
- 자동 생성 큐 길이
- 두 단어, 또는 문장부호 하나
- 자막 생성기는 두 단어가 모이거나 마침표, 쉼표, 물음표, 느낌표, 세미콜론, 콜론으로 끝나는 문장부호가 나오면 그 구간을 나누고, 완성된 영상의 시간축에 맞춥니다.
- 남는 파일
- SRT, 편집 폴더 안
- 센텐스 케이스로 바꾼 사본이 편집 리스트 옆에 새 파일로 저장되며, 처음 넘긴 자막 파일은 절대 덮어쓰지 않습니다.
- 폐쇄 자막 트랙
- 없음
- 자막은 화면 속 픽셀입니다. MP4에 별도 CC 스트림을 얹지 않고 WebVTT도 만들지 않습니다.
자주 묻는 질문
여기 없는 질문이라면 라이브 데모에서 물어보시면 됩니다. 아래 양식은 실제 사람에게 전달됩니다.
영상을 올리면 자막을 달아서 돌려주나요?
아닙니다. 자막은 렌더링 결과물이고, 렌더링은 이미 만들어 둔 편집 리스트, 즉 클립과 컷마다의 인·아웃 지점을 지정한 목록에서 시작합니다. 완성된 MP4를 앱에 던져도 터미널에 파일 경로만 뜰 뿐 자막은 붙지 않고, 이를 대신해 줄 웹 버전이나 공개 API도 없습니다.
자막은 켜고 끌 수 있는 트랙인가요?
아닙니다. 화면 픽셀에 구워 넣기 때문에 어디서나 재생되고 끌 수 없습니다. 다만 자막 파일 자체는 편집 폴더에 새 파일로 저장되니 텍스트는 따로 재사용할 수 있습니다. 다만 Kamply는 폐쇄 자막이나 WebVTT 스트림은 영상에 얹지 않습니다.
대문자 자막이나 단어별로 하이라이트되는 가라오케 자막도 되나요?
둘 다 안 됩니다. 렌더러는 자막 스타일을 하나만 내보내고, 전부 대문자로 쓴 큐는 화면에 굽기 전에 소문자로 내려 센텐스 케이스로 바꿉니다. 애니메이션 자막 팩, 이모지 자동 삽입, 단어별 강조는 편집 영상 경로에 없습니다. 이 경로는 컷, 크로스페이드, 슬로우줌, 색보정, 자막까지만 하고 거기서 멈춥니다.
자막 타이밍도 Kamply가 대신 잡아 주나요?
그렇습니다. 조건이 하나 있습니다. 컷 리스트를 훑으면서 각 구간에 들어가는 단어를 그 촬영본 대본에서 가져오고, 두 단어마다 또는 문장부호가 나올 때마다 자막을 나누어 완성된 영상의 시간축에 맞춘 뒤 자막 파일을 만듭니다. 조건은 그 촬영본의 단어 단위 대본이 프로젝트의 대본 폴더에 이미 들어 있어야 한다는 점입니다. Whisper가 앱 전체에서 쓰는 전사 엔진이고 그 파일들도 Whisper에서 캐시된 것이지만, 자막 생성기는 그 전사 작업을 직접 돌리는 게 아니라 이미 있는 파일을 읽기만 합니다.
자동 생성되는 릴스도 같은 방식으로 자막이 붙나요?
아닙니다. 대부분의 릴스가 음소거 상태로 재생된다는 점을 Kamply의 제작 지침도 이유로 들고, 그래서 자동 생성 릴스는 자막 파일을 굽는 대신 승인된 음성 대본에서 직접 쓴 화면 속 타이포그래피로 자막을 표현합니다. 라이브러리에는 단어가 한 번에 하나씩 페이드하며 커지는 패턴이 있는데, 오버슈트가 나지 않는 커브를 타서 문장이 튀지 않고 자리에 안착합니다.
다른 언어 자막은 어떻게 되나요?
다른 언어는 같은 컷 위에 그냥 번역해 얹지 않고 처음부터 다시 씁니다. 자막 문구는 대상 언어를 쓰는 사람이 그 언어로 처음부터 작성하며, 브리프에서 영어가 아닌 언어를 지정한 제작 건은 로컬라이제이션 작성자를 배정해야 게이트를 통과합니다. 앱 자체는 한국어, 영어, 독일어, 프랑스어, 이탈리아어, 일본어로 사용할 수 있습니다.
다음으로, 이게 아니었다면
브리프 하나면 충분합니다. 첫 캠페인이 만들어지는 과정을 직접 확인해 보십시오.
라이브 데모 동안 브랜드에 맞춰 첫 방향을 함께 만듭니다. 끝날 때쯤이면 Kamply가 다음에 무엇을 만들지 정확히 알게 됩니다.