Nickolay.info. Видео. Обработка видео с помощью редактора VirtualDub

В этой статье:
нарезка и склейка видео;
раскадровка видео;
все стандартные фильтры VirtualDub с описанием;
обработка группы файлов в VirtualDub.

Скачайте и установите последнюю версию VirtualDub с домашней страницы проекта: http://virtualdub.sourceforge.net. Никаких инсталляций этой замечательной программе не нужно, достаточно развернуть архив в отдельную папку.

Приложение официально бесплатно, имеет большой набор встроенных инструментов и отлично подходит для обработки видеофайлов. Если какие-либо кодеки не установлены в Вашей системе, предварительно скачайте и установите последнюю версию бесплатного пакета кодеков K-Lite Mega Codec Pack с его официальной страницы: http://www.codecguide.com/download_k-lite_codec_pack_mega.htm

Ниже описано, как делать типовую обработку видео VirtualDub'ом, никакой "воды", только самое нужное.

В официальной сборке по умолчанию VirtualDub может не открывать некоторые файлы MPEG2, тогда либо ищем альтернативную сборку VirtualDub, которая это делает (например, немного устаревшую, но надёжную сборку Virualdub-MPEG2-Rus 1.6.11 с русским интерфейсом скачайте прямо здесь, размер архива 1189 Кб), либо используйте для нарезки файлов MPEG утилиту MPEG-VCR (прочитать и скачать можно здесь).

Нарезка и склейка видео.
Щелкнуть по бегунку под кадром - перейти к нужному месту фильма;
Стрелки влево/вправо - листать по кадрам;
Вырезать фрагмент из фильма:
Home - пометить начало фрагмента;
End - пометить конец фрагмента;
[ - перейти к началу выделения;
] - перейти к концу выделения;

F7 - сохранить выделенный фрагмент как файл AVI;
Ctrl+X - вырезать фрагмент.

Соединить фрагменты, ранее сохранённые в файлах: открыть один файл, затем выполнить команду File, Append AVI segment - и второй сегмент приклеен к первому. Команда не будет выполнена, если кадры сегментов разного размера в пикселах. Тогда сначала воспользуйтесь фильтром: для этого нужно открыть второй фрагмент, меню Video, Filters..., кнопка Add, выбрать resize из списка, кнопка ОК, выбрать новый размер кадра видео (New size), соответствующий первому фрагменту. Если у фрагментов ещё и пропорции разные, выберите Letterbox/crop to size и "подгоните" размеры вручную. Далее F7 (сохранить новый файл, "склеенный" из двух). Разумеется, кодеки аудио у двух фрагментов, взятых из разных файлов, также могут не совпадать, тогда можно пересохранить аудио из второго фрагмента и потом заново загрузить его в этот же фрагмент: выбрать в меню File, Save WAV..., указать путь для сохранения файла. Чтобы наложить аудио - меню Audio, Audio from other file... и загрузить. Также сохраняются и накладываются звуковые дорожки независимо от видео.

Раскадровка видео.
Выделять фрагменты мы уже научились, теперь посмотрим как сохранить отдельные кадры выделенного фрагмента в виде картинок: меню File, Export, Image sequence... Переключателем Output format выберите тип файла, с помощью поля ввода и кнопки Directory to hold укажите нужную папку. Получите серию рисунков с именами 0000, 0001 и т.д. - по умолчанию количество цифр в имени файла (Minimum numbers of digits is) равно 4 это число, конечно, можно изменить. Если нужен общий для всех файлов префикс в имени - укажите его в поле Filename. С помощью меню File, Export, Animated GIF легко также получить анимированную картинку из фрагмента фильма.

Наложение фильтров.
В VirtualDub есть множество встроенных фильтров, которые можно накладывать на видеопоток. Список стандартных фильтров от версии к версии немного меняется, здесь я ориентируюсь на официальную сборку версии 1.9.10, последнюю на момент написания статьи. Для управления фильтрами предназначено окно Video, Filters... Посмотрим на основные функции управления списком фильтров:

Управление фильтрами VirtualDub

