Доставка
Доставка по Беларуси
7 дней в неделю
с 9:00 до 21:00
Viber
+375 (44) 792-93-93
Телефон Велком
+375 (29) 792-93-93
e-mail
info@hdmaster.by
Логин

Пароль


 
В корзине нет товаров
Валюта:  
 
Обмен Триколор ТВ
Сбор телелома НТВ Плюс
Статьи по теме
Видеокарты ASUS HD 78xx TOP с системой охлаждения DirectCU II
Компания AOC представляет новый монитор d2357Ph с поддержкой 3D-изображения
Трехмерные транзисторы: новые технологии изготовления микрочипов
Обзор монитора Samsung S23A350H
Кулер для Х-серии
Cray выпустила персональный суперкомпьютер
Фото и спецификации GeForce 9800 GX2 от EVGA
­

Монтаж стерео 3D-видео с помощью VirtualDub и скриптов AviSynth

   

Почему я использую VirtualDub?

Среди видеолюбителей наилучшей монтажной программой заслуженно считается Adobe Premier Pro, но я использую VirtualDub. Почему? В основном, из вредности и ещё по ряду причин:

  • При монтаже 3D видео требуется точность до кадра, а в "Премьере" я не вижу общее количество кадров и плохо понимаю, на каком именно кадре нахожусь
  • В отличие от "Премьера", изображение занимает практически весь экран, что позволяет лучше рассматривать мелкие детали и меньше напрягать зрение
  • VirtualDub запускается за считанные доли секунды и сразу готов к работе
  • Хорошо сжимает видео в формат MP4
  • Легко экспортирует видео в последовательность картинок, и наоборот, из секвенции картинок создаёт видео
  • В сотрудничестве с программой AviSynth легко создаёт видео в специфических 3D-форматах. При этом длина выходящего файла не ограничена. Напомню, что специальная программа Stereo Movie Maker имеет ограничение на размер выходящего .avi файла до 2 Гбайт (если больше, то результат сохраняется в виде множества отдельных файлов).

Конечно, и недостатков у "Виртуального дуба" хватает, главный из которых заключается в том, что он заставляет как следует думать. Поэтому эту программу могу посоветовать только тем, кто хочет стать "продвинутым юзером", т.е. она не для всех.

Имея определённый опыт стерео съёмки, я и без предпросмотра представляю себе, какое 3D у меня получится, поэтому мне не нужна предварительная 3D-визуализация. Что действительно мне нужно знать отчётлво, так это то, что я монтирую оба ракурса синхронно. С точностью до кадра. Этой точности Adobe Premier Pro 2.0 на разрешении Full HD не давал - первая склейка проходила нормально, а вторая и последующие теряли один кадр. Я не стал дожидаться новых версий этого редактора и перешёл на VirtualDub. Пробовал, конечно, и Sony Vegas, но мне он показался неудобным, как и другие программы, которые, кстати, стоят немалых денег.

В редакторе VirtualDub нет определения "файл проекта" - план монтажа нужно составлять на бумаге (или держать у себя в голове). VirtualDub не импортирует видео, а всего лишь его открывает. Он не имеет ничего лишнего.

У этого видеоредактора есть невидимый друг AviSynth, который многократно увеличивает его силу. У программы AviSynth нет своего интерфейса, вообще никакого. В этом смысле уж точно - "ничего лишнего!". Действует эта программа-невидимка через специальные скрипты, которые нужно открывать с помощью VirtualDub как если бы они были обычными видеофайлами. Эти скрипты самому писать очень просто, а делать они могут очень сложную работу.

Наверно, нет смысла пересказывать основы работы с программами VirtualDub и Avisynth. Для начинающих есть очень хорошие статьи, по которым я сам учился:

Очень хорошая статья Евгения Сучева по VirtualDub на 3DNews
Очень хорошая статья Александра Балахнина по AviSynth на iXBT.com

Нас, в данном случае, интересует монтаж стереоскопического 3D-видео с помощью этих программ.

Сначала хотел бы сказать о творческом аспекте 3D-монтажа. Я пробовал разные монтажные переходы - все они производят нелепое впечатление. Учитывая, что в 3D монтировать приходится не плоские картинки, а объёмные пространства, пригодными к творческому применению оказались только обычная склейка и приём "из затемнения" ("в затемнение"). Даже титры, и те так просто не наложишь, объёмные буквы являются такими же полноценными объектами пространства, как и другие предметы. Вот и получается, что простейшего видеоредактора достаточно, чтобы монтировать стереоскопическое 3D-видео.

Проблема нулевого кадра

При монтаже стерео видео требуется точность до кадра, левое и правое видео должны точно совпадать по длине. Поэтому от проблемы нулевого кадра никуда не уйти. Человек так устроен, что в обыденной жизни начинает счёт предметов с 1 и далее. Если бы у Буратино спросили: "У тебя есть три яблока. Как ты их посчитаешь?", его ответ нетрудно предугадать. Мы не должны вслед за Буратино повторять -"Это первое яблоко, это второе, это третье". Мы должны сказать - "Это нулевое, это первое, это второе".

