Принимает ли участие управление версиями в процессе производства видео?

20

Я разработчик программного обеспечения, и я также интересуюсь фотографией (в течение четырех лет) и производством видео (только в течение нескольких месяцев).

■ При разработке программного обеспечения существует важное правило, которое следует каждому разработчику для каждого проекта: все должно находиться под контролем версий : исходный код, файлы конфигурации, схема базы данных, документация - все, что позволяет создавать проект с нуля. Это имеет два приятных последствия:

  1. В случае аварии, когда вы потеряете все, кроме хранилища управления версиями, вы сможете продолжить, как будто ничего не произошло.

  2. В случае каких-то глупых изменений, которые негативно влияют на проект, разработчик может вернуться к более ранней версии.

■ В фотографии все изменения, которые я вносил в фотографии, навсегда сохраняются в каталоге Lightroom , что позволяет в любой момент вернуться к предыдущему состоянию. Благодаря функции виртуальных копий Lightroom также позволяет выполнять так называемую ветвь в управлении версиями: возможность тестировать что-то другое, а также сохранять оба результата или удалять один из них позже.

В каталоге не хранятся фотографии RAW, но они все равно не меняются.

■ В производстве видео все выглядит иначе. Я работаю с Premiere Pro, After Effects и Soundbooth.

  • Похоже, что никто не хранит историю навсегда: если я совершу действие по ошибке и замечу его только на следующий день, восстановить предыдущую версию невозможно.

  • Soundbooth также напрямую изменяет файлы WAV, что требует дополнительных усилий, чтобы отделить оригинальные записи от измененных.

  • Контроль версий редко упоминается, и я не нашел никого, кто бы рассказывал, как он на самом деле использует контроль версий в своем рабочем процессе. Более того, никто не упоминает, какой контроль версий следует использовать, и, поскольку большинство систем контроля версий оптимизированы для текстовых, а не двоичных файлов, это создает дополнительную проблему.

  • Video.SE не имеет тегов или .

Итак, у меня есть два вопроса:

  1. Влияет ли управление версиями на рабочий процесс человека, который работает с видео? Как это интегрировано?

  2. Поможет ли переход на Adobe Creative Cloud? Существуют ли особые функции, которые позволяют в Creative Cloud отслеживать последовательные изменения проекта Premiere Pro или After Effects?

Замечание: чтобы избежать не по теме ответов, я подчеркиваю, что мой вопрос не связан с резервными копиями , а именно о хранении последовательных ревизий моей работы, а не о резервном копировании данных на месте / за пределами площадки.

Арсений Мурзенко
источник

Ответы:

10

Контроль версий в смысле Git не очень практичен в мире видео. Вам потребуется создать специальный инструмент контроля версий для каждого аудио и видео инструмента, поскольку все они работают со своими собственными форматами проектов. Но способность читать эти форматы - это всего лишь одно, тогда вам также нужен механизм рендеринга этого инструмента для отображения различий.

Хотя все эти инструменты работают неразрушающим образом, если вы предварительно не визуализируете некоторые вещи (сравните это с компиляцией dll / lib части вашего кода и работайте с этим с этого момента), так что вы обычно можете просто вернуться назад до старой ревизии, выполнив ctrl + z или используя инструмент истории в некоторых программах.

Хотя сохранение суб-версий, как правило, путь. Вроде бы стиб, описанный в его ответе или сделав это вручную.

Что-то, что мне нравится делать и хорошо работает с каждым программным обеспечением, - это помещать файлы моего проекта (без исходного материала) в Dropbox. Если у вас довольно высокая скорость загрузки (~ 1 Мбит / с), а размер файла вашего проекта не превышает 100 МБ +, вы можете загрузить свой проект перед сохранением в следующий раз. Средний размер проекта Premiere / AE / FCP составляет около 10-20 МБ, поэтому недавно сохраненные файлы будут загружены в течение 1-2 минут. Даже быстрее, если у вас больше пропускной способности.

