영상 색보정 방법: 색 틀어짐과 색온도 바로잡기

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

읽는 시간 5분Sume
전체 글

영상을 색보정하려면 먼저 색 틀어짐(컬러 캐스트)을 없애 흰색과 회색이 중립적으로 보이게 한 다음, 색온도와 채도를 취향에 맞게 조정하세요. 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 옵션은 균형을 바꾸는 동안 밝기를 유지합니다. 양수 값은 원색 쪽으로, 음수 값은 그 보색 쪽으로 옮기므로, 틀어진 색과 반대 방향으로 밀어 주세요.

값은 조정을 시작할 출발점입니다. 옵션 동작은 FFmpeg 필터 문서 기준, 허용 목록은 영상 필터 문서에 설명된 Sume 필터 컴파일러 기준입니다. 2026-09-27 확인.
틀어진 색시도할 값이유
노란색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에서 확인하라고 안내합니다. 색이 아니라 노출을 조정하려면 어두운 영상을 밝게 만드는 방법을 참고하세요.

출처

관련 글

미디어 도구 카테고리의 다른 글

미디어 도구 글 전체 보기

작성자 Sume