Как сделать стерео видео
3D видео своими руками
Наверняка все помнят знаменитую сцену, когда Марти Макфлай прибыл в 2015 год и его пугает голограмма акулы. Она объемная, и хотя не очень правдоподобная на наш взгляд, но вполне его напугала. Фильм был снят в 1989 году, но многие из фантазий сценаристов уже сбылись. В том числе и 3D видео.
А примерно 10 лет назад открылся первый кинотеатр IMAX в России, где можно было увидеть объемное кино. С экрана буквально выплывали рыбы и проплывали над зрителями.
Заметили разницу? Но в 2008 году очень немногие режиссеры могли позволить себе снимать дорогое кино в 3D, а сейчас для этого достаточно двух хороших камер. И я решил попробовать…
Технологии 3D видео
Для начала, немного теории, чтобы не путаться. Существует стереокино или 3D, когда для каждого глаза формируется своя картинка. И панорамное кино с обзором 360 градусов. Если смотреть последнее в VR очках, то объема не будет, зато можно смотреть по сторонам, будто находишься в центре действия. Примеры такого видео доступны по ссылке.
Нас же интересует именно объемное или 3D видео. Рассмотрим способы получения такого кино: это может быть анаглиф, когда идет разделение по цветам. Такой способ очень дёшев, но страдает цветность картинки, зато разноцветные очки стоят копейки.
Технология работает следующим образом:
Более серьезная технология — это затворные очки и проектор, который синхронизирует работу затвора с демонстрацией картинки для каждого глаза. Такие очки требуют периодической зарядки, а частота смены кадров равна 120Hz. Технология хороша, но мерцания экрана не проходит бесследно даже на такой частоте: глаза утомляются после просмотра длительного фильма. Кроме того, проекторы с поддержкой затворной технологией стоят серьезных денег, поэтому такое можно встретить скорее в кинозалах, нежели дома.
Следующий способ демонстрации объемного кадра — это поляризационная технология. Картинка демонстрируется проектором попеременно, при этом для каждого кадра используется световые волны разной поляризации светового потока. В очках установлены фильтры, пропускающие определённые световые волны, что позволяет каждому глазу получать свою картинку.
Поляризационные очки немного тяжелее картонных, но при этом они намного легче затворных и не потребляют энергии. Однако такой метод 3D-фильмов требует не только специальных фильтров, но и экран со специальным покрытием.
Пожалуй, именно все эти факторы стали на пути распространения 3D фильмов в каждом доме. Нужно приспособление максимально дешевое и простое. Похоже, что решение было найдено — это очки виртуальной реальности или VR-очки. Самые простые модели собираются из картона, а видео можно посмотреть со смартфона, благо телефоны с большим сенсорным экраном и хорошей картинкой есть почти у каждого.
Расстояние между глазами человека в среднем составляет 6,5 см. Поэтому один глаз видит объект чуть с левой стороны, а другой глаз охватывает его же чуть справа. То есть каждый глаз видит предмет под своим углом. Таким образом, формируются два немного отличающиеся друг от друга изображения – стереопара. Мозг сливает оба изображения в одно объемное.
Это легко понять, если посмотреть на объект на небольшом расстоянии, до полуметра, попеременно правым и левым глазом. Но если посмотреть на этот же объект с расстояния в несколько метров, разницы практически не будет, то есть картинка становится практически плоской. Именно поэтому, при съемке фильма «Хоббит» операторы разносили камеры на несколько метров, когда снимали актеров на дистанции до 10 метров до объектива — просто, чтобы получить больший угол и объем изображения.
Снимаем 3D видео сами
От теории перейдем к практике. Совсем недавно я писал про камеры Ezviz S5+ и Ezviz S5. Старшая модель способна снимать видео в 4к с частотой до 30 кадров. Почему бы не воспользоваться случаем и не снять свое 3D кино?
Для этого понадобятся две камеры и приспособление для фиксации камер на стандартном расстоянии. Благо, таких девайсов в Интернете найти можно на любой вкус. Я взял простейшую модель с поддержкой креплений камер GoPro. Надо сказать, что все крепления экшн-камер Ezviz совместимы с гопро-гаджетами, поэтому проблем не возникло.
Далее, для закрепления камеры можно воспользоваться рамкой, входящей в комплект поставки. Она нужна для наземных съемок, а для подводных пригодится герметичный бокс. Но к этому мы вернемся позже.
Очень удобно, что в рамке есть отверстия для кнопок. При этом нажатие кнопок случайно исключено, так как они оказываются утоплены в корпусе.
Далее пару камер просто хорошо закрепляем.
И для удобства при съемках воспользуемся селфи-палкой.
Крайне важно, чтобы камеры снимали под одним углом без наклона какой-либо камеры. Это проще всего сделать ослабив винты крепления и положив камеры на стол. После чего болты затягиваются накрепко и можно начинать съемку.
И тут встает практический вопрос синхронизации старта и параметров съемки. И если на монтаже можно подогнать старт съемки, то как быть с параметрами камер? Здесь все решается просто: в параметрах съемки активируем «Professional» и вручную выставляем подходящие параметры.
Совет для тех, кто хочет снимать подобное видео: после старта съемок необходим громкий хлопок или проведенный предмет перед объективом — так проще всего будет синхронизировать видео по звуку или изображению.
Для создания своего видео в Adobe Premiere Pro я воспользовался очень толковым видеоуроком.
А найти массу 3D видео можно по этой ссылке или по словам 3D SBS.
Что касается подводных съемок, то тут выяснился подвох: две камеры в аквабоксах просто не монтировались рядом.
На помощь пришли дайверские форумы и немного смекалки. За пару сотен рублей можно собрать очень удобную рамку, которая позволит держать камеры под водой как одной, так и обеими руками. Собирается она из пластиковых труб и обладает положительной плавучестью. Так что при случайной потере камер, они не уйдут на дно, а всплывут на поверхность.
Кстати, расстояние между объективами составляет всего 7.5 см, так что видео будет очень близко к тому, что увидеть сам дайвер.
Надо отметить, что работать с камерами Ezviz S5+ одно удовольствие: совместимость с очень популярными креплениями от известной компании дает очень широкую возможность выбора. Быстрота и легкость монтажа облегчают съемку. Ну а сам процесс съемки сводится к тому, что надо двигаться максимально плавно и просто не забывать, куда смотрит камера. Я не претендую на профессиональное кино, но работать с камерами действительно легко. В заключении, я добавлю два видеоролика, которые удалось снять. Первый в 4К для владельцев экранов, телевизоров и проекторов для оценки качества картинки. А второе — стереокино, для просмотра в VR очках. Приятного просмотра и оставайтесь с нами!
Монтаж стерео 3D-видео с помощью VirtualDub и скриптов AviSynth
Автор: Владимир Климов, ведущий специалист по технологии стерео кино и стерео телевидения
Почему я использую VirtualDub?
Среди видеолюбителей наилучшей монтажной программой заслуженно считается Adobe Premier Pro, но я использую VirtualDub. Почему? В основном, из вредности и ещё по ряду причин:
Конечно, и недостатков у “Виртуального дуба” хватает, главный из которых заключается в том, что он заставляет как следует думать. Поэтому эту программу могу посоветовать только тем, кто хочет стать “продвинутым юзером”, т.е. она не для всех.
Имея определённый опыт стерео съёмки, я и без предпросмотра представляю себе, какое 3D у меня получится, поэтому мне не нужна предварительная 3D-визуализация. Что действительно мне нужно знать отчётлво, так это то, что я монтирую оба ракурса синхронно. С точностью до кадра. Этой точности Adobe Premier Pro 2.0 на разрешении Full HD не давал – первая склейка проходила нормально, а вторая и последующие теряли один кадр. Я не стал дожидаться новых версий этого редактора и перешёл на VirtualDub. Пробовал, конечно, и Sony Vegas, но мне он показался неудобным, как и другие программы, которые, кстати, стоят немалых денег.
В редакторе VirtualDub нет определения “файл проекта” – план монтажа нужно составлять на бумаге (или держать у себя в голове). VirtualDub не импортирует видео, а всего лишь его открывает. Он не имеет ничего лишнего.
У этого видеоредактора есть невидимый друг AviSynth, который многократно увеличивает его силу. У программы AviSynth нет своего интерфейса, вообще никакого. В этом смысле уж точно – “ничего лишнего!”. Действует эта программа-невидимка через специальные скрипты, которые нужно открывать с помощью VirtualDub как если бы они были обычными видеофайлами. Эти скрипты самому писать очень просто, а делать они могут очень сложную работу.
Наверно, нет смысла пересказывать основы работы с программами VirtualDub и Avisynth. Для начинающих есть очень хорошие статьи, по которым я сам учился:
Нас, в данном случае, интересует монтаж стереоскопического 3D-видео с помощью этих программ.
Сначала хотел бы сказать о творческом аспекте 3D-монтажа. Я пробовал разные монтажные переходы – все они производят нелепое впечатление. Учитывая, что в 3D монтировать приходится не плоские картинки, а объёмные пространства, пригодными к творческому применению оказались только обычная склейка и приём “из затемнения” (“в затемнение”). Даже титры, и те так просто не наложишь, объёмные буквы являются такими же полноценными объектами пространства, как и другие предметы. Вот и получается, что простейшего видеоредактора достаточно, чтобы монтировать стереоскопическое 3D-видео.
Проблема нулевого кадра
В цифровом видео нумерация кадров начинается с нуля. При работе с VirtualDub это наглядно видно, он не позволяет этого забыть никогда. Интерфейс у программы очень простой – глазу не за что зацепиться, и он зацепляется за этот ноль. В начале монтажного отрезка мы видим цифру ноль, а в конце – количество кадров, и эту “контрольную цифру” нужно всегда записывать на бумажке. Таким образом можно сэкономить очень много нервов, которые были бы потрачены при работе с “крутыми” видеоредакторами.
Как видим, никакой проблемы нулевого кадра нет, а есть проблема инерции человеческого мышления. Интерфейс программы постоянно об этом напоминает, а это – лучшая гарантия от путаницы и нестыковки.
Причина популярности 3D формата Over/Under
Форматов для обработки и хранения 3D видео много, но основных три:
Большинство современных 3D-телевизоров требуют предоставить видео, редуцированное на 50% в горизонтальном или вертикальном направлении. Это так называемые 3D форматы “Anamorph side-by-side” и “Anamorph over/under”. Применение формата Over/Under позволяет нейтрализовать “гребёнку” на изображении при изготовлении анаморфного 3D-видео.
Конечно, если ваши амбиции идут дальше чем показ домашнего 3D-видео на экране 3D-телевизора узкому кругу друзей и знакомых, лучше использовать камеры, способные снимать в режиме с прогрессивной развёрткой, желательно 50 полноценных кадров в секунду (PAL) – это достаточно высокая скорость съёмки, позволяющая получить достаточно хорошую синхронизацию между левым и правым видео (в случае съёмки двумя камерами) и в то же время эта частота легко преобразуется в частоту 24 кадр/с, которая пока является единственным профессиональным стандартом для проекции на “большом” экране.
В любом случае, имея навыки монтажа стерео видео с помощью VirtualDub и скриптов AviSynth, всегда можно легко трансформировать различные 3D-форматы из одного в другой, изменять размеры изображения, частоту, применять различные фильтры для коррекции цвета, использовать различные кодеки для сжатия видео, экспортировать видео в секвенцию картинок и т.д.
Подготовка стерео 3D-видео для монтажа
Перед тем, как приступить к монтажу, я всегда просматриваю исходный материал по несколько раз, удаляя неудачные в творческом отношении дубли и явный операторский брак, то есть, решаю, с чем я вообще буду работать. После этого составляю на листе бумаги достаточно подробный план монтажа. Это мой “файл проекта”.
VirtualDub работает только с несжатым видео, поэтому видео нужно расжать. Надо быть готовым к тому, что понадобится много места на диске. У меня, например, четыре дополнительных “винта” общей ёмкостью 1,2 Тбайт, объединенные в один массив данных.
После этого нужно совместить левое и правое видео (в случае съёмки двумя камерами). Этот этап можно пропустить тем, у кого 3D-моноблок. Чтобы узнать, какое количество кадров в начале или в конце какого ракурса нужно отрезать, я совмещаю изображение по кино-хлопушке и произвожу обрезку. Если вы не применяете хлопушку (и не хлопаете в ладоши при съёмке), можно совместить ракурсы по фазам движения объектов в программе Stereo Movie Maker и определить, на какое количество кадров и какой ракурс нужно обрезать.
Извлекаю звук из видео в отдельный аудиофайл name_your_video.wav и сохраняю в ту же папку.
Теперь, когда ракурсы во всех дублях согласованы по длине с точностью до кадра, объединяем левое и правое видео в 3D формат Over/Under простым скриптом:
# Load sources A = AviSource(“S:\For_stereo_video\name_your_video…_L.avi”) G = AviSource(“S:\For_stereo_video\name_your_video…_R.avi”) F = StackVertical (A,G) audio = WAVSource(“S:\For_stereo_video\name_your_video.wav”) AudioDub(F,audio) |
Подставьте свои названия диска, папки и видео и сохраните этот файл с названием script_Over_under.avs После этого откройте этот скрипт с помощью VirtualDub как будто это простой видеофайл. Теперь сохраните как AVI файл.
Далее желательно обрезать явно лишние и совершенно ненужные для монтажа участки. Но это уже, собственно, сам монтаж.
Заметьте, что я ничего не говорю о предмонтажной подготовке стерео 3D-видео в плане сведения-разведения ракурсов и изменения других специфических стереоскопических параметров. Я считаю, что надо настроить свою стерео 3D-камеру один раз, и снимать правильно, без ошибок, чтобы монтировать потом без проблем.
Процесс монтажа
Надеюсь, понятно, что я монтирую 3D как 2D? Монтирую левый ракурс, точно зная, что он составляет с правым единое целое. При разрешении монитора ПК 1920×1080 пикселей, VirtualDub показывает на экране практически весь кадр формата Full HD. При удвоенной высоте кадра мы просто не видим нижнюю часть.
Описать процесс 2D монтажа?
Это очень несложный процесс. В меню “File” выбираем строчку “Open video file…” и открываем тот видеофайл, который хотим. Передвигаем ползунок на тот номер кадра, который хотим сделать начальным, идём в меню “Edit”, выбираем строчку “Set selection end” (что означает “установить выбранный кадр последним”). Выделенный участок становится светло-синим. Опять идём в меню Edit и выбираем строчку Cut (что означает удалить) – выделенный участок исчезает. Слегка напоминает работу в редакторе Sony Vegas. Немного непривычно, но ничего сложного.
Если хотите к этому видео добавить ещё одно (т.е. склеить вместе два видео), то идёте в меню “File”, выбираете строчку “Append AVI segment…” и добавляете тот видеофайл, который хотите. Таким способом добавляем любое количество видеофайлов. Какие-то участки видео выделяем и удаляем в соответствии со своим творческим чувством. После того как смонтировали всё, что хотели, идём в меню File, выбираем строчку Save as AVI… и сохраняем результат монтажа. Это так называемый элементарный монтаж с применением простой склейки.
Если хотите, чтобы ваш фильм начинался “из затемнения”, то первый видео фрагмент нужно предварительно подготивить. Напишем несложный текст в программе “блокнот”:
# Fading AVISource(“S:\For_stereo_video\name_your_video_over_under.avi”) # fade-in the first 30 frames from black FadeIn(30) |
Подставьте свои названия диска, папки и видео и сохраните этот файл с названием script_Fade_In.avs После этого откройте этот скрипт с помощью VirtualDub как будто это простой видеофайл. Нажмите кнопку Play, чтобы посмотреть. Теперь сохраните как AVI файл. Перед названием файла добавьте приставку Fade_In, чтобы самому не забыть, почему в начале в этом видео всё темно. Для монтажа используйте этот модифицированный фрагмент – и будет у вас фильм “из затемнения”.
Если хотите, чтобы Ваш фильм заканчивался “в затемнение”, то последний фрагмент нужно предварительно подготовить через script_Fade_out.avs
# Fading AVISource(“S:\For_stereo_video\name_your_video_over_under.avi”) # fade-out the last 30 frames to black FadeOut(30) |
На всякий случай привожу текст скрипта “Dissolve”, который позволяет сделать так, чтобы одно изображение постепенно исчезало, а другое в это время появлялось:
# Load sources A=AviSource(“S:\For_stereo_video\name_your_first_video.avi”) B=AviSource(“S:\For_stereo_video\name_your_second_video.avi”) # 30 frame Dissolve between clipA & clipB Dissolve(A,B,30) |
После того, как картинка смонтирована, остаётся смонтировать звук. К сожалению, в VirtualDub не очень удобно работать со звуком, поэтому я рекомендую для финального монтажа звуковой дорожки использовать Adobe Premier Pro.
Для монтажа звука нужно отрендерить уменьшенный вариант фильма, чтобы иметь возможность воспроизводить несжатое видео в режиме реального времени даже на маломощном компьютере. Напишем несложный текст в программе “блокнот”:
Подставьте свои названия диска, папки и видео и сохраните этот файл с названием: script_To_small_size.avs
После того, как смонтируете звуковую дорожку, желательно сохранить звук отдельно в виде файла с названием ready_sound_for…_.wav. На всякий случай. В дальнейшем, если будете делать цифровой 3D-кинопакет DCP для показа своего фильма на “большом” экране кинотеатра, вам придётся работать со звуком и изображением отдельно.
Чтобы выделить из LR Over/Under видео левый ракурс, можно использовать скрипт Extract_left_from_over_under.avs
Чтобы выделить из LR Over/Under видео правый ракурс, можно использовать скрипт Extract_right_from_over_under.avs
A = AviSource(“S:\For_stereo_video\name_video…_over_under.avi”) # crop the dimensions of the video frame from 1920×2160 to 1920×1080 B = Crop(A, 0, 1080, 0, 0) return B |
Если хотите разместить своё 3D-видео в Интернете, например, на популярном сервисе YouTube, для этого нужно редуцировать видео на 50%. Для этого напишем несложный текст:
# Load source A = AviSource(“S:\For_stereo_video\name_video…_over_under.avi”) VerticalReduceBy2 |
Подставьте свои названия диска, папки и видео и сохраните этот файл с названием script_Vertical_reduce_by_2.avs. Затем откройте его с помощью VirtualDub. В меню “Video” выберете строку “Compression…” – назначьте кодек для сжатия и определите степень компрессии Вашего видео и сохраните как AVI. При размещении на YouTube первым тегом укажите yt3d:enable=LonR.
После этого все пользователи YouTube будут иметь возможность оперативно выбирать метод и технологию 3D для просмотра этого стерео 3D-ролика.
С помощью простого видеоредактора VirtualDub и несложных скриптов AviSynth можно делать практически всю работу по монтажу стерео 3D-видео. Это совершенно бесплатные программы, написанные энтузиастами своего дела и пригодные для профессионального применения. Со всей очевидностью они демонстрируют нам простую и понятную истину – профессионализм не в дорогостоящих видеоредакторах, а в знаниях человека.
Завершая свой рассаз о монтаже 3D-видео с помощью VirtualDub и скриптов AviSynth, я бы хотел пожелать всем творческого успеха – чтобы удача чаще улыбалась тем, кто берёт в руки стереокамеру и все мы, как зрители, имели возможность наслаждаться невероятным и удивительным объёмным изображением на сервисе YouTube или экране 3D кинотеатра!