Можно дополнительно накладывать внешние фильтры, т.е. те, которых нет в текущей сборке VirtualDub, но которые можно к нему подключить. Для этого в окне Filters нажмите кнопку Add..., а затем кнопку Load... в окне Add Filter. Формат фильтра VirtualDub - *.vdf, в Интернете можно найти много свободно распространяемых фильтров. Фильтры, входящие в стандартный комплект, описаны ниже. Большинством из них при неграмотном использовании можно только испортить качество, поэтому названия важных для новичка и относительно "безопасных" фильтров выделены жирным.

Основные фильтры для стандартной сборки VirtualDub.
2:1 reduction - уменьшает размер изображения по горизонтали и по вертикали в 2 раза;
blur more и blur - фильтры для размытия изображения, честно говоря, непонятно, зачем они нужны;
bob doubler - как я понял, это нечто для удвоения частоты кадров (fps). В настройках есть кнопка "Show preview", нажав которую, можно сразу видеть результаты работы фильтра;
box blur - настраиваемый фильтр размытия изображения. Фильтр также с предпросмотром, лучше всего выглядит опции ELA и Adaptive ELA;
brightness/contrast - фильтр позволяет изменить яркость и контрастность изображения, есть предпросмотр;
chroma smoother - фильтр с предпросмотром для сглаживания высокочастотных шумов в изображении;
convert format - фильтр позволяет поменять цветовую гамму и кодирование цветов в видео;
deinterlace - встроенный фильтр для устранения "ряби" изображения. Работает не очень хорошо, лучше поискать в Сети внешний фильтр "smart deinterlace";
emboss - в Adobe Photoshop такой эффект называется "рельеф". Действительно превращает изображение в страшный рельеф :)

Фильтр emboss в VirtualDub

field bob - фильтр призван бороться с дрожанием изображения, получающегося при разделении кадров видео на поля и удвоении частоты (режим 50 fps);
field delay - позволяет задать, какие из полей интерлейсного видео будет идти первыми, нечётные (сверху вниз) или чётные (снизу вверх);
field swap - удаляет чередование строк из видео;
fill - позволяет добавить вокруг кадра прямоугольную рамку заданного размера и цвета;
flip horizontally и flip vertically - просто отражают изображение по горизонтали и вертикали соответственно;
general convolution - специфичный фильтр, делающий свёртку на матрице 3*3 пиксела - то есть, цвет каждого пиксела изображения вычисляется как функция от исходного цвета и цветов 8 соседних пикселов;
grayscale - делает Ваше цветное видео чёрно-белым;
HSV adjust - фильтр цветовой гаммы, позволяет изменить насыщенность и яркость, есть предпросмотр;
interlace - создаёт чередование кадров, уменьшая fps видео вдвое;
interpolate - также издевается над частотой видео (fps, количеством кадров в секунду), но позволяет задать её точно;
invert - обращает цвета видео;
IVTC - Inverse Telecine, фильтр реконструирует прогрессивность кадров;
levels - управляет входным и выходным уровнями яркости изображения. Когда изображение слабоконтрастно, перемещайте верхние левый и правый указатели так, чтобы сузить входной диапазон. Всё, что останется слева от чёрной стрелки, станет чёрным; то, что справа от белой стрелки, станет белым. Серая стрелка в середине регулирует гамму, указывая на 50% в выходном диапазоне. Для того, чтобы использовать этот фильтр, желательно получить гистограмму образца видео (нажимайте кнопку "Sample frame", чтобы видеть гистограмму, кнопка откроется после нажатия "Show preview"). А затем переместить входные границы внутрь так, чтобы тёмные части изображения стали чёрными, а яркие - белыми;

Фильтр levels для VirtualDub

