Jestem programistą i interesuję się także fotografią (przez cztery lata) i produkcją wideo (tylko przez kilka miesięcy).
■ Podczas opracowywania oprogramowania obowiązuje jedna zasada, którą każdy programista stosuje w każdym projekcie: wszystko powinno być pod kontrolą wersji : kod źródłowy, pliki konfiguracyjne, schemat bazy danych, dokumentacja - wszystko, co umożliwia zbudowanie projektu od podstaw. Ma to dwie przyjemne konsekwencje:
W przypadku awarii, gdy stracisz wszystko oprócz repozytorium kontroli wersji, powinieneś być w stanie kontynuować, jakby nic się nie wydarzyło.
W przypadku jakiejś głupiej zmiany, która negatywnie wpływa na projekt, programista może wrócić do wcześniejszej wersji.
■ W fotografii każda zmiana, którą dokonuję na zdjęciach, jest przechowywana na zawsze w katalogu Lightroom , dzięki czemu w każdej chwili można przywrócić poprzedni stan. Dzięki funkcji wirtualnych kopii Lightroom umożliwia także wykonywanie kontroli nazywanej gałęzią kontroli wersji: testowanie czegoś innego i zachowanie obu wyników lub usunięcie jednego z nich później.
Katalog nie przechowuje samych zdjęć RAW, ale i tak się nie zmieniają.
■ W produkcji wideo rzeczy wyglądają inaczej. Pracuję z Premiere Pro, After Effects i Soundbooth.
Wydaje się, że żaden nie przechowuje historii na stałe: jeśli wykonam akcję przez pomyłkę i zauważę ją dopiero następnego dnia, nie ma możliwości odzyskania poprzedniej wersji.
Soundbooth zmienia również bezpośrednio pliki WAV, co wymaga dodatkowego wysiłku, aby oddzielić oryginalne nagrania od zmodyfikowanych.
Kontrola wersji jest rzadko wspominana i nie znalazłem nikogo, kto powiedziałby, w jaki sposób faktycznie używa kontroli wersji w swoim przepływie pracy. Ponadto nikt nie wspomina, która kontrola wersji powinna być używana, a ponieważ większość systemów kontroli wersji jest zoptymalizowana pod kątem plików tekstowych, a nie binarnych, stanowi to dodatkowe wyzwanie.
Mam więc dwa pytania:
Czy kontrola wersji ma udział w przepływie pracy osoby zajmującej się produkcją wideo? Jak to jest zintegrowane?
Czy migracja do Adobe Creative Cloud pomogłaby? Czy są jakieś szczególne funkcje, które pozwalają w Creative Cloud na śledzenie kolejnych wersji projektu Premiere Pro lub After Effects?
Uwaga: aby uniknąć odpowiedzi nie na temat, podkreślam, że moje pytanie nie ma związku z kopiami zapasowymi i dotyczy w szczególności przechowywania kolejnych wersji mojej pracy, a nie kopii zapasowej danych na miejscu lub poza nim.
źródło
git push
na serwerze zapasowym. (za pomocą innej metody śledzenia, którzy mistrzowie wideo współpracują z danym projektem, może sumy md5 plików źródłowych?)Wystarczy dodać do poprzednich odpowiedzi: Chociaż w świecie wideo nie ma nic takiego jak Git, istnieją narzędzia Digital Asset Management / Media Asset Management, które mogą mniej więcej zrobić to samo - kontrola wersji oraz zarządzanie uprawnieniami / użytkownikami (robią też o wiele więcej, ponieważ są one naprawdę zbudowane jako biblioteki dla multimediów). Przez lata korzystałem z aplikacji Final Cut Server firmy Apple (obecnie przestarzała), która zintegrowała się z pakietem Final Cut Suite (Final Cut Pro 7, Soundtrack Pro itp.) W małym zakładzie pocztowym.
Użyliśmy go do kontroli wersji i rozgałęziania plików projektu, co pozwoliło wielu redaktorom pracować nad jednym projektem stosunkowo bezproblemowo. Ponieważ był to produkt Apple, został zaprojektowany do użytku z Final Cut Pro, dzięki czemu mógł bardzo łatwo czytać i pracować z plikami projektu FCP. Nawet biorąc pod uwagę to, kontrola wersji Final Cut Server polegała na zapisywaniu poprzednich wersji całego pliku projektu, nie używała różnic. Nie znam żadnego RDN, który działałby z tego samego powodu, na który wskazywała już poprzednia odpowiedź - istnieje zbyt wiele zastrzeżonych formatów (choć, jak na ironię, wiele z nich polega teraz na XML jako szkielecie tych formatów plików projektu ). FCS był świetny, ponieważ był stosunkowo niedrogi. Nigdy nie było tak naprawdę nic analogicznego dla Premiere Pro. W dzisiejszych czasach, niestety, musisz wydać sporo zmian, aby uzyskać podobne możliwości - głównie dlatego, że te narzędzia są naprawdę zaprojektowane dla obiektów pocztowych, a nie dla jednego edytora. Wymagają również potencjalnie znaczącej integracji / konfiguracji. Oto kilka opcji (nie mam relacji z żadną z tych firm, jest to oparte wyłącznie na moich badaniach szukających podobnego rozwiązania):źródło
Kontrola wersji tak naprawdę nie ma tak dużego miejsca w edycji wideo, ponieważ z natury jest nieniszcząca. U podstaw każdego NLE (nieliniowego edytora wideo) wyjście jest tak naprawdę coś, co nazywane jest listą decyzji edycyjnych lub EDL. Jest to niezwykle analogiczne do historii w Lightroom, ponieważ historia ta jest zapisem wszystkich zmian, które zostały zastosowane w kolejności.
NLE działają z klipów źródłowych. Pobierają punkty początkowe i końcowe tych klipów, aby umieścić je na osi czasu, a następnie efekty można zastosować do tych zasobów w określonej kolejności (na podstawie rozmieszczenia efektów), jednak są to wszystkie decyzje edycyjne i są stosowane w locie ( lub ewentualnie renderowane do tymczasowych plików podglądu). Ostateczne renderowanie wyjściowe jest wynikiem zastosowania całego EDL do klipów źródłowych.
Możesz zapisać wersję projektu, aby móc wrócić do poprzedniej wersji EDL, jeśli chcesz, ale nie jest to na ogół potrzebne, chyba że bardzo celowo rozgałęziasz się, aby wypróbować alternatywne podejście do edycji sekwencji ( w takim przypadku kopia tej osi czasu jest często lepszym wyborem.)
źródło
Jeśli włączysz to w preferencjach After Effects i Premiere, automatycznie wykonuj przyrostowe zapisy plików projektu.
Te przyrostowe zapisy można wykorzystać do przywrócenia poprzednich wersji, co jest bardzo prostą implementacją kontroli wersji (możesz jednak chcieć zwiększyć liczbę wersji z 5). FCP ma wbudowaną funkcję „przywracania z poprzedniej wersji”, która jest dobra, gdy zmienia pliki projektu. Gdy efekty mają (ale Premiere nie ma, idź rysunek) możliwość przyrostowego zapisywania projektu. Korzystam z tego przez cały czas, gdy dokonuję dużych zmian w projekcie i chcę, aby tak powiem, wrócić do głównego pnia.
Aby uzyskać dodatkową kontrolę, możesz sobie wyobrazić, użyj oprogramowania do kontroli wersji do zarządzania folderami, w których przechowujesz pliki projektu i automatyczne zapisywanie, aby edytorzy sprawdzali bieżące cięcia i zatwierdzali zmiany, o ile wszystkie media były centralnie dostępne lub kopiowane na maszyny wszystkich w tej samej ścieżce względnej. Nie pozwoli ci to rozwidlać i łączyć edycji innych ludzi, tak jak możesz to zrobić z kodem - to byłaby interesująca funkcja (powiedziałbym, że można ją zaimplementować za pomocą skryptów extendscript firmy Adobe, o ile twoje umiejętności są do przepisywania Git lub SVN w JavaScript).
źródło
git mergetool
, aby móc scalać zatwierdzenia drzew zawierających zmodyfikowane pliki projektu.)Jako długoletni profesjonalista w dziedzinie wideo mogę potwierdzić, że w większości przepływów pracy w mediach brakuje potrzeby lekkiej, solidnej, przejrzystej i otwartej formy VCS. Problem jest jednak wieloaspektowy i ma charakter zarówno kulturowy, jak i techniczny.
Tradycyjnie pracujemy w fabryce kiełbasianej, w której projekt jest podświetlany od scenariusza, przechodzi do produkcji, po zapakowaniu przechodzi do postprodukcji, a następnie końcowa produkcja jest dostarczana do ramienia dystrybucyjnego, które następnie wydziela urządzenia / platformę .
W dzisiejszych czasach takie podejście fabryczne jest iluzją, gdzie dystans pomiędzy postprodukcją a dystrybucją nigdy nie jest jasny. Jest wiele tam iz powrotem, z cięciami / edycjami dla różnych języków / rynków, bez względu na to, że wracają i robią remastering dla najnowszego formatu, na przykład. Następnie istnieje potrzeba dostępu do ostatecznych wersji w celach marketingowych ... W rezultacie kluczową sprawą jest potrzeba nie tylko zdalnych podmiotów, ale osób, które mogą nigdy się nie spotkać, aby mieć skatalogowane, ostateczne zrozumienie wersji, nad którą muszą pracować. Dotyczy to nie tylko kodów głównych, ale wszystkich wersji tego wzorca dla różnych rynków, a także wersji zasobów, które zostały użyte do utworzenia każdego wzorca.
Dopiero teraz społeczność techników medialnych angażuje się w to, czym naprawdę jest wersja, i jest ona regularnie dyskutowana z powodu niezliczonych różnych przepływów pracy i problemów. Rozbijam go na wersję roboczą i dystrybucyjną. Istnieją starania, aby temu zaradzić w ramach dystrybucji poprzez utworzenie formatu pliku archiwum, który śledzi wersje w sobie (aby zwalczyć fakt, że istnieje wiele narzędzi, platform itp.) - nazywa się to Interoperable Master Format (MFW) - nie należy go mylić z bank) i jest kierowany przez SMPTE. Dobrą rzeczą jest to, że dąży do zapewnienia interoperacyjności między niezliczonymi cyfrowymi systemami zarządzania aktywami (tymi, które chcą go wspierać), które są tam - niektóre studia, które znam, mają systemy zarządzania aktywami, których jest setki - to by pomóż im wewnętrznie nie mówiąc już o zewnętrznych przekazaniach. Oczywiście nie był jeszcze używany w środowisku produkcyjnym, ponieważ jest zaprojektowany jako format na poziomie archiwum (Netflix teraz go wykorzystuje). Jest to również bardzo mocny plik, którego nie można łatwo utworzyć, chyba że masz kapitał niezbędny do zainwestowania w narzędzia. Netflix wydał zestaw narzędzi open source, który zapewnia dobrą umiejętność czytania. Jest to również bardzo mocny plik, którego nie można łatwo utworzyć, chyba że masz kapitał niezbędny do zainwestowania w narzędzia. Netflix wydał zestaw narzędzi open source, który zapewnia dobrą umiejętność czytania. Jest to również bardzo duży plik, którego nie można łatwo utworzyć, chyba że masz kapitał niezbędny do zainwestowania w narzędzia. Netflix wydał zestaw narzędzi open source, który zapewnia dobrą umiejętność czytania.
Jeśli chodzi o wersję roboczą lub produkcyjną, uważam, że istnieje potrzeba zapewnienia VCS (np. Zmodyfikowanej formy git), z której każdy może korzystać bez względu na to, jak duży lub mały, aby ułatwić zdalną pracę. Pliki multimedialne są oczywiście znacznie większe niż wymiana kodu lub bibliotek, ale decyzje podejmowane na tych plikach są kluczowym elementem. Chciałbym na przykład przetestować pracę zdalną za pomocą git commits, aby choćby uniknąć konwencji nazewnictwa konwencji nazewnictwa „file_Final_FINAL_MASTER_version3.mxf”, które są zamieniane tam iz powrotem.
źródło
Miałem to samo pytanie, będąc z zawodu inżynierem oprogramowania, myśląc o pracy w Photoshopie.
Odkryłem, że Photoshop pozwala mi ustawić nazwaną wersję w historii i myślę, że jest zapisana w pliku ...? W przypadku rewizji (wpisów na liście historii), które nie są nazwane, węzły są usuwane z wyświetlacza, gdy edycja jest wprowadzana w poprzednim miejscu (rozgałęzienie) i nie jest widoczny żaden rejestr rejestracyjny.
Wydaje się, że nowe wersje Premiere mają podobny dziennik historii i wydaje mi się, że ewoluują w kierunku tej samej architektury wewnętrznej, gdzie każda zmiana jest kolejną kopią projektu, który ma większość statystyk z poprzedniego. Jeśli historia ma zapisane punkty kontrolne, to jest bardzo podobne do sklepu git: każda wersja zawiera (współdzielone) odniesienia do podstawowych elementów aż do definicji Segmentu. Ponieważ sam plik wideo nie znajduje się w pliku, dobrze nadaje się do rozwijania coraz większej liczby wersji przy niewielkim wzroście wielkości.
Widziałem seminarium, w którym ktoś z zespołu programistów Photoshopa wyjaśnił architekturę. Wygląda na to, że wpisy historii, które widzisz, są analogiczne do wersji git, takich jak ekrany gitk. Nazwanie wersji jest takie samo jak tag git. Można przywrócić do jakichkolwiek widocznych rewizji przez wskazujące na to, i przywrócić z powrotem też. Ale dokonanie każdej zmiany, która sama została wprowadzona do historii, jest jak pełne odświeżenie (shift lub ctrl F5) - tracisz wszystko, co nie jest powiązane łańcuchem z bieżącego nagłówka gałęzi lub nazwanego tagu (ale myślę, że wciąż istnieją odwołania do źródeł klonowania wskaż teraz niewidzialną wersję).
Ale to nie to, co piszę, aby zasugerować. Ustawiam wolumin NAS, w którym znajduje się mój projekt, aby zrobić migawkę co 3 godziny. Windows ma mechanizm punktu kontrolnego, ale myślę, że nie można go konfigurować; Mac Time Machine robi coś podobnego.
Ogólnie rzecz biorąc, możesz archiwizować wszystkie zapisane wersje pliku , aw programie Premiere, który nie zawiera wszystkich zaimportowanych (stałych) zasobów, więc rozsądne jest zapisanie ich wszystkich, nawet bez możliwości użycia delt do zapisania tylko tego, co się zmieniło.
Po prostu ponownie uczę się Premiere i staję się bardziej agresywny w próbach. Jestem pewien, że mogę wrócić, jeśli następnym razem będę nad tym pracować, żałuję tego, co zrobiłem, lub znalazłem lepszy sposób i chcę to zrobić ponownie. To skuteczny system wersjonowania wersji. Robiąc to na NAS, jestem również chroniony przed BSOD niszczącym cały projekt podczas zapisywania. :)
aktualizacja historii jest krótka, domyślnie 32 wpisy. Jest pusty, gdy projekt jest ładowany. Jednak automatyczne zapisywanie nie tylko zapisuje ten sam plik, co widzimy w większości programów; raczej je numeruje i zachowuje. Widzę więc znaczniki czasu pliku i ładuję starszą kopię, co daje mi historię wersji 15-minutowych punktów kontrolnych. W moim przypadku każdy plik ma wielkość 44 KB, co jest niczym w porównaniu z wielkością zasobu - ma rozmiar 76 milisekund dźwięku lub 1/7 klatki materiału karty SD klasy 10 .
Jeśli masz na uwadze obecność punktu kontrolnego o sensownej nazwie, po prostu zapisz kopię jako. Ale autozapis, ustawiony na wysoką częstotliwość, może być użyty do powrotu do dowolnego stanu (do tego czasu ziarnistości) bez wcześniejszego planowania, przy niewielkim wysiłku.
Uwaga dla nieinżynierów, którzy nie są zaznajomieni z kontrolą wersji: Oprócz możliwości oczywistego cofania się do pracy, często używam jej również do sprawdzania, co właśnie zmieniłem, lub do porównania stanu przed rozpoczęciem bieżącego zadania lub porównaj z ostatnim użytkownikiem, który został udostępniony grupie.
Ponieważ Premeire obsługuje teraz otwieranie wielu projektów w obszarze roboczym, byłoby możliwe ustawienie ustawienia obszaru roboczego układu okna do porównywania dwóch osi czasu. Oznacza to, uczynić bardziej efektywne wykorzystanie posiadające te wersje nie tylko dla kopii zapasowej. Często mówię programistom, którzy nie używają git, w jaki sposób staje się narzędziem ogólnego przeznaczenia, takim jak edytor tekstu.
Zastanawiam się, jak profesjonalni filmowcy zajmują się kontrolą wersji, jeśli jest to coś więcej niż ad-hoc? Projekt automatycznego zapisywania wydaje się dość celowy, a zintegrowane narzędzie do pracy grupowej do pisania skryptów ma wyraźne widoczne śledzenie zmian.
źródło
Kontrola wersji samych plików wideo jest niepraktyczna, ponieważ po pierwsze są ogromne, po drugie się poruszają (czy zachowasz każdą klatkę?), Po trzecie, są niezmienne. Oznacza to, że oryginalne pliki nigdy się nie zmieniają podczas edycji.
Kontrola wersji plików projektów ma jednak sens. Obecnie po każdej znaczącej zmianie tworzę nowy plik projektu i nadaję mu opisową nazwę - co zrobiłem, co dodałem i co usunąłem. Zasadniczo muszę ręcznie utrzymywać historię za pomocą nazw plików. Kontrolowanie wersji plików projektu to świetny pomysł, dlaczego wcześniej o tym nie myślałem!
źródło