영상을 흑백으로 만드는 방법(또는 한 가지 색만 남기기)

FFmpeg의 hue나 eq 필터로 채도를 0으로 설정하면 영상이 흑백이 되고, colorhold를 쓰면 한 가지 색만 남길 수 있습니다. Sume에서 하는 방법을 정리했습니다.

읽는 시간 4분Sume
전체 글

영상을 흑백으로 만들려면 색의 채도를 0으로 설정하세요. FFmpeg에서는 hue=s=0 필터가 이 일을 하며, eq=saturation=0이나 monochrome도 됩니다. Sume에서는 이미 media.sume.com에 호스팅된 클립과 이 필터를 filtergraph로 POST /v1/video-filter에 보내면, 클립의 소리가 그대로 담긴 새 흑백 MP4를 돌려받습니다.

필터 옵션은 FFmpeg 필터 문서를, Sume 관련 내용은 영상 필터 문서와 Sume API 레퍼런스를 따르며, 모두 2026-09-27에 확인했습니다. Sume가 어떤 필터를 받고 어떻게 인코딩하는지는 Sume의 필터 컴파일러에서 확인한 것으로, 현재 동작을 설명합니다.

어떤 필터로 영상을 흑백으로 만드나요?

아래 세 필터 중 어느 것이든 되며, 세 필터 모두 현재 Sume의 필터 허용 목록에 있습니다. 채도는 각 픽셀이 담은 색의 양이므로, 채도가 0이면 밝기만 남습니다. eq는 contrast와 brightness도 설정하므로, eq=saturation=0:contrast=1.2는 필터 하나로 색을 없애고 대비를 높입니다.

옵션은 FFmpeg 필터 문서 기준, 허용 목록은 영상 필터 문서에 설명된 Sume 필터 컴파일러 기준입니다. 2026-09-27 확인.
filtergraphFFmpeg 문서의 설명범위와 기본값
hue=s=0hue는 색조나 채도, 또는 둘 다를 바꿈. s는 채도s는 −10에서 10, 기본값 1
eq=saturation=0eq는 밝기, 대비, 채도, 근사 감마를 설정saturation은 0.0에서 3.0, 기본값 1
monochrome사용자 지정 색 필터로 영상을 회색조로 변환cb와 cr은 −1에서 1, 기본값 0

Sume API로 영상을 흑백으로 만들려면 어떻게 하나요?

클립과 필터를 Idempotency-Key와 함께 POST /v1/video-filter로 보내세요. 클립은 이전 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 하며, 이 규칙은 엔드포인트별로 받는 URL에서 설명합니다.

  • 먼저 POST /v1/video-filter/check로 검증하세요. 같은 본문을 보내며, Job을 만들지 않고 크레딧도 예약하지 않습니다. 검사를 통과한 프로그램도 잘못된 식 같은 이유로 워커에서 실패할 수 있으며, 그 경우 Job 오류로 돌아옵니다.
  • 기본 mode는 async이므로 GET /v1/jobs/:id/status를 폴링한 다음 GET /v1/jobs/:id/result를 호출하세요. kind: video_filter 결과에는 소스의 크기, 프레임 레이트, 오디오를 그대로 가진 새 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: black-and-white-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
    "filtergraph": "hue=s=0"
  }'

한 가지 색만 남기고 영상을 흑백으로 만들려면 어떻게 하나요?

colorhold를 쓰세요. 이 필터도 현재 허용 목록에 있습니다. FFmpeg 문서에 따르면 이 필터는 지정한 색 하나를 제외한 모든 RGB 색의 색 정보를 없앱니다. 예를 들면 colorhold=color=red:similarity=0.3입니다.

  • color는 FFmpeg 색상 문법에 따라 red 같은 색 이름이나 0xD62828 같은 hex 값을 받습니다.
  • similarity는 픽셀이 색을 유지하려면 그 색에 얼마나 가까워야 하는지 정합니다. 0.01은 정확히 그 색에만 일치하고, 1.0은 모든 색에 일치합니다.
  • blend가 0.0이면 나머지 픽셀은 완전히 회색이 되고, 값이 높을수록 원래 색이 더 많이 남습니다.
  • 실제 물체가 정확히 한 가지 색인 경우는 드뭅니다. 그러니 물체의 색이 남을 때까지 similarity를 높이고, 다른 것들의 색까지 남으면 낮추세요. 결과에 POST /v1/video-frames를 쓰면 확인용 원본 크기 스틸을 과금 없이 받을 수 있습니다.

한도는 어떻게 되나요?

  • Job당 클립 하나, 최대 300초이며, 더 긴 소스는 output_duration_exceeded로 실패합니다.
  • 필터는 HDR 소스(PQ 또는 HLG)를 hdr_source_unsupported로 거부합니다. 과금되지 않는 POST /v1/video-inspect 프로브를 쓰면 제출하기 전에 hdr 값을 알 수 있습니다.
  • 그래프에는 이름 있는 필터를 최대 32개, 최대 2,048자까지 넣을 수 있으므로 다른 보정도 같은 패스에 함께 넣을 수 있습니다. 허용되는 필터와 출력 인코딩 방식은 필터 허용 목록 글에 정리되어 있습니다.
  • 위에 쓴 그대로라면 이 그래프들은 클립의 모든 프레임을 바꿉니다. 한 구간만 바꾸려면 영상 트림으로 클립을 여러 부분으로 자르고, 원하는 부분에 필터를 적용한 뒤, 클립에서 분리한 오디오 위에 Timeline 1.0 렌더로 부분들을 이어 붙이세요.
  • 검사는 무료이고 인코딩은 Job당 과금되며, 문서는 요율을 GET /v1/catalog에서 확인하라고 안내합니다.

출처

관련 글

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

미디어 도구 글 전체 보기

작성자 Sume