logo - позволяет наложить на видео картинку-логотип;
motion blur - фильтр "смазывает" смежные кадры, складывая их так, чтобы позволяет убрать "шум" из видео, однако, после обработки этим фильтром часто появляются "следы" и "призраки" за движущимися объектами, кроме того, изображение становится более тёмным. Возможно, имеет смысл после motion blur включать фильтр levels для небольшого осветления;
null transform - самый безопасный фильтр; он ничего не делает, обычно используется как "заглушка", чтобы настроить только обрезание изображения (вспомните про кнопку Cropping в окне управления фильтрами);
perspective - искажение кадра в выбранной при настройке перспективе, также есть предпросмотр, там всё видно;
resize - изменение размеров кадра; по умолчанию фильтр будет настроен на исходные размеры видео. При задании новых размеров следует помнить, что большинство программ имеет опредёленные требования к разрешению (размеру кадра) видео, например, существуют стандартные пропорции ширины и высоты 4:3 и 16:9, а также типовые размеры кадров, вроде VGA (640x480), видеодиск NTSC (352x240), видеодиск PAL/SECAM (352x288) и т.д. Параметр "Filter mode" может также повлиять на то, что Вы увидите после фильтрации, я обычно беру Precise bicubic (A=-1.0), но это не обязательное правило. Например, если источник видео довольно "шумный", часто берут Precize bilinear, однако, последний будет делать картинку несколько мутноватой. Оставлять выбранное по умолчанию Nearest neightbor точно не стоит;
rotate - поворачивает изображение на 90, 180, или 270 градусов;
rotate2 - навороченный поворот на произвольный угол с предпросмотром;
sharpen - увеличивает контраст между сливающимися элементами в изображении, проще говоря, это настройка резкости изображения. Есть предпросмотр, поэтому легко увидеть, что получается; не нужно пытаться "исправить" этим фильтром сильно зашумлённые изображения;
smoother - удаляет высоко-частотные шумы из изображения, что эффективно уменьшает размер выходного файла, но создаёт некоторый эффект размытия картинки. Степень сглаживания регулируется, есть предпросмотр и опция шумоподавляющего фильтра (Enable noise prefilter);
temporal smoother - также фильтр уменьшения шума с настройкой интенсивности от 1 до 10, пытается фильтровать случайные шумы с учётом фактора времени, значение 5-6 подходит для сильно зашумлённых файлов, значения ещё больше использовать не стоит;
threshold - все пиксели темнее заданного настройкой уровня становятся чёрными, остальные - белыми. Таким образом, получается получить чёрно-белое и очень контрастное изображение;
TV - корректирует или маскирует шум от видеоисточников с ТВ, особенно VHS. Не ожидайте многого от этого фильтра, однако, попробовать стоит. Предпросмотра у фильтра нет;
warp resize - пытается изменить размеры изображения с компенсацией потерь разрешения;
warp sharp - усиливает контрастность и подчёркивает края, есть предпросмотр.

Обработка набора файлов в VirtualDub.
Чаще всего приходится делать как раз это - пережать набор скачанных фильмов во что-то более компактное и/или удобоваримое для Вашего мобильного устройства, DVD-плеера и т.п. Обычно процесс такой:

1. Скачать нужные фильмы, скидать их в одну папку.

2. Добавить нужные фильтры и проверить общие настройки видео и аудио. Заходим в меню Video, Compression, выбираем слева нужный кодек - меня обычно устраивает DivX 6.8.5. Следует понимать, что Ваше устройство может не воспроизводить или "криво" воспроизводить часть кодеков, например, у меня был видеоплеер, отлично показывающий видео AVI с кодеком DivX и показывающий только цветные пятна вместо AVI с альтернативным кодеком XVID (то, что люди обычно называют "часть AVI идёт, а часть нет"). Приходилось пережимать. В меню Video выберем также переключатель Normal recompress. В меню Audio выбрано прямопотоковое копирование (Direct stream audio) и аудио AVI (Source audio).

3. Из VirtualDub вызвать окно управления заданиями (клавиша F4). В меню нового окна выполнить команду Edit, Process directory и показать на папку с фильмами. Следом снова появится окно выбора папки Select target directory - покажите там папку, куда нужно писать выходные файлы. Появится список видеофайлов из папки-источника, их легко поменять в очереди местами (кнопки Move up, Move down) или удалить из обработки (Delete). Нажимаем Start - работа началась. Процесс может быть не быстрым, так что полезная возможность - команда меню Options, When finished - там можно настроить перевод компьютера в спящий режим или его выключение по окончании обработки.

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

Рейтинг@Mail.ru

вверх гостевая; E-mail