Communitygithub.com

영상 색보정

먼저 보정하고 그다음 그레이딩합니다. 화면을 맞춘 뒤 ASC CDL, 화이트밸런스, 대비, 믿을 수 있는 피부톤으로 룩을 만듭니다.

영상 색보정란 무엇인가요?

색보정과 컬러 그레이딩의 기술입니다. 그림을 고치는 일과 스타일을 주는 일을 나누고, ASC CDL의 슬로프, 오프셋, 파워와 화이트밸런스, 대비, 피부톤을 다룹니다. 타임라인에 프리셋을 던지는 대신 컷 전체의 톤을 맞출 때 씁니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Prateekiiitg56/video-editing-skills/tree/HEAD/skills/color-grading

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

색 그레이딩

스크립트: scripts/grade.py IN OUT --look NAME [--strength 0.8] [--lut file.cube] [--compare grid.png] --list로 룩 목록을 확인할 수 있습니다. ffmpeg 필터 체인으로 룩을 적용하며, --compare를 사용하면 여러 룩의 전후 비교 스틸 이미지를 렌더링하여 사용자가 직접 선택할 수 있습니다.

1. 작업 순서 (항상)

  1. 입력 변환: 회전/HDR/로그 → Rec.709 (Resolve에서는 Color Space Transform, ffmpeg에서는 LUT 또는 톤맵). 로그 영상을 직접 그레이딩하지 마세요.
  2. 색 보정 (중립적이고 일관되게 만들기): 화이트 밸런스 → 노출 → 대비 → 채도. 목표: 흰색은 흰색, 검은색은 검은색, 피부는 자연스럽게, 모든 샷이 일치.
  3. 룩 / 크리에이티브 그레이딩: 색조 변환, 스플릿 토닝, 곡선, 약하게 적용한 LUT.
  4. 마무리: 비네트, 그레인, 헐레이션, 마지막 샤프닝.

각 세그먼트를 연결(concat)하기 전에 그레이딩하여 한 번에 인코딩하세요. 시퀀스의 모든 클립에 동일한 룩을 적용하되, 스토리 비트(예: 따뜻한 A → 혼란스러운 차가운 B)가 있는 경우에만 변경합니다.

2. 개념 모델: ASC CDL

채널별: out = (in × slope + offset) ^ power, 다음에 채도 적용.

  • slope → 하이라이트/게인, offset → 섀도우/리프트, power → 미드톤/감마.
  • 따뜻한 하이라이트: R slope 증가, B slope 약간 감소. 틸 섀도우: B와 G offset 증가, R 감소.
  • ffmpeg 대응: colorbalance (섀도우/미드톤/하이라이트 RGB별), colorlevels, curves, eq (대비/밝기/채도/감마), colortemperature, lut3d, colorchannelmixer.

3. 룩 (시작점 – 프레임에서 확인 후 조정)

룩느낌주요 조작
neutral-punch깔끔, SNS용작은 S-커브, 채도 +8%, 색조 변환 없음
teal-orange블록버스터, 여행틸 섀도우, 따뜻한 하이라이트, 피부 보호 (주황은 피부 색상)
warm-golden향수, 음식, 라이프스타일화이트 밸런스 +300-600 K, 따뜻한 섀도우 리프트, 부드러운 대비
cool-moody기술, 밤, 드라마차가운 화이트 밸런스, 채도 낮은 미드톤, 깊지만 뭉개지지 않은 블랙
film-kodak2383/Portra 스타일 프린트롤오프된 하이라이트, 약간 녹색-시안 섀도우, 따뜻한 미드톤, 그레인 4-8%
bleach-bypass거친, 전쟁, 스포츠높은 대비, 채도 -40%, 은빛 하이라이트
pastel-matte미적, 미니멀, 패션리프트 블랙 (매트), 낮은 대비, 채도 -15%, 핑크/피치 하이라이트
day-for-night주간 영상을 야간처럼-1.5 ~ -2 스톱, 푸른 색조, 채도 0.3-0.5, 하늘 압축, 실제 조명은 따뜻하게 유지
vintage-faded홈 비디오, 90년대페이드 블랙, 황록색 하이라이트, 크로마 노이즈, 부드러움
bw-contrast시대를 초월한, 다큐멘터리루미넌스 믹스 (피부를 위해 R 강조), 강한 S-커브, 그레인
cyberpunk-neon도시의 밤, 게이밍마젠타-시안 분할, 하이라이트 높은 채도, 조명에 블룸

