Czy kontrola wersji ma wpływ na proces produkcji wideo?


20

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:

  1. W przypadku awarii, gdy stracisz wszystko oprócz repozytorium kontroli wersji, powinieneś być w stanie kontynuować, jakby nic się nie wydarzyło.

  2. 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.

  • Video.SE nie ma znaczników ani .

Mam więc dwa pytania:

  1. Czy kontrola wersji ma udział w przepływie pracy osoby zajmującej się produkcją wideo? Jak to jest zintegrowane?

  2. 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.

Odpowiedzi:


10

Kontrola wersji w znaczeniu Git nie jest zbyt praktyczna w świecie wideo. Będziesz musiał stworzyć specjalne narzędzie kontroli wersji dla każdego narzędzia audio i wideo, ponieważ wszystkie pracują z własnymi formatami projektu. Ale umiejętność czytania tych formatów to tylko jedna rzecz, a także silnik renderowania tego narzędzia, aby pokazać różnice.

Chociaż wszystkie te narzędzia działają w sposób nieniszczący, chyba że wstępnie renderujesz jakieś rzeczy (porównaj to do kompilowania biblioteki dll / lib fragmentu kodu i pracuj z tym od teraz), więc zwykle możesz po prostu wrócić do starej wersji, wykonując ctrl + z lub używając narzędzia historii w niektórych programach.

Chociaż zapisywanie wersji podrzędnych jest zwykle dobrym rozwiązaniem. Jak stib opisany w odpowiedzi lub robiąc to ręcznie.

Coś, co lubię robić i działa dobrze z każdym oprogramowaniem, umieszcza moje pliki projektu (bez materiału źródłowego) w Dropbox. Jeśli masz dość dużą prędkość przesyłania (~ 1 Mbit / s), a plik projektu nie ma 100 MB +, możesz przesłać swój projekt przed zapisaniem następnym razem. Przeciętny projekt Premiere / AE / FCP wynosi około 10-20 MB, więc ostatnio zapisane pliki zostaną przesłane w ciągu 1-2 minut. Jeszcze szybciej, jeśli masz większą przepustowość przesyłania.

Następnie, jeśli musisz wrócić, możesz uzyskać dostęp do historii plików Dropbox i pobrać lub przywrócić tę wersję. Dropbox zapisuje wersje pliku na zawsze * na koncie płatnym (* przynajmniej wtedy, gdy mieli opcję rat pack, teraz jest to chyba rok) i przez 30 dni na bezpłatnym koncie. Jestem pewien, że istnieją inne podmioty świadczące usługi w chmurze, które oferują podobne funkcje. To trochę tak, jakby używać bardzo ograniczonej wersji git, która bardzo dobrze radzi sobie z plikami binarnymi i jest wolna od bólu głowy. Ma to tę zaletę, że nie zaśmiecasz folderu mnóstwem plików i jednocześnie masz kopię zapasową.

Większość dostawców hostingu w chmurze oferuje również członkostwo zespołu, dzięki czemu możesz pracować z wieloma edytorami. Lub możesz udostępnić folder projektu innym członkom zespołu.


Dropbox przechowuje wersje plików na zawsze? Co jeśli masz plik wideo o pojemności 5 GB z 800 wersjami?
Pacerier

Trochę zredagowałem odpowiedź. W przypadku starej opcji Rat Rat był to na zawsze teraz, teraz jest rok, i tak, możesz robić to, co właśnie opisałeś, ale tak jak napisałem w mojej odpowiedzi, nie umieszczaj tam plików źródłowych (np. Wideo / obrazu / audio), tylko twoje pliki projektu. Chyba że masz połączenie gigabitowe, co byłoby bardzo niepraktyczne, aby zachować wersje zmieniania plików źródłowych lub renderowania.
PTS

1
Potrzebujesz tylko swojego VCS, aby zrozumieć formaty, jeśli potrzebujesz różnic. To trochę za dużo.
Peter Cordes,

