Применяет color-grade пресеты к видеодорожке через ffmpeg-фильтры. Пресеты — Mystic Dark, Travel Warm, Corporate Clean, Cinematic Teal-Orange, Vintage Faded. Используй когда нужно «покрасить» видео в нужный mood без Premiere/DaVinci. Все пресеты тестированы на наших Mystic/Travel-роликах.
Пока нет рефлексий. Запиши через ~/.claude/bin/append-reflection.py после следующего вызова.
## INVARIANTS — never override 1. Все color-grade применяются через ffmpeg фильтр-цепочки, НЕ через внешние LUT-файлы (если не указано явно). Это даёт переносимость. 2. Финальный layer ВСЕГДА: `noise` (grain) + `vignette`. Без них grade выглядит «цифровым». 3. Не комбинировать конфликтующие пресеты на один клип («Mystic Dark» + «Travel Warm» = бессмысленно). 4. Пресет `none` — буквально ничего не применять, не передавать filter_complex. 5. Источник пресетов: `SecondBrain/4-KNOWLEDGE/topics/color-grading-mystery-shorts.md`. При обновлении правил оттуда — обновлять здесь. ## Назначение Дать единый интерфейс для color-grade в любом видео-пайплайне (Mystic, MViC render, Travel-фильмы, RC.Studio). Работа: вход — `.mp4`, пресет, выход — `.mp4` с применённым grade. ## Пресеты ### `mystic_dark` Mystery/horror look: подъём чёрной точки, teal в тенях, тёплые highlights, убитый зелёный, grain, виньетка. ``` curves=all='0/0.05 0.5/0.5 1/0.95', colorbalance=rs=-0.14:gs=0.04:bs=-0.06:rh=0.07:bh=-0.12, selectivecolor=yellows=0:0:-0.15:0.05:cyans=-0.30:0.20:0.20:-0.15, eq=saturation=0.92:gamma_r=0.96, noise=c0s=15:c0f=t+u, vignette=PI/3 ``` ### `travel_warm` Тёплый кинематографичный look для travel-роликов (DARIA-style). ``` curves=all='0/0.04 0.5/0.55 1/0.92', colorbalance=rh=0.08:gh=0.04:bh=-0.10:rs=-0.06:bs=0.04, eq=saturation=1.05:gamma_r=1.05:gamma_g=1.00:gamma_b=0.95, noise=c0s=8:c0f=t+u, vignette=PI/4 ``` ### `corporate_clean` Нейтральный сбалансированный для коммерческих видео и обзоров. ``` curves=all='0/0.02 0.5/0.5 1/0.98', eq=saturation=0.95:contrast=1.05, noise=c0s=4:c0f=t+u ``` ### `cinematic_teal_orange` Голливудский teal-orange (тени холодные, лица тёплые). ``` curves=all='0/0.04 0.5/0.5 1/0.96', colorbalance=rs=-0.20:bs=-0.15:rh=0.12:bh=-0.10, eq=saturation=1.10, noise=c0s=10:c0f=t+u, vignette=PI/4 ``` ### `vintage_faded` Old-film look — поднятые тени, сниженная сатурация, тёплый bias. ``` curves=all='0/0.10 0.5/0.5 1/0.90', colorbalance=rh=0.06:bh=-0.06, eq=saturation=0.78:gamma_r=1.08:gamma_b=0.92, noise=c0s=18:c0f=t+u, vignette=PI/3.5 ``` ## Когда вызывать - После render финального видео — перед публикацией - При сборке Mystic/Travel/Tutorial рилсов - Когда юзер просит «покрась видео в стиле X» ## Когда НЕ вызывать - Если видео уже с применённым grade (метка в meta) - Для short-form где визуал уже стилизован (LUT-эмуляция уже встроена в render) ## Команда (template) ```bash ffmpeg -i input.mp4 -i audio.wav \ -filter_complex "[0:v]<PRESET_FILTERS>[v]" \ -map "[v]" -map 1:a \ -c:v libx264 -preset medium -crf 22 \ -c:a aac -b:a 160k \ -pix_fmt yuv420p \ output.mp4 ``` ## LEARNED (auto-updated by agent-self-improve) (пока пусто)