Затем, если вам нужно вернуться, вы можете получить доступ к истории файлов Dropbox и загрузить или восстановить эту версию. Dropbox навсегда сохраняет ревизии файлов * на платном аккаунте (* по крайней мере, когда у них была опция pack rat, теперь это год, я думаю) и в течение 30 дней на бесплатном аккаунте. Я уверен, что есть другие облачные хостеры, которые предлагают аналогичные функции. Это немного похоже на использование супер-ограниченной версии git, которая очень хорошо обрабатывает двоичные файлы и не вызывает головной боли. Преимущество этого заключается в том, что вы не загромождаете папку тоннами файлов и одновременно создаете резервную копию.

Большинство облачных хостеров также предлагают групповое членство, чтобы вы могли работать с несколькими редакторами. Или вы делитесь папкой проекта с другими членами команды.

ПТС
источник
Dropbox хранит ревизии файлов навсегда? Тогда что, если у вас есть 5 ГБ видеофайл с 800 ревизиями?
Pacerier
Я немного отредактировал ответ. При использовании старой опции pack rat это был действительно навсегда, теперь это год, и да, вы можете делать то, что только что описали, но, как я написал в своем ответе, не помещайте туда исходные файлы (например, видео / изображения / аудио), только ваши файлы проекта. Если у вас нет гигабитного соединения, было бы очень непрактично хранить версии с изменением исходного кода или файлов рендеринга.
PTS
1
Вам нужна только ваша VCS, чтобы понимать форматы, если вам нужны различия. Это много чего ожидать.
Питер Кордес
1
Таким образом, вы можете легко управлять версиями файлов вашего проекта, так как 10-20 МБ двоичных данных не проблема для git. Вам просто нужно написать полезные коммит-сообщения, чтобы описать, в каком состоянии был ваш файл сохранения, когда вы его фиксировали. Если вам повезет, то небольшие изменения в редактировании часто не изменяют большую часть битов в файле проекта, и дельта-сжатие git будет использовать намного меньше, чем полные 10 МБ для каждого коммита. И тогда резервное копирование так же просто, как git pushна ваш сервер резервного копирования. (каким-то другим методом для отслеживания того, какие видео-мастера идут с каким проектом, может быть, md5sums исходных файлов?)
Peter Cordes
Что ж, это идеальный случай, если ваш проект заканчивается файлом большего размера, вы просто не можете загружать ревизии так часто, в зависимости от вашего соединения. Программное обеспечение облачного хранилища отлично масштабируется, в итоге у git возникнут проблемы. Сообщения коммитов, безусловно, плюс для git.
PTS
6

Просто чтобы добавить к предыдущим ответам: хотя для видео мира нет ничего похожего на Git, существуют инструменты управления цифровыми активами / управления мультимедийными активами, которые могут более или менее выполнять одно и то же - контроль версий и управление разрешениями / пользователями (они также намного больше, поскольку они действительно созданы как библиотеки для ваших медиа). В течение многих лет я использовал приложение Apple Final Cut Server (ныне устаревшее), которое интегрировалось с Final Cut Suite (Final Cut Pro 7, Soundtrack Pro и т. Д.) В небольшом почтовом отделении.

Мы использовали его для контроля версий и ветвления файлов проекта, что позволило нескольким редакторам работать над одним проектом относительно легко. Поскольку это был продукт Apple, он был разработан для использования с Final Cut Pro и поэтому мог очень легко читать и работать с файлами проекта FCP. Даже учитывая это, контроль версий Final Cut Server полагался на сохранение предыдущих версий всего файла проекта, он не использовал diffs. Я не знаю ни одного DAM, который бы делал по той же причине, на которую уже указывал предыдущий ответ - слишком много проприетарных форматов (хотя, по иронии судьбы, многие из них теперь полагаются на XML в качестве основы для этих форматов файлов проекта). ).

FCS был великолепен, потому что он был относительно доступным. У Premiere Pro никогда не было ничего похожего на Premiere Pro. В настоящее время, к сожалению, вам нужно будет внести много изменений, чтобы получить аналогичные возможности - в основном потому, что эти инструменты действительно предназначены для почтовых служб, а не для одного редактора. Они также требуют потенциально значительной интеграции / настройки.

Вот несколько вариантов (я не имею отношения ни с одной из этих компаний, это основано исключительно на моих исследованиях в поисках аналогичного решения):

мистифицировать
источник
5