1
Możesz więc łatwo kontrolować wersję swoich plików projektu, ponieważ 10-20 MB danych binarnych nie stanowi problemu dla git. Musisz tylko napisać przydatne komunikaty zatwierdzenia, aby opisać stan, w jakim znajdował się plik składowania, gdy go zatwierdziłeś. Jeśli masz szczęście, małe zmiany edycji często nie zmieniają większości bitów w pliku projektu, a kompresja delta gita zużywa o wiele mniej niż pełne 10 MB na każde zatwierdzenie. Dzięki temu kopie zapasowe są tak proste, jak git pushna 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?)
Peter Cordes,

Cóż, jest to idealny przypadek, jeśli twój projekt kończy się większym plikiem projektu, po prostu nie możesz przesyłać wersji tak często, w zależności od połączenia. Oprogramowanie do przechowywania w chmurze skaluje się idealnie, git w końcu wpadnie w kłopoty. Przekazywanie wiadomości to zdecydowanie plus dla git.
PTS

6

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):


5

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.)


Co rozumiesz przez „nieniszczące” i NLE?
Pacerier

NLE to edytor nieliniowy (nazwa techniczna większości programów do edycji wideo). Nieniszczące oznacza, że ​​zmiany nie powodują zniszczenia zasobów. Tworzy listę zmian, które należy wprowadzić, co jest w zasadzie tym samym, co robi kontrola wersji. Wprowadzanie zmian w kodzie jest destrukcyjne, ponieważ nowe zmiany niszczą stare. Dzięki NLE wszystkie Twoje zasoby pozostają niezmienione, a Ty po prostu modyfikujesz listę sekcji do użycia i filtry do zastosowania.
AJ Henderson

Czy masz na myśli, że możemy powiedzieć programowi do edycji wideo „powrót do wersji 2.5”, edytować abit, a następnie powiedzieć „przywrócić do wersji 7” i jest w stanie to zrobić?
Pacerier

1
Nie, on oznacza, że ​​zawsze masz swój główny film. Zakłada się, że odtwarzanie wcześniejszych efektów / cięć nie jest trudne, lub zapisywanie plików projektów za pomocą VCS byłoby więcej pracy niż tylko ponowne wprowadzanie decyzji o edycji. Jeśli tak nie jest, upewnij się, że wersja kontroluje pliki projektu. Chociaż bez możliwości scalania zmian z różnych gałęzi, prawdopodobnie bardziej użyteczne jest zapisanie dokładnych numerów ramek, które zajęły dużo czasu, zanim okazało się, że to odpowiednie miejsce na cięcie lub coś takiego.
Peter Cordes,

3

Jeśli włączysz to w preferencjach After Effects i Premiere, automatycznie wykonuj przyrostowe zapisy plików projektu. preferencje automatycznego zapisywania

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).


1
tak, aby różnicować i scalać, albo twój VCS musi zrozumieć pliki składowania twojego NLE, albo NLE musi zapewnić różnicę / scalenie. (np. biorąc pod uwagę program, który może scalać zmiany w pliku projektu, biorąc pod uwagę wspólnego przodka, myślę, że można skonfigurować git, aby go używał git mergetool, aby móc scalać zatwierdzenia drzew zawierających zmodyfikowane pliki projektu.)
Peter Cordes

Można użyć rozszerzenia do zapisania bieżącego projektu poprzez pobranie wszystkich właściwości wszystkich elementów projektu i zapisanie danych w pliku. Ale nawet w przypadku średnio dużego projektu, który może zająć dużo czasu. Jeśli to zrobisz, możesz zbudować system kontroli wersji.
stib

3

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.


2

Miałem to samo pytanie, będąc z zawodu inżynierem oprogramowania, myśląc o pracy w Photoshopie.

możemy powiedzieć programowi do edycji wideo „przywróć do wersji 2.5”, poddać go edycji, a następnie powiedzieć „przywrócić do wersji 7” i jest w stanie to zrobić?

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.


0

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!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.