Michał Liszcz

dane z planu

Skopiowane to nie to samo co zgrane

Finder pokazuje zielony pasek i znika. Nie mówi, czy plik po drugiej stronie jest identyczny. Suma kontrolna to mówi.

Przeciągnięcie karty do folderu w Finderze nie jest kopią zweryfikowaną. System czyta bajty z karty, zapisuje je na dysku i kończy. Nie wraca, żeby sprawdzić, czy to, co leży na dysku, jest tym samym, co było na karcie. Suma kontrolna to sprawdza: liczy skrót z pliku źródłowego, liczy skrót z kopii i porównuje oba. Zgadzają się, albo nie.

To brzmi na paranoję do momentu, w którym zobaczysz uszkodzony klip. U mnie zdarzyło się to raz, przy teledysku. Wyszło dopiero na montażu, kiedy karta była już wyczyszczona pod następny dzień.

Drugi raz straciłem materiał inaczej i suma kontrolna nie miała tu nic do rzeczy: montażysta skasował pliki. Winy nie zrzucam na niego, bo to była moja rola. Właściciel studia odpowiada za to, żeby skasowanie czegokolwiek przez jedną osobę nie kończyło projektu, i za to, żeby istniała druga kopia, do której można wrócić. Suma kontrolna pilnuje, czy plik jest cały. Nie pilnuje, czy w ogóle jeszcze istnieje. To dwie różne rzeczy.

Skąd się biorą uszkodzone pliki

Rzadko z samej karty. Częściej z drogi: czytnik na USB huba, kabel, przerwane kopiowanie, uśpiony laptop w połowie transferu, drugi proces piszący na ten sam dysk. Karta to najbardziej podejrzany element w łańcuchu, ale statystycznie najmniej awaryjny.

Dlatego weryfikacja nie ma sensu tylko przy pierwszej kopii. Ma sens przy każdej: karta na dysk roboczy, dysk roboczy na kopię zapasową, kopia zapasowa na dysk archiwalny.

Co się liczy w praktyce

MD5 wystarcza. To algorytm złamany kryptograficznie, ale my nie bronimy się przed napastnikiem, tylko przed przekłamanym bitem. Do wykrycia przypadkowego uszkodzenia MD5 jest w zupełności dobre i jest standardem w branży, bo tak zapisuje je MHL.

xxHash jest szybszy. Kilkukrotnie, bo nie był projektowany jako funkcja kryptograficzna. Przy kartach po kilkadziesiąt gigabajtów ta różnica to realne minuty na dniu zdjęciowym.

MHL to plik z listą. Media Hash List, zwykły XML: ścieżka, rozmiar, suma kontrolna, data. Zapisany obok materiału. Za pół roku, gdy ktoś zapyta, czy archiwum jest całe, masz czym to sprawdzić zamiast zgadywać.

Gdzie to zwykle pęka

Nie na braku wiedzy, tylko na dniu zdjęciowym. Jest 21:00, ekipa się pakuje, karta ma być wyczyszczona na jutro rano, a weryfikacja zajmuje drugie tyle co kopiowanie. Więc się jej nie robi i formatuje kartę, bo przecież pasek doszedł do końca.

To jest moment, w którym opłaca się mieć narzędzie zamiast dyscypliny. Dyscyplina o 21:00 po dwunastu godzinach na planie nie działa.

Zbudowałem habitat flow właśnie do tego: czyta kartę, liczy sumy kontrolne w trakcie kopiowania, porównuje obie strony i zapisuje raport MHL obok materiału. Karta zostaje nietknięta, dzień zdjęciowy bierze się z daty nagrania, a druga karta z tej samej kamery nigdy nie nadpisze pierwszej.