Контроль версий на самом деле не так важен для редактирования видео, потому что он по своей природе неразрушающий. В основе любого NLE (нелинейного видеоредактора) на самом деле выводится нечто, известное как Editing Decision List или EDL. Это очень похоже на историю в Lightroom, так как эта история - запись всех изменений, которые были применены в порядке.

NLEs работают из исходных клипов. Они размещают начальную и конечную точки этих клипов, чтобы поместить их во временную шкалу, и затем эффекты могут применяться к этим активам в заданном порядке (на основе размещения эффектов), однако все они являются решениями по редактированию и применяются на лету ( или, возможно, выдается во временные файлы предварительного просмотра). Окончательный результат рендеринга является результатом применения всего EDL к исходным клипам.

Вы можете сохранить версию проекта, чтобы иметь возможность вернуться к предыдущей версии EDL, если вы хотите, но это обычно не требуется, если вы не намеренно переходите к альтернативному подходу к редактированию последовательности ( в этом случае копия этого графика часто является лучшим выбором.)

А. Дж. Хендерсон
источник
Что вы подразумеваете под «неразрушающий» и NLE здесь?
Pacerier
NLE - это нелинейный редактор (техническое название для большинства программ для редактирования видео). Неразрушающий означает, что изменения не приводят к уничтожению активов. Он формирует список изменений, которые нужно сделать, что по сути то же самое, что и контроль версий. Когда вы вносите изменения в код, это разрушительно, потому что ваши новые изменения разрушают ваши старые. С NLE все ваши активы остаются неизменными, и вы просто изменяете список используемых разделов и применяемые фильтры.
AJ Henderson
Итак, вы имеете в виду, что мы можем сказать программе редактирования видео «вернуться к версии 2.5», отредактировать abit, а затем сказать ей «вернуться к версии 7», и она способна это сделать?
Pacerier
1
Нет, он имеет в виду, что у тебя всегда есть мастер-видео. Предполагается, что воспроизвести эффекты / сокращения, которые вы имели ранее, не сложно, или что сохранение файлов проектов с помощью VCS будет более трудоемким, чем повторный ввод решений о редактировании. Если это не так, тогда верный контроль версий файлов вашего проекта. Хотя без возможности объединять изменения из разных ветвей, вероятно, более полезно просто записать любые точные номера кадров, которые вам понадобились много времени, чтобы выяснить, было ли подходящее место для вырезки или чего-то еще.
Питер Кордес
3

Если вы включите его в настройках After Effects и Premiere, автоматически сделайте постепенное сохранение файлов проекта. автосохранение настроек

Эти инкрементные сохранения можно использовать для возврата к предыдущим версиям, что похоже на базовую реализацию контроля версий (хотя вы можете увеличить количество версий с 5). В FCP встроена функция «восстановление из предыдущей версии», которая удобна для работы с файлами вашего проекта. После того, как эффекты имеют (но у Premiere нет, иди на цифру) возможность постепенного сохранения проекта. Я использую это все время, когда я делаю большие изменения в проекте, и хочу иметь возможность вернуться, так сказать, к основному стволу.

Для дополнительного контроля, вы могли бы себе представить, используйте программное обеспечение для контроля версий для управления папками, в которых вы храните файлы проекта и автоматически сохраняете, чтобы редакторы извлекали текущие обрезки и фиксировали изменения, пока все носители были централизованно доступны или скопированы на машины каждого в том же относительном пути. Это не позволит вам раскошелиться и объединить правки других людей, как вы можете с кодом - это было бы интересной особенностью (я бы сказал, что это может быть реализовано с помощью сценариев extendscript Adobe, если ваши навыки до переписывания Git или SVN в Javascript).

STIB
источник
1
да, для сравнения и слияния, либо ваша VCS должна понимать файлы сохранения вашего NLE, либо NLE должна предоставлять diff / merge. (Например, учитывая программу, которая может объединять изменения в файле проекта, имея общего предка, я думаю, что вы можете настроить git для его использования git mergetool, чтобы иметь возможность объединять коммиты деревьев, содержащих измененные файлы проекта.)
Питер Кордес
Возможно, вы могли бы использовать extendscript, чтобы «сохранить» текущий проект, получив все свойства всех элементов проекта и сохранив данные в файл. Но даже для умеренно крупного проекта, который может занять много времени. Если бы вы сделали это, вы могли бы построить систему контроля версий.
STIB
3