데이 포 나이트 참고: DaVinci Resolve의 "LMT Day for Night"는 ACES AP1 선형에서 power 0.5 → slope (0.3, 0.5, 0.8) → power 2.2 → saturation 0.3으로 작동합니다. Rec.709 영상에 사용하려면 Rec.709 → 선형 AP1 변환, 적용, 다시 변환 후 33포인트 .cube에 구워 넣습니다. 매우 어두운 소스는 LUT 전에 약간 리프트하세요.

4. LUT

  • lut3d=file.cube:interp=tetrahedral로 적용. 강도를 줄여 블렌딩: split[a][b];[b]lut3d=x.cube[g];[a][g]blend=all_expr='A*(1-0.7)+B*0.7'.
  • 기술 LUT(log→709)는 정확하므로 100% 사용. 크리에이티브 LUT는 양념이므로 보통 40-80%.
  • .cube 파일을 컨텍스트에 직접 읽어들이지 마세요 (수만 개의 숫자). 프레임에 미치는 영향을 확인하세요.
  • Python으로 커스텀 LUT 생성: 33³ 그리드 구축, numpy로 컬러 함수 적용, LUT_3D_SIZE 33 + 행 (R 가장 빠름) 작성.

5. 피부 톤

  • 피부는 인종에 관계없이 피부 톤 라인(벡터스코프에서 약 123°, I-라인)에 위치하며, 루미넌스와 채도만 변합니다.
  • 틸/쿨 룩을 적용할 때는 피부를 분리(HSL 키 색조 0-50°, 중간 채도)하여 유지하지 않으면 얼굴이 회색/녹색으로 변합니다.
  • 모든 얼굴 샷을 그레이딩 상태에서 전체 크기로 확인하세요.

6. 샷 매칭

  • 먼저 노출 매칭 (파형/평균 루마), 다음 화이트 밸런스 (중립 물체 또는 흰색), 다음 채도.
  • 빠른 수치 매칭: 샷 간 중립 영역의 채널별 평균과 표준편차 비교; slope/offset 조정하여 약 2-3% 이내로 맞춤.
  • 혼합 카메라 (휴대폰 + 액션캠 + DSLR): 모두 먼저 Rec.709로 변환한 후, 주 카메라에 맞춥니다.

7. 마무리 터치

  • 그레인: noise=alls=6:allf=t (시간적). 최종 크기로 스케일링 후 추가. 4K 영상: 약간 강한 값에서 그레인이 압축을 더 잘 견딥니다.
  • 비네트: vignette=PI/5 미묘하게. 가장자리에 텍스트가 있는 콘텐츠는 피하세요.
  • 헐레이션 / 블룸: 하이라이트 전용 복사본 임계값 처리, gblur 20-40, 빨간-주황 색조, 15-30%로 스크린.
  • 샤픈: unsharp=5:5:0.6 한 번, 마지막에, 최종 크기에서.
  • HDR to SDR: ffmpeg-pipeline 톤 매핑 참조.

8. DaVinci Resolve에서

기본 노드 트리: CST in → WB/exposure → contrast/sat → secondary (skin) → look/LUT → CST out → grain/vignette. 입력 = 카메라 로그 (예: Apple Log), 출력 = Rec.709 Gamma 2.4로 Color Space Transform 사용. 스틸 또는 Color Group(프리/포스트 클립)으로 그레이딩 복사. davinci-resolve 참조.

9. 확인

3개 이상의 샷(가장 밝은, 가장 어두운, 얼굴)의 전후 비교 스틸을 나란히 배치. 확인: 피부에서 하이라이트 클리핑 없음, 디테일이 중요한 부분에서 블랙 뭉개짐 없음, 텍스트 오버레이 여전히 읽기 쉬움, 컷 간 룩 일관성.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

관련 스킬