Стабилизация по двум точкам
Хочу поделиться своим рецептом стабилизации видео в Adobe After Effects, который я использую для своих таймлапсов. Разработать этот алгоритм мне пришлось из-за того, что я не смог найти ни одной программы, которая бы справилась с такой задачей. Для стабилизации обычным сдвигом кадра в одной плоскости объектив моей камеры слишком широкоугольный и создаёт слишком большие искажения. Необходимо использовать поворот виртуальной камеры с правильным углом обзора и в 3D пространстве.
Способ крайне прост, и я уверен, что «изобрел» велосипед. Если вы знаете, как сделать то же самое проще – напишите в комментариях, я буду благодарен.
Сперва покажу исходный ролик и ролик, стабилизированный при помощи Warp Stabilizer VFX.
В большом разрешении:
Оставлю результат работы стандартного стабилизатора без комментариев и расскажу, как делаю я. Постараюсь расписать всё максимально подробно, чтобы последовательность этих действий мог повторить человек, не знакомый с интерфейсом AE.
К инструкции прилагаю и архив с проектом, который пошел на иллюстрации: https://drive.google.com/uc?id=0B-qnBT1qgOj6UjN0SzBuQU43ZWM
0. Для начала настроим After Effects для работы с сериями снимков. Идем в Edit → Preferences → Import и устанавливаем стандартной длиной импортируемых изображений один кадр.
1. Создаем проект:1.1. Просто перетаскиваем и кидаем папку с серией кадров или видео-файл.1.2. Добавляем два Null-объекта и две камеры. Первая камера будет лишь местом крепления для основной, второй.
Фокусное расстояние обеих камер должно соответствовать эквивалентному фокусному расстоянию вашего фотоаппарата (28 мм в моём случае). Важно чтобы правильное значение было установлено при создании камер, а не после, иначе они не окажутся в нужном положении.Camera 1 должна иметь тип Two-Node Camera, а Camera 2 – One-Node Camera.
1.3. Делаем видеоряд и Null-ы трехмерными с помощью соответствующих чекбоксов и не забываем растянуть временные шкалы всех объектов сцены на всю её длину.
2. Теперь сделаем отслеживание двух точек, звезд в данном случае.2.0. Кликаем правой кнопкой по видеоряду и выбираем из выпадающего списка Track Motion.2.1. Выберем самую примечательную звезду поближе к краю кадра, но не исчезающую за ним на протяжении всего ролика, и поставим на неё маркер. Размер внешней рамки маркера выберем, глядя на то, как сильно мотало камеру при съемке.2.2. Запустим отслеживание и дождемся окончания процесса. Возможно, что-то пойдет не так, и придется останавливать, перемещать маркер вручную, менять размер области отслеживания и запускать дальше.
2.3. После завершения процесса нажимаем Edit target. и выбираем Null 1 и тыкаем OK.
2.4. Нажимаем Apply, оставляем X and Y как есть, OK.
2.5. Повторяем всё с пункта 2.0. по 2.4. для Null 2. Вторую точку лучше выбрать поближе к другому краю кадра. Чем больше расстояние между точками – тем лучше.
Примерно так должен выглядеть предпоказ сцены с двумя Null-объектами и их траекториями после всех описанных выше манипуляций:
3. Далее необходимо привязать Point of Interest камеры 1 к Null 1.
3.0. Нужно раскрыть свойства вышеуказанных объектов как на иллюстрации чтобы было удобно с ними работать.
3.1. Зажимаем Alt и кликаем по значку с часами в строчке Point of Interest., появляется строка expression.
3.2. Из неё тянем кнопку в виде спирали и вешаем связь на строку Position в свойствах Null 1.
4. Теперь так же, с помощью Alt и клика по иконке часов, открываем окно expression параметра Z Rotation у Camera 1. В этот раз заполняем блок ввода (Ctrl+C, Ctrl+V) следующим кодом, решающим матричное уравнение:
5. Перемотаем время на самое начало и прикрепим камеру 2 к камере 1. Для этого просто выберем Camera 1 из выпадающего меню Parent в строке Camera 2.
Если всё прошло гладко, то теперь камера 2 намертво прибита к звездному небу. Её начальное положение соответствует первому кадру серии, а потом она сваливается куда-то вбок.
6. Настраиваем направление и угол обзора камеры 2. Тут всё делается на глаз.
6.1. Раскроем её свойства и покрутим значения углов поворота (X/Y/Z Rotation или Orientation). Если крутить их с зажатым Ctrl, то значения будут меняться плавнее. Важно не менять расположение камеры, оно должно быть 0, 0, 0.
6.2. Изменим фокусное расстояние и, соответственно, угол обзора камеры так, чтобы в кадре не появлялись черные области фона. Делается это в настройках из, пункта 1., которые появятся по двойному клику по камере. В данном случае фокусное расстояние пришлось увеличить с 28 до 31 мм, угол обзора при этом уменьшился с 65.5° до 60.3°.
Если целью было обездвижить звездное небо, то нужно убедиться, что область обзора вписывается в кадр на всей длине видеоролика.6.3. Иначе нужно создать точки на временной шкале и покрутить значения на каждой из них.
Вот и результат всех этих действий:
Спасибо за внимание.
Лига фотографов39.9K поста 28.7K подписчиков
Правила сообщества1. Фотографии должны содержать тег [моё] и быть хорошего качества.
Не допускаются: мыльные фотографии; фотографии, содержащие большое количество шумов; слишком темные или слишком светлые фотографии (пересвет).
Все подобные фотографии будут перенесены в общую ленту.
Отдельное замечание по фотографиям с телефонов – фотографии просматриваемые на телефоне могут значительно отличаться от фотографии на мониторе компьютера или ноутбука (как правило с телефона не видно проблем).
Пожалуйста, проверяйте свои фотографии с телефона на устройствах с большей диагональю экрана.
2. Желательно указывать минимальный набор информации о технике, на которую сделана фотография. Если это системная фотокамера – фотоаппарат + объектив, если компактная камера или телефон – модель.
Приветствуется указывание более подробной информации.
3. Приветствуется описание процесса съемки, условия съемки, место съемки и т. д.
4. Если Вы хотите получить критику или советы по своей фотографии – добавляйте тег хочу критики. Однако учтите, что отсутствие данного тега не отменяет возможность критиковать Ваши работы.
5. В сообществе запрещается грубое обсуждение моделей (толстая, страшная, худая и т. д.)
Все комментарии подобного рода будут удаляться.
6. Запрещается прямое или косвенное оскорбление участников сообщества и их работ, язвительный тон, мат. Все подобные комментарии будут удаляться.
7. Посты о фотографах, выставках, техниках, жанрах, оборудовании, а также различные уроки (свои, скопированные, переведенные) являются исключением для пунктов 1-3.
Что-то посмеялся с "решаем матричное уравнение", а после все формулы вручную. После синтаксиса матлаба, мечтаешь, чтобы везде можно было писать.
я конечно понимаю, что ctrl+c, ctrl+v, но выглядит нихера не просто:D
следующим кодом, решающим матричное уравнение:
видеомонтаж - это весело и просто, говорили они
Я не работаю с видео/фото и не знаю понадобится ли мне когда-нибудь это, но я это сохраню. Выглядит охуенно.
Это кадры с поезда? А так очень кропотливая работа, напишите на reddit, там больше профессионалов в AE сидит.
Судя по комментарием, ты изобрел что-то новое :)
все круто, если это работает! а где скрипт взял:? только не говори, что сам взял и написал, а то я пойду в таксисты. за проект, конечно спасибо, но на будущее. если выкладываешь проект делай сразу версию для 12 афтера. там даже кнопочка такая есть. save as 12
О-о, спасибо большое за пост.Часто приходится стабилизировать видео, а классический Варп Стабилайзер в Премьере, оправдывая своё название, искажал картинку что надо.
ААА! Почему туман вперёд бежит?!
Я нихуя не понял, но тоже сохраню
Для тех, кто говорит: пфф.. Математика мне в жизни не пригодится. А вот хуй!
а с чего снято? Машина? Поезд? лодка? катер? :D
Как же мне нравится, когда человек, в чем-то люто разбирающийся, выкладывает что-то адово непонятное и офигенно выглядящее со словами, как в рекламном баннере из интернета: "Стабилизировать видео очень просто! Нужно всего лишь. " Я уже на слове "таймлапс" споткнулся и дальше читал все это как заклинание на эльфийском. Но выглядит круто. Хотя и непонятно нихуя. Схороню.
Хм, однако. Почитал с удовольствием. Но выглядит прям оверкиллом, сам буду делать в блендере: там можно и 2д трекинг делать и 3Д и намного проще.
Вот, по-быстрому затестил на не самом удачном исходнике, снятом с рук 500 мм стеклом.
Юзаю Ае, и стабилизацией частенько пользуюсь) Но про данный метод не слыхал) Спасибо, но было бы лучше если бы отфрапсил бы данный метод, а ссылочку на видео кинул бы сюда)
На Яндекс-Диске какие-то ограничения на скачивания. Добавлю зеркало на Google Drive: https://drive.google.com/uc?id=0B-qnBT1qgOj6UjN0SzBuQU43ZWM
Приложение для телефона Google photos отлично стабилизирует видео и без таких сложностей
Спасибо за выполненую просьбу. обязательно испытаю и покажу что вышло!
Так вот как та странная телка с цветными волосами стабилизирует видео на своих бровях!
Вот мой, так сказать, таймлапс длинною в год ), может даже идею новую подам. https://www.youtube.com/watch?v=KCSfsNhN67Q
.. А можно ли улучшить это видео? Хотя я так и не понял какая такая первая и вторая камера? Я так далеко не заходил.
ТС, а выкладывал в группу АЕ ?
Очень годно! Спасибо
Спасибо. Сам увлекаюсь AE. Будет нужда в стабилизации попробую отработать Ваш метод.
Так то, если корректные настройки делать, то с варпом тоже много чего хорошего можно наворотить
А я всё понял и сохраню
Вот вроде всё понятно, но нихера не понятно.
Я в общем ничего не понял, но написано грамотно и составлено красиво , поставил лайк.
Не со всем понял про какие искажения идет речь. встроеный стаб АЕ и Ваше видео
ты как то все усложнил, можно намного проще, без камер и експрешенов
Фух! С 5 раза получилось! Спасибо! Теперь кое какие видео из садика, снятые моими трясущимися руками будут слегка подправлены!
А где гифка "ДО"? С чем сравнивать?
Привет! Меня очень впечатлил твой метод стабилизации! Снимаю гиперлапсы на Мавик, но в ветер получается не очень. Я сделал все точно по инструкции, и он отлично справился со стабилизацией заднего плана. Но когда в кадре активный передний план, то что ты делаешь? После первого прохода твоим методом и последующим прогоном через WarpStab вроде как и кромка берега перестает прыгать. но зато дома начинают надуваться и сдуваться, словно они из дрожжевого теста. В общем вопрос то мой в том как стабилизировать не только задний план, но и свистопляски на переднем. Варп не может справиться с таким роликом. Изображение гифку не могу вставить(мало рейтинга ), в личку тоже не написать здесь, тогда только ссылка на пример ролика https://cloud.mail.ru/public/f26K/T62d6XTrT
чет не понял, нафига эти сложности с экспрешенами? если есть точки куда привязаться то просто один нулем можно обойтись без камер и экпрешенов
может и не актуально, но все же. Проверено, работает на ура, даже по отслеживанию движения по одной точке и одной камере, соответственно! Спасибо огромное за подгон)
а этот способ подойдёт для таймлапса с приближением к горизонту?
А почему не сделать одной кнопкой в Warp Stabilizer в адоб премьер? Он обрабатывает видео и не нужно тречить точки. Конечно тречить точки вручную может получиться лучше результат, но для начала я всегда пробую Warp Stabilizer https://youtu.be/ZK5f3STwUQo
Десятиминутный таймлапс одного и того же ученика
Слева: во время видеоурока по математике.
Справа: во время просмотра звёздных войн.
Парень нашёл 70 фотографий по Гугл-запросу "волки" и сделал этот ролик!
Урок по бессмысленной стабилизации
Продолжу выкладывать уроки простые уроки по совершенно бессмысленным спецэффектам в гифках и видео. Сегодня покажу свой старый тутор, которого так же не было на Пикабу.
Это достаточно простой урок по стабилизации изображения. Никакого практического применения у этого нету и особого смысла повторять урок тоже. Поэтому приступим. Результатом будет вот такая вот стабилизированная стиральная космическая капсула, если я правильно разбираюсь в бытовой технике. Нам понадобится только Adobe AfterEffects любой версии. Ну и любой гиф–конвертер на ваше усмотрение. Я пользуюсь фотошопом, хоть и не программист.
1. Берем, значит и находим какое–то видео, на котором кто–то страдает фигней. Решаем, что тоже хочется занять чем–то абсолютно бесполезным и скачиваем его. Как это сделать написано в прошлом уроке. Для удобства использования, надо чтобы на видео, которое вы собираетесь стабилизировать в большинстве кадров были две очевидные точки, к которым будем привязываться. На предложенном видео это будут две точки возле иллюминатора. Дальше станет понятно.
2. Как в предыдущем уроке, открываем AfterEffects (далее AE) и закидываем туда скачанный видос. Сразу же надо создать из него проект, не меняя разрешения и фпс. Желательно поперееименовывать все по собственному желанию.
Я переименовал ролик в "Стиралка", а композицию в "СТИРАЛКААА". Так же удобнее и понятнее все сразу стало, правда?
3. Дальше надо выбрать интервал, который приспичило стабилизировать. Надо перейти в начало интервала и нажать alt+[ потом перейти в конец и нажать alt+]. Либо наоборот, конечно. Это обрезает исходник, делая его короче, ну то есть
длительность немного уменьшается и даже посмотреть можно его будет быстрее, но пропукается часть ролика, которая оказалась за пределами оставленной части. После надо перейти в самое начало таймлайна (я это делаю клавишей home). И переместить туда начало фрагмента (либо просто мышью перетащить, либо нажать "[", что поставит первый кадр фрагмента в текущий кадр). Должно получиться как–то так:
4. Переходим в конец фрагмент, нажимаем "N". Это обрежет длительность композиции до нужной нам длины. После этого правой клавишей на какой–то серой фигне с желтыми боковушками и Trim Comp to Work Area. Все это надо было, чтобы получить проект нужной длительности.
5. Если вы хотите получить в конечном итоге видео, а не гифку, то этот и следующий этап стоит пропустить. А для создания гифки лучше провести некоторую оптимизацию процесса. А точнее снизить фпс происходящего(fps–frame per second, количество кадров в секунду. Чем больше, тем плавнее, тяжелее, дольше делать). Возможно есть какие–то профессиональные способы решить этот вопрос, но я дилетант, который взялся вас тут еще уму разуму обучать, поэтому смотрите на мой велосипед. Я взял композицию, которую создал в начале и перетянул на значок Create a New Composition (создать новую композицию). У меня получилась новая композиция с такими же параметрами как и у первой, но уже обрезанная как надо, все дела.
6. Правой клавишей на новой композиции — Compozition Settings. Тут нам надо перееименовать новую композицию. Я назвал ее STAB. А так же сменить Frame Rate на 15 (как вам угодно, конечно, можно и оставить прежним, но для гифок это не нужно особо). Жмяк OK. Так же надо вернуться к свойствам первой композиции и там сменить Frame Rate на такой же. Все это делается с несколькими целями. Во–первых, в сложных случаях надо крутить настройки контраста исходного файла, а во–вторых избавляемся от лишних кадров для трекинга. Это не тот случай, когда они нужны.
7. Теперь переходим непосредственно к самому трекингу. Убеждаемся, что в данный момент редактируем именно композицию STAB. Для этого можно дважды кликнуть на нее в окне Project. Дальше Наверху, где всякие там кнопки типа File, Edit, находим раздел Window и в нем нажимаем Tracker (если, конечно галочка там уже не стоит. Если стоит, то жать туда не надо). И отыскиваем, где появилось это окно.
8. Выбрав в окне таймлайна слой СТИРАЛКААА прожимаем в окне трэкинга Stabilize Motion и ставим галочки на Position, Rotation и Scale. На изображении появятся два треккера с названиями Track Point 1 и Track Point 2.
9. Эти треккеры надо немного увеличить и поставить в точки, которые будем отслеживать. Если я все правильно понимаю, то внутренний прямоугольник — это регион, который будет отыскиваться в соседнем кадре в пределах границ, которые показаны внешним прямоугольником, а крестик — это само положение точки. Все это можно перемещать на свое усмотрение. Я поставил их так:
10. Далее надо нажать на Analize forvard. Начнется процесс трекинга. Время зависит от размера поинтов и количества кадров. В идеальном мире не возникнет ни одной проблемы и можно будет сразу прыгнуть к 12 пункту. Но в моем случае возникли косяки. На 20 кадре поинт соскочил со своего места и начал отслеживать какую–то левую хернюшку. Это может произойти по ряду причин. Например сильный Motion Blur размазал точку привязки или точка сместилась далеко и вылетела за пределы зоны поиска, либо поменялось освещение и в двух соседних кадрах точка вдруг стала сама на себя не похожа.
11. Если заметили ошибку в процессе, то можно остановить его пробелом. Надо вернуться в кадр, в котором произошла ошибка и вручную переместить треккер туда, куда надо. И продолжить трекинг нажатием кнопки Analize forvard. Особо сложные места можно проходить трекингом по одному кадру кнопкой Analize 1 frame forvard. В итоге точки должны быть оттреканы во всех кадрах.
12. Теперь надо нажать Apply, для того, чтобы применить оттреканную информацию к исходнику. Появится окошко "Motion Tracker Apply Options", в котором ничего не надо менять и нажать ОК. Сабилизация технически готова, осталось привести ее к более или менее юзабельному виду.
13. Дальше я, как в пункте 5, еще раз перетянул в окне Project композицию STAB на окошко Create a New Composition и переименовал новую композицию в FINAL. В свойствах этой композиции сменил разрешение на 500х281 и нажал ОК. Frame Rate остался неизмененным, т.к. настройки композиции копируются из объекта, который перетягивается на этот значок. Далее в таймлайне композиции FINAL выбрал слой STAB и отмасштабировал его на глаз так, как посчитал нужным.
Дальнейший рендер и сбор в гифку описан в 10 пункте предыдущего урока
И в общем–то вот результат. Для того, чтобы получить чуть более лучший результат я еще накинул Motion Blur при помощи плагина RSMB, но это совсем другая история.
Внутри примеры более правильного применения этой технологии. Спасибо за внимание!
Урок по сжиманию лица
Так как теперь тут существуют сообщества, то воспользуюсь этой новинкой с пользой для себя и окружающих. Теперь посты-уроки будут иметь больше смысла, т.к. они могут храниться в сообществе и долистать до них будет очень просто в любое время. В связи с этим представляю вам свой урок по сжиманию лица любым интересным персонажам. Может показаться, что много информации и сложно, но на самом деле я просто расписал все очень подробно и справиться может даже человек, который впервые открыл Adobe AfterEffects.
1. Для такой гифки понадобится только Adobe AfterEffects, Photoshop и исходник. Исходник может быть хоть видосом, хоть гифкой. Видос я взял по этой ( https://www.youtube.com/watch?v=ebPB6sZ9Rc0 ) ссылке с ютуба. Для скачивания видеороликов с трубы у меня в Chrome установлен SaveFrome.net помощник. Но можно просто дописать перед youtube “ss” и скачать без сторонних приложений.
2. Дальше открываем AE и перетаскиваем файл из папки в окно Project.
3. После чего перетягиваем видос из окна Project в окошко с надписью None. Это создаст композицию, одноименную с названием видоса.
4. Мы не станем сейчас менять fps или размер композиции, т. к. гифка гороткая и весить будет не много. Поэтому сразу к делу. Находим начало нужного фрагмента и отрезаем лишнее вступлени клавишами alt+[, потом находим конец и отрезаем лишнее с помощью alt+]. Потом указываем рабочую зону. И рубим вообще все лишнее нажатием кнопки Trim Comp to Work Area.
5. Выбрав слой с основным видео дважды нажимаем ctrl+d для того чтобы продублировать его. Получится три копии. Переименовываем их сверху вниз в «глаза» «рот» и «бэк»
6. Выбираем слой «Глаза» и на панели инструментов находим Pen Tool и рисуем на нем маску приемрно такой вот формы.
7. На слое «Рот»маской надо выделить рот с подбородкоми верхней губой, не захватывая нос.
8. Рядом с названием слоя есть треугольник, надо нажать на него появится список свойств слоя. Там будут Masks, а в них Mask 1, надо раскрыть все эти свитки. Нажать на часики рядом с Mask Path. Это включит анимацию маски. А в разделе Mask Feather забиваем значение «4». Это означает, что границы маски будут размыты в пределах четырех пикселей. Эти действия надо сделать для слоев «Глаза» и «Рот»
9. Далее сдвигаем слои «рот» и «глаза» так, как планировалось, выбрав в панели управления « Selection Tool ». Главное обратить внимание, чтобы выбрана была не маска слоя, а сам слой.
10. Теперь надо проанимировать маску обоих слоев. Для этого примерно каждые четыре пять кадров надо сдвигать ключевые точки маски так, чтобы не вылазило ничего лишнего. Иногда можно реже, иногда чаще. Это зависит от динамичности происходящего в кадре. Ну вот в общем–то и все. Я еще увеличил размытие краев маски до 6. Осталось отрендерить это все и пережать в гифку. Способов много. К сожалению AE пазучился рендерить анимации в гиф. Поэтому я покажу один способ, которым я всегда пользуюсь. Для этого нужен фотошоп. (Только не Portable, как выяснилось.) По пунктам (они отмечены на картинке):
1. Выбираем в окне Project созданную композицию. И нажимаем Ctrl+M.
2. В разделе R ender Queue появится задача на рендер. Нам надо ее настроить. Для этого жмем туда, где написано Lossless.
3. Формат: PNG Sequence. Это будет гора PNG картинок. По одной для каждого кадра. Мне почему–то обычно наиболее удобно пользоваться именно таким рендером. Хотя по идее можно сразу пережимать в мп4 и каким–нибудь онлайн ресурсом сохранять в гиф, или еще какие–то заморочки.
4. В этом окне всё. Жмём ОК.
5. В окошке R ender Queue надо настроить путь для секвенции. Для этого надо нажать на имя файла рядом с надписью Output.
6. Жмакаем Render и идем ходить по коридорам с кружкой кофе и отвечать, что у вас рендерится, на вопрос, почему не работаем. Даже если вы грузчик. Рендериться будет долго. Секунды три. Так что потратьте время с умом.
11. Далее открываем фотошоп. А в нем File → Open. Там находим секвенцию файлов, которую вы конечно же рендерили в отдельную папку, чтобы не было путаницы. Выбираем любой из кадров, обязательно ставим галочку Image Sequence (если такого флажка нет, значит у вас Portable версия, там вообще с этим свои заморочки и я предупреждал). И кликаем указательным пальцем правой руки по левой клавише манипулятора «мышь» строго в тот момент, когда курсор будет находиться над кнопкой «Открыть». У вас там спросят что–то про fps, советую сказать, что 25 и развести истерику. А вообще надо указать тот фреймрейт, в котором делали гифку.
Ну а дальше File → Save for Web. Откроется окна с кучей настроек, которые можно пошевелить для того, чтобы найти идеальное сочетание объема файла и качества содержимого. Желательно указать режим зацикливания на Forever (по умолчанию стоит Once, т. е. Гифка проиграет один раз и остановится). Ну и Save, конечно.
12. Гифка готова.Позже я еще добавил еще немного персонажей.Слегка деформировал их с помощью Liquify и кадрировал.