Как долгосрочный профессионал в области видео, я могу засвидетельствовать тот факт, что в большинстве рабочих процессов мультимедиа остро не хватает необходимости в легкой, надежной, прозрачной и открытой форме VCS. Проблема, однако, многогранна и носит не только технический, но и культурный характер.

Традиционно мы работали в колбасной фабрике, как проект, где проект «зеленым» из сценария, перемещается в производство, после упаковки он отправляется в постпродакшн, а затем окончательный результат доставляется в распределительное устройство, которое затем выводит выходные данные устройства / платформы. ,

В настоящее время подобный фабрике подход является иллюзией, когда переход между постпроизводством и дистрибуцией, в частности, никогда не ясен. Существует множество публикаций о разных языках / рынках, которые можно использовать для ревизии и редактирования, например, для последнего формата. Затем возникает необходимость доступа к окончательным версиям в маркетинговых целях ... В результате ключевой является необходимость не только удаленных сторон, но и людей, которые могут никогда не встретиться, иметь каталогизированное, окончательное понимание того, над какой версией им нужно работать. Это распространяется не только на основные кодировки, но и на все версии этого мастера для разных рынков, а также на версии ресурсов, которые использовались для создания каждого мастера.

Только сейчас медиа-сообщество занимается тем, что на самом деле является версией, и ее регулярно обсуждают из-за множества различных рабочих процессов и проблем. Я делю это на рабочую и дистрибутивную версию. Предпринимаются попытки исправить это в рамках дистрибутива путем создания формата файла архива, который отслеживает версии внутри себя (для борьбы с тем фактом, что существует множество инструментов, платформ и т. Д.) - это называется Interoperable Master Format (IMF) - его не следует путать с банк) и управляется через SMPTE. Хорошая вещь об этом заключается в том, что она движется, чтобы обеспечить совместимость между бесчисленным количеством цифровых систем управления активами (тех, которые хотят поддержать его), которые существуют - некоторые известные мне студии имеют системы управления активами, которые исчисляются сотнями - это будет помочь им внутренне, не говоря уже о внешних передачах. Конечно, он еще не использовался в производственной среде, поскольку он выглядит как формат уровня архива (теперь Netflix использует его). Это также очень здоровенный файл без простого способа его создания, если у вас нет необходимого капитала для инвестирования в инструменты. Netflix действительно выпустил набор инструментов с открытым исходным кодом, который обеспечивает способность чтения, что приятно. Это также очень здоровенный файл без простого способа его создания, если у вас нет необходимого капитала для инвестирования в инструменты. Netflix действительно выпустил набор инструментов с открытым исходным кодом, который обеспечивает способность чтения, что приятно. Это также очень здоровенный файл без простого способа его создания, если у вас нет необходимого капитала для инвестирования в инструменты. Netflix действительно выпустил набор инструментов с открытым исходным кодом, который обеспечивает способность чтения, что приятно.

Рабочая версия или производственный уровень, я чувствую, что есть необходимость предоставить VCS (например, модифицированную форму git), которую может использовать каждый, независимо от его размера или размера, для облегчения удаленной работы. Медиа-файлы, конечно, намного больше, чем обмен кодами или библиотеками, но решения, принимаемые по этим файлам, являются ключевым компонентом. Я, например, хотел бы протестировать работу удаленно с помощью git commitits хотя бы для того, чтобы избежать соглашений об именах 'file_Final_FINAL_MASTER_version3.mxf' соглашений об именах, которые меняются местами взад-вперед.

sseraphimm
источник
2

У меня был тот же вопрос, я также работал инженером-программистом и думал о работе в фотошопе.

мы можем сказать программе редактирования видео «вернуться к версии 2.5», немного отредактировать, а затем сказать «вернуться к версии 7», и она способна это сделать?

Я обнаружил, что Photoshop позволяет мне устанавливать именованную версию в истории, и я думаю, что она сохраняется в файле ...? Для ревизий (записей в списке истории), которые не названы, узлы теряются с дисплея, когда редактирование выполняется в предыдущее место (ветвление), и рефлог не выставляется.

