영상 색보정 방법: 색 틀어짐과 색온도 바로잡기
Sume에서 FFmpeg 필터로 영상을 색보정합니다. colorbalance는 노란색이나 초록색으로 틀어진 색을 없애고, colortemperature는 색온도를, eq는 채도를 설정합니다.

영상을 색보정하려면 먼저 색 틀어짐(컬러 캐스트)을 없애 흰색과 회색이 중립적으로 보이게 한 다음, 색온도와 채도를 취향에 맞게 조정하세요. FFmpeg에서 colorbalance는 섀도, 미드톤, 하이라이트를 특정 색 쪽으로 옮기거나 그 색에서 멀어지게 하고, colortemperature는 더 따뜻하거나 차가운 빛을 시뮬레이션하며, eq나 vibrance는 채도를 바꿉니다. Sume에서는 이미 media.sume.com에 호스팅된 클립과 이 필터들을 하나의 filtergraph로 묶어 POST /v1/video-filter에 보내면 보정된 MP4를 받습니다.
필터 옵션은 FFmpeg 필터 문서를, Sume 관련 내용은 영상 필터 문서와 Sume API 레퍼런스를 따르며, 모두 2026-09-27에 확인했습니다. Sume가 어떤 필터를 받고 어떻게 인코딩하는지는 Sume의 필터 컴파일러에서 확인한 것으로, 현재 동작을 설명합니다.
노란색, 초록색, 파란색으로 틀어진 색은 어떻게 바로잡나요?
colorbalance를 쓰세요. 이 필터는 빨강–시안, 초록–마젠타, 파랑–노랑의 균형을 섀도(rs, gs, bs), 미드톤(rm, gm, bm), 하이라이트(rh, gh, bh)별로 따로 설정합니다. 각 값의 범위는 −1.0에서 1.0이고 기본값은 0이며, 기본적으로 꺼져 있는 pl 옵션은 균형을 바꾸는 동안 밝기를 유지합니다. 양수 값은 원색 쪽으로, 음수 값은 그 보색 쪽으로 옮기므로, 틀어진 색과 반대 방향으로 밀어 주세요.
| 틀어진 색 | 시도할 값 | 이유 |
|---|---|---|
| 노란색 | colorbalance=bm=0.1:bh=0.05 | 파랑을 양수로 하면 노랑에서 멀어짐 |
| 초록색 | colorbalance=gm=-0.1 | 초록을 음수로 하면 마젠타 쪽으로 이동 |
| 파란색 | colorbalance=bm=-0.1 | 파랑을 음수로 하면 노랑 쪽으로 이동 |
| 마젠타 | colorbalance=gm=0.1 | 초록을 양수로 하면 마젠타에서 멀어짐 |
영상을 더 따뜻하게, 차갑게, 생생하게 만들려면 어떻게 하나요?
colortemperature를 쓰세요. 이 필터는 켈빈 단위로 지정한 색온도의 주변광을 시뮬레이션하며, 범위는 1000에서 40000, 기본값은 6500 K입니다. 켈빈 값이 낮을수록 더 따뜻한 주황빛, 높을수록 더 차가운 푸른빛을 나타내므로, temperature=5000은 기본값보다 따뜻한 빛을, temperature=8000은 차가운 빛을 시뮬레이션합니다. mix(0에서 1, 기본값 1)는 결과를 원본과 섞습니다.
채도는 vibrance=intensity=0.2로 높일 수 있고(intensity의 범위는 −2에서 2, 기본값 0), eq=saturation=1.2로도 높일 수 있습니다(0.0에서 3.0, 기본값 1).
자동 색보정 기능이 있나요?
FFmpeg에는 프레임마다 측정하고 그 결과로 보정하는 필터가 있으며, 현재 Sume의 허용 목록에는 그중 다음 두 필터가 들어 있습니다. 둘 다 고정된 이미지 처리 필터이므로 결과를 스틸로 확인하세요.
normalize는 프레임마다 각 색 채널의 범위를 늘립니다. 기본적으로 채널은 서로 완전히 독립적으로 처리되며, FFmpeg 문서는 이를 이용해 일부 색 틀어짐을 없앨 수 있다고 설명합니다. 기본적으로 꺼져 있는smoothing은 이전 프레임들에 걸쳐 범위를 평균해 깜빡임을 줄입니다.histeq는 프레임마다 히스토그램을 평활화합니다. FFmpeg 문서는 이 필터가 열화되었거나 잘못 촬영된 소스 영상을 보정할 때만 유용하다고 설명합니다.
Sume API로 보정을 적용하려면 어떻게 하나요?
색 틀어짐 보정을 먼저, 채도 조정을 그다음에 두고 보정들을 하나의 filtergraph 안에서 쉼표로 이어 붙인 뒤, Idempotency-Key와 함께 POST /v1/video-filter로 보내세요. 클립은 이전 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 하며, 이 규칙은 엔드포인트별로 받는 URL에서 설명합니다.
POST /v1/video-filter/check는 같은 본문을 무료로 검증하며, Job을 만들지 않고 크레딧도 예약하지 않습니다. 검사를 통과한 프로그램도 잘못된 식 같은 이유로 워커에서 실패할 수 있으며, 그 경우 Job 오류로 돌아옵니다.GET /v1/jobs/:id/status를 폴링한 다음GET /v1/jobs/:id/result로 새video_url을 받으세요. 출력은 소스의 크기, 프레임 레이트, 오디오를 유지합니다.
curl -X POST https://api.sume.com/v1/video-filter \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: color-correct-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/indoor-clip.mp4",
"filtergraph": "colorbalance=bm=0.1:bh=0.05,vibrance=intensity=0.2"
}'LUT 파일을 적용할 수 있나요? 한도는 어떻게 되나요?
- LUT 파일은 적용할 수 없습니다.
lut3d도, 파일을 읽는 어떤 필터도 허용 목록에 없습니다. - Job당 클립 하나, 최대 300초이며, 더 긴 소스는
output_duration_exceeded로 실패합니다. 그래프에는 이름 있는 필터를 최대 32개, 최대 2,048자까지 넣을 수 있습니다. - 필터는 HDR 소스(PQ 또는 HLG)를
hdr_source_unsupported로 거부합니다. - 검사는 무료이고 인코딩은 Job당 과금되며, 문서는 요율을
GET /v1/catalog에서 확인하라고 안내합니다. 색이 아니라 노출을 조정하려면 어두운 영상을 밝게 만드는 방법을 참고하세요.
출처
관련 글
미디어 도구 카테고리의 다른 글
- HEVC(H.265) 영상을 H.264로 변환하는 방법
HEVC(H.265)를 H.264로 바꾸려면 영상 스트림을 재인코딩하세요. Sume에서는 HDR이 아닌 클립 전체를 exact로 트림하면 H.264 MP4가 나옵니다.
- 화질 손실 없이 영상을 크롭하는 방법
일반적인 크롭은 프레임을 재인코딩하므로 손실을 최소로 줄여야 합니다. 원본에서 한 번만 크롭하고 다시 확대하지 마세요. Sume의 편집별 인코딩 방식도 다룹니다.
- Demand Gen 영상 규격: 크기, 길이, 4:5 버전
Demand Gen은 YouTube에 업로드한 5초 이상의 1:1, 16:9, 4:5 영상과 선택 사항인 9:16 영상을 받습니다. 4:5를 포함해 각 버전을 Sume로 만드는 방법입니다.
- 음성 인식 API로 오디오의 언어를 감지하는 방법
오디오 파일에서 말하는 언어를 감지하려면 언어 힌트 없이 음성 인식을 실행한 뒤, 결과에서 감지된 언어 코드와 신뢰도를 읽으세요.
작성자 Sume