В цифровом видео нумерация кадров начинается с нуля. При работе с VirtualDub это наглядно видно, он не позволяет этого забыть никогда. Интерфейс у программы очень простой - глазу не за что зацепиться, и он зацепляется за этот ноль. В начале монтажного отрезка мы видим цифру ноль, а в конце - количество кадров, и эту "контрольную цифру" нужно всегда записывать на бумажке. Таким образом можно сэкономить очень много нервов, которые были бы потрачены при работе с "крутыми" видеоредакторами.

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

Причина популярности 3D формата Over/Under

Форматов для обработки и хранения 3D видео много, но основных три:

  • Left + Right - левое и правое видео отдельно. Не знаю даже, можно ли это назвать 3D-форматом. В чём он, этот "+" заключается? Левое и правое видео могут быть вообще на разных дисках, т.е. они никак не связаны между собой. Для монтажа это самый неудобный вариант.
  • Side-by-Side - левое и правое видео размещены бок-о-бок и объединены в один длинный кадр. Изображение представлено в виде узкой длинной полоски - не совсем удобный формат, но имеет право на существование
  • Over/Under - левое и правое видео размещены одно над другим и объединены в один высокий кадр. С точки зрения монтажа, этот формат не является более удобным, чем предыдущий, но является более функциональным в случае применения камер с чересстрочной развёрткой.
  • Большинство современных 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_videoname_your_video..._L.avi")
G = AviSource("S:For_stereo_videoname_your_video..._R.avi")
F = StackVertical (A,G)
audio = WAVSource("S:For_stereo_videoname_your_video.wav")
AudioDub(F,audio)

Подставьте свои названия диска, папки и видео и сохраните этот файл с названием script_Over_under.avs После этого откройте этот скрипт с помощью VirtualDub как будто это простой видеофайл. Теперь сохраните как AVI файл.

Далее желательно обрезать явно лишние и совершенно ненужные для монтажа участки. Но это уже, собственно, сам монтаж.

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

Процесс монтажа

Надеюсь, понятно, что я монтирую 3D как 2D? Монтирую левый ракурс, точно зная, что он составляет с правым единое целое. При разрешении монитора ПК 1920x1080 пикселей, 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_videoname_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_videoname_your_video_over_under.avi")
# fade-out the last 30 frames to black
FadeOut(30)

На всякий случай привожу текст скрипта "Dissolve", который позволяет сделать так, чтобы одно изображение постепенно исчезало, а другое в это время появлялось:

# Load sources
A=AviSource("S:For_stereo_videoname_your_first_video.avi")
B=AviSource("S:For_stereo_videoname_your_second_video.avi")
# 30 frame Dissolve between clipA & clipB
Dissolve(A,B,30)

После того, как картинка смонтирована, остаётся смонтировать звук. К сожалению, в VirtualDub не очень удобно работать со звуком, поэтому я рекомендую для финального монтажа звуковой дорожки использовать Adobe Premier Pro.

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

A = AviSource("S:For_stereo_videoname_video..._over_under.avi")
# crop the dimensions of the video frame from 1920x2160 to 1920x1080
B = Crop(A, 0, 0, 0, -1080)
# resize the dimensions of the video frame from 1920x1080 to 640x360
C = GaussResize(B, 640, 360)
return C

Подставьте свои названия диска, папки и видео и сохраните этот файл с названием: script_To_small_size.avs

После того, как смонтируете звуковую дорожку, желательно сохранить звук отдельно в виде файла с названием ready_sound_for..._.wav. На всякий случай. В дальнейшем, если будете делать цифровой 3D-кинопакет DCP для показа своего фильма на "большом" экране кинотеатра, вам придётся работать со звуком и изображением отдельно.

Чтобы выделить из LR Over/Under видео левый ракурс, можно использовать скрипт Extract_left_from_over_under.avs

A = AviSource("S:For_stereo_videoname_video..._over_under.avi")
# crop the dimensions of the video frame from 1920x2160 to 1920x1080
B = Crop(A, 0, 0, 0, -1080)
return B

Чтобы выделить из LR Over/Under видео правый ракурс, можно использовать скрипт Extract_right_from_over_under.avs

A = AviSource("S:For_stereo_videoname_video..._over_under.avi")
# crop the dimensions of the video frame from 1920x2160 to 1920x1080
B = Crop(A, 0, 1080, 0, 0)
return B

Если хотите разместить своё 3D-видео в Интернете, например, на популярном сервисе YouTube, для этого нужно редуцировать видео на 50%. Для этого напишем несложный текст:

# Load source
A = AviSource("S:For_stereo_videoname_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 кинотеатра!

Автор: Владимир Климов, ведущий специалист по технологии стерео кино и стерео телевидения

Дата публикации: 2012-03-19