Новые версии Premiere, похоже, имеют похожий журнал истории, и я полагаю, что он развивается в направлении той же внутренней архитектуры, где каждое изменение является еще одной копией проекта, которая разделяет большую часть статутов с предыдущими. Если в истории есть сохраненные контрольные точки, это очень похоже на git store: каждая версия содержит (общие) ссылки на базовые элементы вплоть до определений сегмента. Поскольку самого видео нет в файле, оно хорошо подходит для увеличения числа версий с небольшим увеличением размера.

Я видел семинар, где кто-то из команды разработчиков Photoshop объяснил архитектуру. Похоже, что записи истории, которые вы видите, аналогичны git-версиям, например, отображает gitk. Наименование версии совпадает с тегом git. Вы можете сбросить любую видимую ревизию, указав на нее, а также сбросить обратно . Но любое изменение, внесенное в историю, похоже на полное обновление (shift или ctrl F5) - вы теряете все, что не связано с текущим заголовком ветви или именованным тегом (но я думаю, что такие вещи, как ссылки на источник-клон, все еще указать на невидимую версию).

Но это не то, что я пишу, чтобы предложить. Я установил громкость NAS, где находится мой проект, чтобы делать снимок каждые 3 часа. В Windows есть механизм контрольных точек, но я думаю, что он не настраивается; Mac Time Machine делает нечто подобное.

Как правило, вы можете заархивировать все сохраненные версии файла и в Premiere, который не содержит всех импортированных (постоянных) активов, поэтому разумно сохранить их все, даже не имея возможности использовать дельты для сохранения только того, что изменилось.

Просто переучив Premiere и становясь более агрессивным в испытаниях, я уверен, что смогу вернуться, если в следующий раз, когда я над ним работаю, я сожалею о том, что сделал, или нашел лучший способ и хочу сделать это снова. Это эффективная система контроля версий. Делая это на NAS, я также защищен от BSOD, разрушающего весь проект при сохранении. :)

Обновление истории короткое, по умолчанию 32 записи. Он пуст при загрузке проекта. Однако автосохранение не просто сохраняет тот же файл, который мы видим в большинстве программ; скорее это нумерует их и сохраняет их. Итак, я могу видеть временные метки файла и загружать более старую копию, что дает мне историю версий с 15-минутными контрольными точками. В моем случае каждый файл имеет размер 44 КБ , что ничто по сравнению с размером ресурса - это размер аудиоинформации 76 миллисекунд или 1/7 кадра кадра SD-карты класса 10 .

Если вы хотите сохранить контрольную точку со значимым именем, просто сохраните копию как. Но автосохранение, настроенное на высокую частоту, может быть использовано для повторного посещения любого состояния (до этого времени гранулярности) без предварительного планирования, без особых усилий.

Примечание для тех неинженеров, которые не знакомы с управлением версиями: Помимо возможности отследить вашу работу очевидным способом, я также часто использую ее, чтобы проверить, что я только что изменил, или сравнить с состоянием перед началом текущей задачи. или сравните с последней версоном, которой поделились с группой.

Поскольку Premeire теперь поддерживает открытие нескольких проектов в рабочей области, было бы целесообразно иметь настройку рабочей области расположения окон для сравнения двух временных шкал. То есть, сделать более эффективное использование имеющего эти версии, а не только для резервного копирования. Я часто говорю программистам, которые не используют git, как он становится инструментом общего назначения, таким как текстовый редактор.

Интересно, как профессиональные кинематографисты справляются с управлением версиями, если что-то большее, чем ad-hoc? Дизайн автосохранения кажется довольно целенаправленным, а встроенный инструмент групповой работы по написанию сценариев имеет явное видимое отслеживание изменений.

JDługosz
источник
0

Наличие контроля версий для самих видеофайлов нецелесообразно, потому что, во-первых, они огромные, во-вторых, они перемещаются (вы собираетесь сохранить каждый кадр?), В-третьих, они неизменны. То есть исходные файлы никогда не меняются при редактировании.

Но контроль версий файлов проекта имеет большой смысл. В настоящее время после каждого существенного изменения я создаю новый файл проекта и даю ему некоторое описательное имя - что я делал, что я добавил и что я удалил. По сути, мне приходится вести историю вручную с помощью имен файлов. Наличие файлов проекта под контролем версий - отличная идея, почему я раньше об этом не думал!

Расти ядро
источник