Rec.709 to nie jest właściwość Twojego pliku
Materiał prosto z kamery zwykle nie ma zapisanej przestrzeni barw. Rec.709 to założenie, które robi za niego każdy program, dopóki ktoś nie wpisze inaczej.
Rec.709 to standard telewizji wysokiej rozdzielczości: opisuje, jakie dokładnie są czerwony, zielony i niebieski, oraz jak kod cyfrowy przekłada się na jasność na ekranie. Cała reszta tej notatki jest o czymś innym: o tym, że Twój plik prawie na pewno tego nie deklaruje.
Sprawdziłem to na własnym dysku roboczym. Nie w terminalu, tylko w Claude Code na Macu: otwieram katalog z materiałem i piszę „sprawdź, jakie tagi koloru mają te pliki”. Odpowiedź przychodzi w kilkanaście sekund. Klip z aparatu Sony:
color_space=unknown
color_transfer=unknown
color_primaries=unknown
pix_fmt=yuv422p10le
Trzy pola z czterech puste. Ten sam wynik dostałem na plikach roboczych z montażu. A teraz eksport z Resolve, ten sam dysk:
color_space=bt709
color_transfer=bt709
color_primaries=bt709
Kompletne. Różnica nie polega na tym, że materiał źródłowy „nie jest w Rec.709”. Polega na tym, że nikt tego nie zapisał w pliku, a Resolve przy renderze zapisuje.
Co się dzieje, kiedy tagów nie ma
Program musi coś założyć. Odtwarzacze, przeglądarki i programy montażowe zakładają Rec.709, bo to najbezpieczniejszy strzał dla materiału HD. Zwykle trafiają. Dlatego przez lata można montować i nie zauważyć, że w plikach nie ma żadnej deklaracji.
Problem zaczyna się, kiedy założenie jest błędne. Materiał w S-Log3 też przychodzi bez tagów i też zostanie potraktowany jak Rec.709. Wtedy widzisz to, co wszyscy znają z pierwszego dnia z logiem: obraz płaski, szary, bez czerni. Nic się nie zepsuło. Program po prostu zastosował złe założenie, bo plik nic mu nie powiedział.
Dlaczego to nie jest problem w Resolve
Bo w Resolve i tak deklarujesz to ręcznie. Color management zna S-Log3 i S-Gamut3.Cine jako osobne pozycje obok Rec.709, Rec.709-A, Rec.2020 i DaVinci WG. Ustawiasz przestrzeń wejściową na klipie albo na projekcie i od tego momentu tagi w pliku źródłowym nie mają znaczenia.
Znaczenie mają dopiero na wyjściu, i tu Resolve robi robotę za Ciebie: wpisuje bt709
w trzy pola, więc plik, który wychodzi do klienta, mówi sam o sobie, czym jest.
Kiedy to boli naprawdę
Gdy materiał omija Resolve. Podgląd dla klienta zrobiony szybkim eksportem z innego narzędzia, plik wrzucony prosto na platformę, klip przepuszczony przez konwerter bez ustawień. Wtedy liczy się już tylko to, co jest w pliku, a jeśli tam nic nie ma, każdy kolejny program zgaduje osobno. Dwa różne odtwarzacze mogą zgadnąć tak samo, a serwis streamingowy inaczej.
Dlatego wart zapamiętania jest jeden nawyk: po eksporcie sprawdź plik, zanim wyjdzie do klienta. Nie trzeba do tego znać składni żadnego narzędzia. U mnie wygląda to tak, że w Claude Code wskazuję katalog i piszę zdaniem:
sprawdź color_space, color_transfer i color_primaries w plikach w tym folderze
Trzy razy bt709 znaczy, że plik nie zostawia niczego domysłom. Trzy razy unknown znaczy,
że zostawia wszystko. Cała wiedza potrzebna do tego testu mieści się w tym jednym zdaniu -
resztę, czyli którym programem to odczytać i z jakimi przełącznikami, załatwia asystent.
Koloruję w Motion Pikczer i ten test wykonuję na każdym materiale, który wychodzi na zewnątrz. Zajmuje sekundę i raz na jakiś czas ratuje przed pytaniem „czemu u nas to wygląda inaczej”.
Nie jestem programistą i nie piszę komend z pamięci. Pracuję z Claude Code w aplikacji na Macu: pokazuję katalog, mówię, czego szukam, i dostaję odpowiedź. To jest ta część warsztatu, która przez ostatni rok zmieniła się u mnie najbardziej.