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


18

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

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

  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, которая очень хорошо обрабатывает двоичные файлы и не вызывает головной боли. Это имеет то преимущество, что вы не загромождаете папку тонны файлов и имеют резервную копию одновременно.

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

  0

Dropbox хранит ревизии файлов навсегда?Тогда что, если у вас есть 5 ГБ видеофайл с 800 ревизиями? 22 окт. 142014-10-22 07:08:05

  0

Я немного отредактировал ответ.При использовании старой опции pack rat это был действительно навсегда, теперь это год, и да, вы можете делать то, что только что описали, но, как я написал в своем ответе, не помещайте туда исходные файлы (например, видео/изображения/аудио), только ваши файлы проекта.Если у вас нет гигабитного соединения, было бы очень непрактично хранить версии с изменением исходного кода или файлов рендеринга. 22 окт. 142014-10-22 13:59:19

+1

Вам нужна только ваша VCS, чтобы понимать форматы, если вам нужны различия.Это много чего ожидать. 07 мар. 152015-03-07 21:39:27

+1

Таким образом, вы можете легко управлять версиями файлов вашего проекта, так как 10-20 МБ двоичных данных не проблема для git.Вам просто нужно написать полезные коммит-сообщения, чтобы описать, в каком состоянии был ваш файл сохранения, когда вы его фиксировали.Если вам повезет, то небольшие изменения в редактировании часто не изменяют большую часть битов в файле проекта, и дельта-сжатие git будет использовать намного меньше, чем полные 10 МБ для каждого коммита.И тогда резервное копирование так же просто, как 'git push' на ваш сервер резервного копирования.(каким-то другим методом для отслеживания того, какие видео-мастера идут с каким проектом, может быть md5sums исходных файлов?) 07 мар. 152015-03-07 21:43:38

  0

Что ж, это идеальный случай, если ваш проект заканчивается файлом большего размера, вы просто не можете загружать ревизии так часто, в зависимости от вашего соединения.Программное обеспечение облачного хранилища отлично масштабируется, git в конечном итоге столкнется с проблемами. Однако, сообщения коммитов, безусловно, являются плюсом для git. 07 мар. 152015-03-07 22:31:26


5

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

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

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

  0

Что вы подразумеваете под «неразрушающий» и NLE здесь? 22 окт. 142014-10-22 07:09:16

  0

NLE - это нелинейный редактор (техническое название для большинства программ для редактирования видео). Неразрушающий означает, что изменения не приводят к уничтожению активов.Он формирует список изменений, которые нужно сделать, что по сути то же самое, что и контроль версий.Когда вы вносите изменения в код, это разрушительно, потому что ваши новые изменения разрушают ваши старые.С NLE все ваши активы остаются неизменными, и вы просто изменяете список используемых разделов и применяемые фильтры. 22 окт. 142014-10-22 13:30:52

  0

Итак, вы имеете в виду, что мы можем сказать программе редактирования видео «вернуться к версии 2.5», отредактировать abit, а затем сказать ей «вернуться к версии 7», и она может это сделать? 22 окт. 142014-10-22 21:45:45

+1

Нет, он имеет в виду, что у тебя всегда есть мастер-видео.Предполагается, что воспроизвести эффекты/сокращения, которые вы имели ранее, не сложно, или что сохранение файлов проектов с помощью VCS будет более трудоемким, чем повторный ввод решений о редактировании.Если это не так, тогда верный контроль версий файлов вашего проекта.Хотя без возможности объединять изменения из разных веток, вероятно, более полезно просто записать любые точные номера кадров, которые вам понадобились много времени, чтобы выяснить, было ли подходящее место для вырезки или чего-то еще. 07 мар. 152015-03-07 21:47:35


3

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

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

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

  0

да, для сравнения и слияния, либо ваша VCS должна понимать файлы сохранения вашего NLE, либо NLE должна предоставлять diff/merge.(Например, учитывая программу, которая может объединять изменения в файле проекта, имея общего предка, я думаю, вы можете настроить git, чтобы использовать его для 'git mergetool', чтобы иметь возможность объединять коммиты деревьев, содержащих измененные файлы проекта.) 07 мар. 152015-03-07 21:52:19


6

Просто чтобы добавить к предыдущим ответам: Хотя нет ничего похожего на Git для мира видео, есть инструменты Digital Asset Management/Media Asset Management, которые могут более или менее делать то же самое - контроль версий и управление разрешениями/пользователями (они также делают намного больше, поскольку они действительно созданы как библиотеки для ваших медиа).В течение многих лет я использовал приложение 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 никогда не было ничего похожего. В настоящее время, к сожалению, вам нужно будет внести в игру немало изменений, чтобы получить аналогичные возможности - в основном потому, что эти инструменты действительно предназначены для почтовых служб, а не для одного редактора.Они также требуют потенциально значительной интеграции/настройки.

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

  0

+1 за это, потому что все остальные ответы предполагают среду с одним редактором. 09 сен. 142014-09-09 14:33:43


2

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

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

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

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

Я видел семинар, где кто-то из команды разработчиков Photoshop объяснил архитектуру.Похоже, что записи истории, которые вы видите, аналогичны git-версиям, таким как gitk display.Наименование версии совпадает с тегом 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?Дизайн автосохранения кажется вполне целесообразным, а встроенный инструмент групповой работы по написанию сценариев имеет явное видимое отслеживание ревизий.


3

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

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

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

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

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