color은(는) 무엇을 하나요?
소재가 뒤섞여 들어옵니다: 로그 카메라, HDR 모바일, 스톡, AI 생성, RAW 사진. 그대로 넣으면 각 장면마다 고유한 빛과 톤을 가지고 있어 결과물이 이리저리 붙여놓은 듯 보입니다. 이 스킬은 파일을 건드리기 전에 측정하고, 먼저 변환한 다음 보정하며, 항상 전후 비교 시트를 제공합니다.
세부 내용은 이 파일과 함께 referencias/ 디렉토리에 있습니다:
| 파일 | 내용 |
|---|---|
perfiles.md | S-Log3 및 HLG 측정 감지; Rec.709 변환 곡선, 행렬 및 LUT; 색상 태그 |
luts.md | 보조 클립 색보정, 장면별 LUT(톤 일치), 인물 및 배경 분리 레이어, .cube 형식 |
lumetri-por-script.md | Premiere 스크립트 기반 그레이딩: 구조, Lumetri 인덱스, 함정, 측정된 응답, 목표 |
fotos-raw.md | 피부를 참조로 RAW 현상, 사진 및 클립 방향 처리 |
흐름
- 무엇이 들어왔는지 측정하여 식별합니다.
ffprobe로 태그(color_transfer,color_primaries,color_space)를 확인하고,unknown이면 휘도 백분위수를 사용합니다. 회전과 실제 FPS도 확인합니다. - Rec.709가 아닌 것은 모두 먼저 변환합니다: HLG → SDR, S-Log3 → Rec.709. 출력 태그를 강제합니다.
- 각 보조 클립을 사용 전에 색보정합니다(브롤, 스톡, 생성된 콘텐츠, 클라이언트 제공). 전후 비교 시트를 함께 제공합니다.
- 장면 간 톤을 일치시킵니다. '중립 또는 참조 장면' 옵션을 제시하고 사용자가 기준을 선택하도록 합니다.
- 피부와 배경 톤이 유사할 경우 인물과 배경을 분리합니다: 로토스코핑 위에 두 개의 LUT 적용.
- Premiere에서 그레이딩합니다: V1의 각 플랜에 개별 Lumetri(밸런스용)와 조정 레이어에 공통 룩을 적용합니다. 각 패스를 내보낸 프레임으로 측정합니다.
- Premiere 또는 측정된 렌더에서 검증하며, QuickTime에서는 절대 하지 않고 시트를 제공합니다.
깨지지 않는 규칙
모든 규칙은 실제 보정 경험에서 비롯되었습니다.
- 파일 이름이나 태그가 아닌 파일 자체를 측정합니다.
S-Log3가
unknown태그로 오며 '대비 부족'처럼 보이고, 일부 HLG는 이름에 표시되지 않기 때문입니다. - 먼저 변환한 다음 색보정합니다. 변환되지 않은 로그 또는 HLG 위에 보정을 적용하면 색이 빠지거나 주황색 색조가 생기기 때문입니다.
- 모든 보조 클립은 편집에 들어가기 전에 색보정합니다: 적절한 노출, 생생하지만 신뢰할 수 있는 채도, 확실한 대비, 중성 색온도. 각 소스가 고유한 빛과 톤을 가지고 있어 결과물이 이리저리 붙여놓은 듯 보이기 때문입니다.
- 세 채널에 공통 레벨을 적용하고, 거의 회색인 픽셀로만 화이트 밸런스를 조정합니다. 각 채널을 개별적으로 늘리면 주제의 색상을 색조로 오인합니다: 빨간 산화물이 노랑과 보라로 나왔고, 파란 베일이 있는 금가루도 마찬가지였습니다.
- 진정으로 따뜻한 장소에서는 채널별 게인을 사용하지 않습니다. 따뜻함은 스플릿 톤과 톤 섹터로 모델링합니다. 채널별 게인은 회색이었던 것을 비중성으로 만듭니다(흰 옷과 종이에서 눈에 띕니다).
- 참조 장면은 사용자가 선택합니다. 사용자가 '따뜻한' 참조를 선택해도 너무 노랗게 보일 수 있기 때문입니다. 실제로 그런 경우가 있었습니다.
- 천막이나 색상 텐트 아래에서는 첫 패스부터 피부를 측정하며, 중간값이나 회색을 측정하지 않습니다. 텐트가 프레임을 지배하고 얼굴이 어둡고 누렇게 녹색으로 나왔기 때문입니다.
- 얼굴이 프레임에서 차지하는 비율이 작으면 장면의 대비를 우선시합니다. 검은색은 검게 유지하되 디테일을 살립니다. 작은 얼굴을 노출과 그림자로 억지로 올리면 검은색이 떠오르고 색상이 죽어 '평평해 보인다'는 결과가 나왔습니다.
- 최종 패스 전에 취향을 묻습니다: 밝고 통풍 좋게, 아니면 대비 있게. 응답이 없으면 더 밝게 처리합니다. 대비 있고 어두운 룩이 올바르게 측정되었음에도 '색보정이 너무 어둡다'는 평가를 받았기 때문입니다.
- Premiere에서 또는 렌더를 측정하여 판단하며, QuickTime이나 Finder 빠른 미리보기에서는 하지 않습니다. 이들은 Apple 감마를 적용하여 올바른 내보내기를 색 빠지게 보여주기 때문입니다.
- 항상 전후 비교 시트를 확인하며, 강한 색상의 주제(금, 산화물, 제품)의 경우 원본 장면과 100% 대조합니다. 자동 보정이 미리보기에서 눈에 띄지 않게 주제의 톤을 바꿀 수 있기 때문입니다.
- 스튜디오 배경 위의 클라이언트 제품은 필요한 경우에만 건드립니다. 배경이 이미 조정되어 있어 변경하면 균형이 깨지기 때문입니다.
- 저해상도 소재는 전체 화면으로 표시하지 않습니다. 큰 클로즈업은 최소 1080 네이티브 이상이 필요하며, 리스케일링은 작은 카드용으로만 적합합니다. 어떤 색상도 부드러운 이미지를 고칠 수 없기 때문입니다.
- '잘못 찍힌' 사진이나 클립을 판단하기 전에 방향을 확인합니다. 일부 도구가 방향을 무시하여 단지 잘못 표시된 좋은 소재를 폐기하기 때문입니다.
수치
| 항목 | 값 |
|---|---|
| S-Log3 서명 (8비트) | 1% 백분위수 ≈ 24–30 · 99% 백분위수 ≈ 148 · 최대 ≈ 167 |
| HLG | color_transfer = arib-std-b67, 기본 bt2020; Premiere에서 getColorSpace() trc 18 / prim 9 (Rec.709 = 1 / 1) |
| LUT | 33³ (35,937 엔트리), 사면체 보간 |
| 색보정 | 검정색: 채널 최소값의 0.4% 백분위수, 흰색: 채널 최대값의 99.6% 백분위수 · 채도 < 0.14 및 휘도 0.18–0.85인 픽셀로 밸런스 조정, 80% 강도, ±10% 제한 · 목표 평균 휘도 0.44 (어두운 장면에서는 0.34) · 채도 ×1.15 (금 또는 기타 강한 색상에서는 ×1.0) |
| 장면 톤 일치 | LAB 공간에서 Reinhard 변환, 주제 중앙 영역 사용 · 강도 0.6 · 스케일 제한 0.65–1.6 |
| 잘 그레이딩된 낮 장면 | p1 ≈ 7 · p50 ≈ 92–124 · p99 ≈ 243 · 회색 a* +0.8 / b* +4 (자연스러운 따뜻함) |
| 잘 노출된 장면 | 휘도 p95 ≈ 190–230 |
| 그늘진 얼굴 | L* ≈ 45–52, 프레임 중간값 ~150을 넘지 않음 |
| 흐린 날 야외, 밝은 룩 | 중간값 ≈ 110–125 (255 기준) |
| 룩 비네트 | −0.25 (−0.5에서는 모서리가 17% 어두워짐) |
기술적 함정
- ffmpeg는 HLG 태그를 유지합니다.
-color_trc bt709를 지정해도 Premiere 또는 Remotion이 다시 변환하여 금색이 주황색으로 나옵니다. 필터 끝에setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709를 강제로 추가하고ffprobe로 확인하세요. - 자동 톤 매핑이 없는 시퀀스는 HLG를 그대로 사용하여 색 빠진 상태로 내보내집니다. 그리고 Premiere 환경설정의 '확장된 다이내믹 레인지 모니터링'은 화면에 예쁜 HDR을 보여주지만 내보내기와 다릅니다. 끄세요.
- 저해상도에서 학습된 LUT는 채도가 높은 색상을 주황색으로 만듭니다. 1080 이상에서 학습하세요.
- '기억에 의존한' 색상 행렬은 종종 녹색과 파란색 행이 잘못됩니다: 기본 색상에서 유도하세요.
- 스크립트 기반 Lumetri: 온도 변경 한 번이 색조로 잘못 적용됩니다. 세 번 연속으로 설정을 고정하세요(
lumetri-por-script.md참조). - 새 LUT는 Premiere 재시작 시에만 로드되며, 스크립트로 '입력 LUT'는 경로가 아닌 인덱스입니다.
- Lumetri의 '자동'은 기준이 아닙니다: 차갑게 만드는 경향이 있고, 마젠타 색조를 남기며, 노출을 과도하게 올립니다.
- 로토스코핑에서 배경 블러는 전체 장면 트랙에 적용되며, 로토스코핑된 트랙에는 적용되지 않습니다: 거기서는 인물이 흐려집니다.
- 스크립트로 조정 레이어를 만들거나 효과를 제거할 수 없습니다: 레이어는 사용자가 만들고, 남는 효과는 0으로 설정하고 알립니다.
- 파이프를 통해 ffmpeg에 원시 프레임을 넣을 때, 입력에 출력과 동일한 색상을 태그하거나, 그렇지 않으면 곡선을 변환하여 약 3레벨 정도 어두워집니다.
- 휴대폰 '120fps'는 종종 실제 30fps입니다:
avg_frame_rate또는nb_frames를 확인하세요.
'QuickTime에서 색이 빠져 보여요'
거의 항상 내보내기 문제가 아닙니다. QuickTime과 Finder 빠른 미리보기(동일한 Apple 엔진)는 Rec.709를 약 1.96 감마로 읽어 그림자를 올리고 색상을 씻어냅니다. iPhone도 비슷하게 보일 가능성이 높으며, Android는 Premiere에 더 가깝습니다. 그리고 Premiere에서 디스플레이 색상 관리가 꺼져 있으면 모니터가 원시 값을 표시하여 P3 디스플레이에서 약간 더 채도가 높아 보입니다.
논쟁하기 전에 측정하세요. 내보내기와 Premiere에서 동일한 순간을 추출하세요(Premiere에서 exportFramePNG 또는 export_frame_uxp 사용):
ffmpeg -nostdin -v error -ss 12.0 -i export.mp4 -frames:v 1 export_12s.png
평평한 영역(벽, 하늘)의 RGB가 동일하면 내보내기가 정확합니다. 또한 어떤 창이 어떤 것인지 확인하세요: 'QuickTime Player로 열기'를 제안하는 것은 빠른 미리보기이고, '프로그램:'이라고 표시된 것은 Premiere입니다.
제공되는 항목 및 검증
| 제공 항목 | 검증 방법 |
|---|---|
보정된 클립, 원본 옆에 _c 접미사 (컴포지션은 _c를 가리킴) | ffprobe: bt709 / bt709 / bt709 태그, 원본과 동일한 크기, FPS, 길이 |
| 클립 또는 플랜별 전후 비교 시트 | 자연스러운 피부, 타거나 끊어진 검정/흰색 없음, 색조 없음; 주제 색상 유지 |
.cube LUT (장면별, 또는 배경 및 인물) | ffmpeg -vf lut3d로 적용 시 계산된 변환과 동일한 결과 |
| Premiere 그레이딩 | 각 플랜의 내보낸 프레임: 휘도 p1, p50, p99; 회색 a*/b*; 피부 L*, 전후 비교 |
보류 중인 사항을 명시하세요: Premiere 재시작이 필요한 새 LUT, 사용자가 만들어야 하는 조정 레이어, 또는 강제하지 않고는 목표에 도달하지 못하는 플랜(예: 모자 아래 얼굴). 수행된 작업을 pieza.md에 기록하세요.