영상 오디오 딜레이 고치는 방법: 소리를 옮겨 싱크 맞추기
소리가 늦거나 빠른 영상은 오디오를 분리한 뒤, 어긋난 시간을 audio.source_in이나 슬롯의 source_in으로 지정해 클립을 다시 렌더링하면 고칠 수 있습니다.

영상의 오디오 딜레이를 고치려면 두 트랙을 다시 맞춘 뒤 새 파일로 저장하세요. 소리가 늦게 나오면 소리의 앞부분에서 지연된 만큼 잘라 내고, 일찍 나오면 화면의 앞부분에서 잘라 냅니다. Sume에서는 클립이 이미 Sume에 호스팅되어 있다면 오디오를 분리한 뒤 Timeline 1.0에서 그 오디오 위에 클립을 렌더링하세요. 지연 시간은 소리가 늦으면 audio.source_in으로, 소리가 빠르면 슬롯의 source_in으로 지정합니다.
아래 내용은 2026-09-27에 확인한 Timeline 1.0과 오디오 분리 문서, 그리고 Sume API 레퍼런스의 필드 설명을 기준으로 합니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다.
지연은 파일 문제인가요, 플레이어 문제인가요?
편집하기 전에 확인하세요. 같은 파일이 다른 플레이어에서 싱크가 맞게 재생된다면 지연은 재생 과정에서 생기는 것이며, 새로 렌더링해도 바뀌지 않습니다. 아래 방법은 처음부터 끝까지 소리가 같은 만큼 어긋난 파일을 위한 것입니다. 클립이 진행될수록 차이가 커진다면, 한 번 옮기는 것으로는 한 지점만 맞출 수 있습니다.
박수나 강한 자음처럼 또렷한 순간에서 어긋난 정도를 직접 재세요. 그 순간이 보이는 시각과 들리는 시각을 적어 두면, 둘의 차이가 초 단위의 지연 d입니다.
Sume로 오디오를 옮기려면 어떻게 하나요?
클립은 앞서 실행한 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 합니다. Sume에는 컴퓨터에 있는 파일을 올리는 공개 업로드 경로가 없습니다(엔드포인트별로 받는 URL). POST /v1/audio-detach로 클립의 오디오를 분리하세요. 기본 출력은 Timeline의 audio.url이 요구하는 파일인, 샘플 단위로 정확한 wav이며, 결과에 그 duration_seconds가 나옵니다. 그런 다음 두 필드 중 하나에 지연 시간을 넣어 그 wav 위에 클립을 렌더링하세요.
| 소리가… | 설정 | 출력 길이 |
|---|---|---|
| 늦음: 보인 뒤에 들림 | audio.source_in: d, 스파인 파일의 인포인트 | wav의 duration_seconds에서 d를 뺀 값 |
| 빠름: 보이기 전에 들림 | video[0].source_in: d, 클립의 인포인트 | 클립 길이에서 d를 뺀 값 |
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: resync-clip-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/clip.wav",
"source_in": 0.3,
"duration_seconds": 59.7
},
"output": { "width": 1920, "height": 1080 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4", "start": 0, "duration": 59.7 }
]
}'옮긴 렌더가 잘못될 수 있는 경우는 무엇인가요?
예제는 소리가 0.3초 늦은 60초 클립을 고칩니다. 다음 규칙을 지켜야 요청이 유효합니다.
audio.source_in은 단일audio.url스파인에서 동작합니다. 출력은 여전히duration_seconds동안 이어지므로 파일에source_in + duration_seconds만큼의 길이가 있어야 하며, 그렇지 않으면 렌더가audio_source_in_exceeds_source로 실패합니다.- 소리가 빠르면
audio.source_in을 빼고 대신 슬롯에source_in: 0.3을 주세요. 클립 끝을 넘는 슬롯은render.pad_mode로 채워지므로, 슬롯의source_in과duration의 합은 클립 길이 안에 두세요. - 기본 출력은 1080×1920이므로
output을 클립 크기에 맞추세요. - 현재 컴파일러에서 렌더의 소리는 스파인과 선택 사항인 사운드트랙에서만 나오므로, 클립에 있던 싱크가 어긋난 기존 트랙은 다시 섞이지 않습니다.
보정 비용은 얼마이고, 무엇이 잘리나요?
새 영상은 d초만큼 짧아집니다. 소리가 늦은 경우에는 소리의 처음 d초와 화면의 마지막 d초가 빠지고, 소리가 빠른 경우에는 그 반대입니다. 각 단계는 따로 과금되며, 기본적으로 5.5% 에이전트 수수료가 더해집니다. 오디오 분리는 GET /v1/catalog에 나온 요율로 Job당 과금되고, 렌더는 API 요금에 나온 출력 분당 $0.10 기준으로 ceil(audio.duration_seconds / 60)분을 예약하며, 예약한 금액보다 더 청구하지 않습니다.
소리를 옮기는 대신 교체하려면 영상의 오디오를 교체하거나 제거하기를 참고하세요.
- 오디오 분리는 최대 1,800초 길이의 소스를 읽고 최대 900초를 출력합니다. 더 긴 클립은
range두 개로 분리한 뒤audio.parts[]로 넘기세요. 소리가 늦다면 지연 시간은 첫 번째 part 자체의source_in에 넣으세요. 최상위audio.source_in을parts와 함께 쓰면audio_source_in_requires_single_spine으로 거부됩니다. - 렌더 출력은 1초에서 1,800초까지입니다.
출처
관련 글
미디어 도구 카테고리의 다른 글
- 영상 프리즈 프레임 만드는 방법: 마지막 또는 원하는 프레임 정지
tpad 필터 호출 한 번으로 영상의 마지막 프레임을 정지하거나, Timeline 렌더에서 원하는 프레임을 클립의 두 부분 사이에 스틸로 넣어 클립 중간에서 멈추세요.
- 영상에서 SRT 자막 파일을 만드는 방법
영상에서 SRT 파일을 만들려면 타임스탬프와 함께 전사하고, 타이밍이 있는 문장마다 번호를 붙인 블록으로 쓰세요. Sume STT는 타이밍이 담긴 JSON을 반환합니다.
- 하드 자막 vs 소프트 자막: 차이는 무엇인가요?
하드 자막은 화면에 새겨져 항상 보이고, 소프트 자막은 시청자가 끌 수 있는 별도 트랙입니다. 언제 어느 쪽을 쓰고 어떻게 만드는지 정리했습니다.
- 영상 비트레이트 확인 방법: 크기와 길이로 계산하기
영상의 평균 비트레이트는 바이트 단위 크기 × 8 ÷ 초 단위 길이입니다. Sume의 무료 프로브가 두 값인 size_bytes와 duration_seconds를 반환합니다.
작성자 Sume