Verdict
Лучшие числа из пяти: чёрное p2 9,2 при норме 8, зажато 0,01 %, выбито 0,01 %, кожа 58° C 32. На 100 % куб топит 1,5 % кадра (p2 3,8) и даёт коже C 39. Это расходится с каноном «проявка на 100 %» — решение за Романом.
Лицо до 125 только экспозицией выбивает окно и белый свитер: после куба 1,25 стопа Lumetri — выбито 30,6 % кадра, до куба 1,13 — 27,2 %; на самом лице выбит красный канал у 16 и 12 % пикселей, кожа уходит в C 52. Для кадра с окном нужна защита светов или цель ниже.
Клипов Osmo Action нет ни на одном носителе из индекса. Куб Action 4 и Action 5 Pro — тот же файл, что у Nano, так что вывод по Nano к ним переносится; у Action 6 куб свой, нужна своя проба.
Официальный куб Nano V1 (2025-09-23) байт-в-байт совпадает с кубами Action 4 V1 (2023-08-02) и Action 5 Pro V1 (2024-09-19), внутри подписан «Mavic 3 Pro, D-Log M, 2023-03-24» — DJI раздаёт одну проявку D-Log M на несколько камер. По числам он совпадает с кубом D-Log M, который уже был в нашей библиотеке.
На этом клипе куб на 100 % делает лицо темнее, чем в логе (88 против 97 по коду), и добавляет насыщенности: кадр 56 % против 36 %, кожа C 39 против 23. Ослабленная проявка (смесь с логом) поднимает чёрное и снимает лишний цвет.
DJI Osmo Nano
Один и тот же кадр 36,0 с в пяти вариантах. Слева и справа можно поставить любой вариант и двигать границу; клавиши 1–5 переключают правую сторону. Ролики — 4 секунды 720p, те же цепочки, 10 бит через куб, 8 бит только в самом конце.
Clip
| Drive source | Shared Drive YTAgeFree › YTAgeFree S3/YTAgeFree19_Nutrition/01_Source/Video/04_Meal_Delivery/CAM-D_Nano/DJI_20261006141133_0003_D.MP4 |
|---|---|
| SSD source | /Volumes/T7-Beige-RYA/YTAgeFree/YTAgeFree19_Nutrition/01_Source/Video/04_Meal_Delivery/CAM-D_Nano/DJI_20261006141133_0003_D.MP4 (Memex) |
| Excerpt | _src/nano_DJI_20261006141133_0003_D__t32-42_copy.mp4 · 32–42 s · stream copy |
| Model | encoder “DJI Osmo Nano” · djmd dvtm_ow001.proto, OW001 · firmware 10.00.31.22 |
| Gamma | D-Log M · djmd stream_meta.color_mode = 19 · no ColorGammaSxS tag · container transfer tag bt709 |
| Format | HEVC Main 10 · 3840 × 2160 · yuv420p10le · limited range · 25 fps (25/1) |
| Exposure data | ISO 200 · WB 5800 K · 1.40 GB · 126.4 s |
| Trial window | clips 34–38 s · stills 36.0 s · measures at 34, 35, 36, 37, 38 s |
Numbers
Средние по пяти кадрам 34–38 с, ширина 960 px. Лицо — говорящая в центре (рамка YuNet, центральные 70 %); по правилу «самая крупная рамка» мерка этапа взяла бы вторую женщину справа — её числа отдельной строкой, они почти те же. У варианта A — лог: его «лицо» не уровень, а код сигнала. Галочки — против норм этапа 17 (Claude Color).
| Metric | Norm | A · As shot | B · LUT 100 % | C · LUT 55 % | D · Exp. after | E · Exp. before |
|---|---|---|---|---|---|---|
| Exposure, showcase stops | — | 0.00 | 0.00 | 0.00 | 0.52 | 0.47 |
| Exposure, Lumetri stops (× 2.4) | ±7 slider | 0.00 | 0.00 | 0.00 | 1.25 | 1.13 |
| Face luma, speaker (stage 17) | 125 ± 7 | 97.0 | 87.5 ✗ | 91.7 ✗ | 124.7 ✓ | 124.9 ✓ |
| Face luma, second person | — | 97.3 | 87.8 | 92.0 | 124.8 | 125.5 |
| Face shadow p20 / p50 | ≥ 0.74 | 0.80 | 0.74 ✗ | 0.77 ✓ | 0.74 ✗ | 0.79 ✓ |
| Face highlights p95 | < 250 | 143 | 138 ✓ | 140 ✓ | 193 ✓ | 185 ✓ |
| Face clipped, % | ≤ 2 | 0.00 | 0.00 ✓ | 0.00 ✓ | 16.00 ✗ | 12.00 ✗ |
| Skin hue, ° (Lab) | 56 ± 6 | 59.7 | 57.4 ✓ | 58.5 ✓ | 57.3 ✓ | 55.9 ✓ |
| Skin chroma C* | 12–26 (max 38) | 23.1 | 38.8 ✗ | 31.6 ✗ | 51.6 ✗ | 52.7 ✗ |
| Skin hue, second person | 56 ± 6 | 63.1 | 60.0 ✓ | 61.3 ✓ | 59.5 ✓ | 59.8 ✓ |
| Skin chroma, second person | 12–26 | 23.3 | 38.7 ✗ | 31.8 ✗ | 51.5 ✗ | 51.3 ✗ |
| Black p2, frame | ≈ 8 (± 4) | 16.5 | 3.8 ✗ | 9.2 ✓ | 5.3 ✓ | 7.6 ✓ |
| White p98, frame | < 250 | 219.8 | 226.3 ✓ | 223.2 ✓ | 255.0 ✗ | 255.0 ✗ |
| Crushed black, % (max RGB ≤ 6) | ≤ 1 | 0.00 | 1.50 ✗ | 0.01 ✓ | 0.58 ✓ | 0.10 ✓ |
| Clipped, % (max RGB ≥ 250) | ≤ 2 | 0.01 | 0.02 ✓ | 0.01 ✓ | 30.63 ✗ | 27.22 ✗ |
| Frame luma (15_color) | — | 107.1 | 99.6 | 102.9 | 134.4 | 136.8 |
| Saturation, % (15_color) | — | 36.1 | 56.5 | 47.1 | 53.2 | 52.3 |
| Face saturation, % (15_color) | — | 48.0 | 72.0 | 61.0 | 71.0 | 71.0 |
| Grey balance a / b (Lab) | |a|, |b| ≤ 2 | +1.1 / +5.6 | +3.5 / +1.3 | +2.9 / +2.7 | +3.6 / +1.1 | +3.6 / +0.7 |
| Preview clip, 720p H.264 4 s | ≤ 600 KB | 533 KB | 532 KB | 533 KB | 532 KB | 532 KB |
Серое во всех проявленных вариантах чуть уходит в пурпур: a ≈ +3…+3,6 при норме ±2 (в логе +1,1). Это баланс съёмки (WB 5800 K в смешанном свете окна и ламп) плюс сам куб — правится балансом, а не проявкой.
Экспозиция в витрине и в Lumetri — разные числа: стопы Lumetri = 2,4 × стопы витрины (color_plan.to_lumetri_stops). D — экспозиция после куба (Basic Correction при кубе во входном слоте), E — до куба (куб в слоте Creative → Look, тогда Basic Correction идёт раньше него).
DJI Osmo Action No clips
В индексе носителей (07:30 и 19:30, все SSD, Memex и Shared Drive) нет ни одного клипа Osmo Action. Все клипы DJI с именами DJI_* проверены по метаданным: это Pocket 3 (YTCR, D-Log M), Pocket 4P (D-Log2) и Nano (D-Log M и Normal). В cards.json карты Action тоже нет.
Поэтому модель Action Романа по метаданным не определить, и пробы для Action нет. На dji.com сейчас три модели с D-Log M: Action 4 и Action 5 Pro раздают тот же куб, что Nano (sha256 b1816285…), — если камера одна из них, проявка уже в библиотеке и вывод по Nano переносится. У Action 6 куб другой («LUT-11.17», 2025-11-13, sha256 1972eb9b…, расходится с Nano в среднем на 12,7 из 255) — для него нужен 10-секундный тест D-Log M с лицом и своя проба.
Все три страницы Action стоят в слежении (official_sources манифеста), куб Action 6 в библиотеку не заведён: проявка выбирается по гамме, и чужой куб D-Log M попал бы в кандидаты для Nano.
LUT packages
Что сейчас лежит на страницах загрузок dji.com для этих камер (разбор 26.10.2026). Пакеты «Rec.709 to Color Grading LUTs» — покраска поверх 709, не проявка; их отслеживаем, но не скачиваем.
| Model | Package | Version | Date | File | SHA-256 | Library id |
|---|---|---|---|---|---|---|
| DJI Osmo Nano | DJI Osmo Nano D-Log M to Rec.709 vivid LUT | V1.0 | 2025-09-23 | DJI OSMO Osmo Nano D-Log M to Rec.709 V1.cube | b18162854ab47702… | dji__dlogm__rec709__official__v1 |
| DJI Osmo Action 4 | DJI OSMO Action 4 D-Log M to Rec.709 vivid LUT | V1.0 | 2023-08-02 | DJI OSMO Action 4 D-Log M to Rec.709 V1.cube | b18162854ab47702… | dji__dlogm__rec709__official__v1 |
| DJI Osmo Action 4 | DJI OSMO Action 4 Rec.709 to Color Grading LUTs | V1.1 | 2024-11-06 | DJI OSMO Action 4 Rec.709 to Color Grading LUTs.zip | — | watch only |
| DJI Osmo Action 5 Pro | DJI OSMO Action 5 Pro D-Log M to Rec.709 vivid LUT | V1.0 | 2024-09-19 | DJI OSMO Action 5 Pro D-Log M to Rec.709 V1.cube | b18162854ab47702… | dji__dlogm__rec709__official__v1 |
| DJI Osmo Action 5 Pro | DJI OSMO Action 5 Pro Rec.709 to Color Grading LUTs | V1.1 | 2024-11-06 | DJI OSMO Action 5 Pro Rec.709 to Color Grading LUTs.zip | — | watch only |
| DJI Osmo Action 6 | DJI OSMO Action 6 D-LogM to Rec.709 LUT | V1.0 | 2025-11-13 | DJI OSMO Action 6 D-LogM to Rec.709 LUT-11.17.cube | 1972eb9b05699ba1… | watch only |
Куб Nano записан в библиотеку как dji__dlogm__rec709__official__v1 (store/develop/, только чтение; в манифесте — ссылка, пакет, версия, дата, ETag, sha256). Следит dji_lut_watch.py: код выхода 1, если на странице сменилась версия, дата, ссылка или сам файл по той же ссылке.
Open questions
1. Канон или смесь. Канон 15_color: проявка — технический шаг на 100 %. Эти числа говорят за смесь около 55 % (C). Принять исключение для D-Log M Nano — или держать 100 % и снимать насыщенность и поднимать чёрное следующей ступенью? Это решение Романа.
2. Цель лица 125 на кадрах с окном. Экспозицией её не взять без выбитого окна и красного канала на лице. Для таких планов — защита светов (Highlights / Whites) или своя цель ниже; нужна ли проба с защитой светов?
3. Какая Osmo Action у Романа: 4, 5 Pro или 6? Для 4 и 5 Pro куб тот же, что у Nano; для 6 нужен 10-секундный тест D-Log M с лицом и своя проба.
4. Движок 0514 (YTAgeFree S3) считает Nano «Rec.709, без проявки» (from_proposal.py: CAM-D_Nano develop None), а клипы Nano 4–6 октября по метаданным — D-Log M. Фильмы S3 красили Nano без проявки — проверить, не переделать ли.
5. color_media.detect_gamma читает только тег ColorGammaSxS: у Nano и Pocket 3 его нет, витрина откажет («гамма не определена»). Научить его читать color_mode из djmd — отдельная задача.
Method
Клип: Osmo Nano, YTAgeFree19, сцена «Meal Delivery», 6 октября, кабинет с окном, две женщины в кадре. На трёх SSD макбука клипов Nano нет (папка YTAgeFree на T9-Black-2 — ссылка на T7-Beige в Memex), поэтому 10 секунд вырезаны с Shared Drive YTAgeFree копированием потока без перекодирования — HEVC бит-в-бит, Memex не трогали.
Гамма — из метаданных оригинала: Nano не пишет тег com.dji.camera.ColorGammaSxS, режим цвета лежит в потоке djmd (protobuf dvtm_ow001.proto): stream_meta.color_mode = 19 — DLog-M по dvtm_library.proto. Из 97 клипов Nano на Drive так у 91 (все съёмки 4–6 октября, 10 бит); шесть ранних тестов (24.09, 30.09 и один с датой 1970) — Normal, 8 бит.
Цепочка — как у витрины 15_color: масштаб до куба, общий gbrp10le, куб тетраэдрической интерполяцией, экспозиция фильтром exposure, 8 бит только в конце (rgb24 для кадров, x264 yuv420p для роликов, два прохода ~1,1 Мбит/с). Смесь 55 % — blend normal куба поверх лога. Работа шла на макбуке в один поток.
Мерки: этап 17 — story_color_check.measure (лицо, p20/p50/p95, оттенок и насыщенность кожи в Lab, p2/p98 кадра, серое); 15_color — color_frames.metrics и face_measure (яркость, насыщенность, чёрное ≤ 6, выбитое ≥ 250). Экспозиция D и E подобрана делением пополам, пока среднее лицо не встало в 125 ± 0,3.
as_shot: [0:v]scale=1280:-2:flags=bicubic:in_range=tv:in_color_matrix=bt709,format=gbrp10le[o] lut100: [0:v]scale=1280:-2:flags=bicubic:in_range=tv:in_color_matrix=bt709,format=gbrp10le,lut3d=file='/Users/romansergeev/YTAI/scripts/15_color/1501_lut_library/store/develop/dji__dlogm__rec709__official__v1.cube':interp=tetrahedral[o] lut55: [0:v]scale=1280:-2:flags=bicubic:in_range=tv:in_color_matrix=bt709,format=gbrp10le,split[p][q];[q]lut3d=file='/Users/romansergeev/YTAI/scripts/15_color/1501_lut_library/store/develop/dji__dlogm__rec709__official__v1.cube':interp=tetrahedral[l];[l][p]blend=all_mode=normal:all_opacity=0.55[o] lut100_norm: [0:v]scale=1280:-2:flags=bicubic:in_range=tv:in_color_matrix=bt709,format=gbrp10le,lut3d=file='/Users/romansergeev/YTAI/scripts/15_color/1501_lut_library/store/develop/dji__dlogm__rec709__official__v1.cube':interp=tetrahedral,exposure=exposure=0.5195[o] lut100_pre: [0:v]scale=1280:-2:flags=bicubic:in_range=tv:in_color_matrix=bt709,format=gbrp10le,exposure=exposure=0.4707,lut3d=file='/Users/romansergeev/YTAI/scripts/15_color/1501_lut_library/store/develop/dji__dlogm__rec709__official__v1.cube':interp=tetrahedral[o]
Files
/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/dlogm_trial.html/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/nano_contact_sheet.jpg/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/stills/nano_{as_shot,lut100,lut55,lut100_norm,lut100_pre}.{png,jpg}/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/clips/nano_*_720p.mp4/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/data/measurements.json/Volumes/T9-Black-2-RYA/_color_trials/2026-10-26_dlogm_official_lut/data/trial_render.py~/YTAI/scripts/15_color/1501_lut_library/store/develop/dji__dlogm__rec709__official__v1.cube~/YTAI/scripts/15_color/1501_lut_library/dji_lut_watch.py