Работа с видео — это просто?
ДА!!!
Смирнов Валерий
У кого есть видеокамера, TV-тюнер,
видеомагнитофон, тем или иным способом
подключенные к PC, не раз возникало
желание перевести видео с аналоговых
носителей к цифровому виду. Это можно
сделать различными способами: карта
видеозахвата, видеокарта с
возможностью подключения периферии и,
соответственно, нужен софт, который,
как правило, поставляется с
оборудованием. Однако такой софт не
всегда удовлетворяет требованиям
рядового пользователя. Конечно, есть
Adobe Premiere, но все знают, насколько
требовательна она к ресурсам: чтобы
загрузить — все нервы испортишь. Где же
выход? Оказывается, выход есть, и он
всем доступен.
Кое-кто уже догадался, что речь
пойдет о программе Virtual Dub. Условия
распространения freeware, размер
дистрибутива 708 Kb, после распаковки 801 Kb.
Скачать можно здесь: http://www.geocities.com/virtualdub.
Также понадобится кодек, лучше всего
подойдет DivX, который распространяется
на условиях открытого кода. В Интернете
уже можно найти кодек версии 5.0, однако
подойдет любая версия.
Virtual Dub довольно прост в
обращении, не требователен к ресурсам,
имеет удобный интерфейс.
У программы есть много
полезных и иногда уникальных
возможностей.
Программа позволяет
осуществлять захват видео,
конвертирование видео в другие форматы,
резание и склейку фрагментов. Нужно
отметить, что существует два метода
обработки видео — с рекомпрессией и
без оной. При рекомпрессии: сначала
каждый кадр декодируется, потом
накладывается нужный эффект или
производится другое действие и потом
кадр снова кодируется. Все бы хорошо, но
слишком медленно процесс движется, и
теряется качество. Обработка без
рекомпрессии заключается в простом
копировании информации о кадре без ее
раскодировки и происходит значительно
быстрее и не ухудшает изображения,
однако она не позволяет менять
содержимое кадра. В качестве формата
хранения данных в Virtual Dub используется
AVI.
В качестве входных файлов Virtual
Dub может использовать MPG (MPG-1), DAT, AVI и Motion
JPEG-формат, в котором обычно сохраняют
клипы платы видеозахвата. Virtual Dub
содержит встроенный декодер MPEG-1 и
Motion-JPEG, что позволяет открывать файлы,
которые не могут воспроизводиться
стандартными средствами Windows.
Особенно хорошо в Virtual Dub
продуман захват видео с внешних
источников. Известно, что при захвате с
аналоговых источников сложностью
является проблема с полями. Она
возникает из-за того, что телевизоры и
видеомагнитофоны работают в режиме
чересстрочной развертки, а мониторы
компьютеров — в прогрессивной. Т.е.
компьютер выводит кадры целиком, а
телевизор — полукадрами,
составленными из четных и нечетных
строк. Но эти полукадры или поля
записаны с разницей во времени. И
потому, если просто объединить два
соседних полукадра, на полученной
картинке на границах движущихся
объектов возникает "нерезкость" в
виде зубцов. В Virtual Dub есть специальные
Deinterlace-алгоритмы, с помощью которых
можно преодолеть эти проблемы.
Еще одна проблема, возникающая
при захвате видео, — "барьер в 2 Гбайт".
Эта проблема заключается в том, что
видеофайл не может превышать те самые 2
Гбайт. При захвате 2-х Гбайт видео
получается всего минут на 10-15, хотя все
зависит от кодека и выбранного
разрешения. Virtual Dub позволяет при
захвате автоматически разрезать фильм
на куски объемом 2 Гбайт без потери
кадров на стыках и после работать с
ними как с одним файлом (Segmented AVI).
Еще одна отличительная черта
Virtual Dub — наличие большого числа
различных фильтров. Причем можно
устанавливать еще и дополнительные
фильтры или написать самому!
Очень удобна возможность накладывать
на один кадр несколько фильтров при
помощи специального фильтра,
вызываемого через меню video\filters(Ctrl+F).
Можно, к примеру, применить эффект Blur,
увеличение контрастности и др. При этом
результат зависит от порядка наложения
фильтров. Большинство из них работает
очень быстро, поэтому результаты их
применения можно наблюдать RealTime.
Основные фильтры VirtualDub (для версии
1.4.7)
2:1 reduction(high quality) — уменьшает
размер каждого кадра 2:1 в обоих
направлениях (MMX оптимизирован);
blur, blur more — размытие по Гауссу двух
различных радиусов;
box blur — выполняет быстрое треугольное
или кубическое размытие;
brightness\contrast — позволяет настраивать
яркость и контрастность изображения (MMX
оптимизирован)
deinterlace — набор фильтров для работы с
искажениями, связанных с чересстрочной
разверткой (MMX оптимизирован);
emboss — конвертирует края и границы
изображения в тени, производя 3D-подобный
эффект;
invert — инвертирует цвета в изображении (заменяет
изображение его негативом);
motion blur — размывает смежные кадры
одновременно;
resize — изменяет размер кадра;
rotate — поворачивает изображение на
90,180,270 градусов;
sharpen — повышает контрастность между
смежными элементами в изображении (MMX
оптимизирован);
smoother — динамически сглаживает
изображение, пока края не "смазаны"
— удаляет высокочастотный шум (MMX
оптимизирован);
threshold — конвертирует изображение в
черно-белое, пока сравнивает яркостные
величины;
TV — пытается замаскировать "шум",
характерный для телевидения;
и многие другие фильтры.
Процесс кодирования, записи
довольно долог, поэтому в Virtual Dub есть
функция Job Control, которая позволяет
задавать последовательность задач,
пока вы, например, спите (что происходит
довольно редко).
Также полезной функцией
программы является возможность записи
звуковой дорожки в виде WAV-файла. Еще
одна интересная особенность —
обработка видео на нескольких
компьютерах, объединенных в локальную
сеть.
Насчет интерфейса могу
сказать, что он продуман неплохо.
Главное окно содержит два "экрана".
В левом мы можем видеть кадры исходного
видео, а в правом — после
преобразования. Ниже расположена
полоса прокрутки и функциональные
кнопки: в начало, в конец, на предыдущий
кадр, на следующий кадр, кнопки
выделения фрагмента клипа, выделение
ключевого кадра.
При работе с видео часто
возникает задача перевода клипа из
одного формата в другой. Пусть нам
требуется перевести файл с формата MPEG-1
в MPEG-4.
— открываем MPG файл с помощью
VirtualDub (File/Open Video File);
— выбираем видеокодек (в нашем случае
DivX: video/compression/DivX Pro 5.0 Codec, и параметры
сжатия Configure;
— если мы хотим наложить фильтр,
изменить частоту кадров или глубину
цвета — выбираем соответствующий
пункт на вкладке Video;
— включаем режим обработки видео с
рекомпрессией (video/full processing mode);
— если нужно оставить звук без
изменений — включаем прямое
копирование звуковой дорожки из
старого файла в новый (Audio/Direct stream copy),
иначе выбираем кодек, так же, как и для
изображения (Audio/Compression...), и
переключаемся в режим обработки видео
с рекомпрессией (Audio/Full processing mode);
— это все! Осталось запустить процесс (File/Save
Avi).
Во время процесса кодирования
появляется окошко с данными: номер
текущего кадра, величина потока, время
окончания процесса, предполагаемый
размер конечного клипа и другая
полезная информация.
Еще одна замечательная
функция Virtual Dub — склейка двух AVI-клипов:
например, у нас два компакта в формате
Video CD и после компрессии есть
возможность соединения этих двух
клипов в один. Необходимым условием
склейки является, чтобы оба фрагмента
были закодированы с одинаковой
частотой кадров и одним и тем же
кодеком. Для этого:
— открываем первый видео-файл (File/open video
file).
— добавляем второй видео-файл (File/Append
video segment).
— отключаем компрессию (Video/Direct stream copy,
Audio/Direct stream copy).
— сохраняем полученный клип (File/Save
AVI).
Вырезать кусок клипа еще проще:
— открываем AVI файл;
— отключаем компрессию;
— выделяем фрагмент по ключевым кадрам;
— сохраняем фрагмент.
Вот и все! Как видите, работа с
программой становится понятной
буквально сразу. Хочу отметить, что
работать с программой можно на любой
машине, но чем больше MHz у вашего камня,
тем быстрее пойдет процесс. К примеру, у
меня на Celeron-1067 MHz (шина 133 MHz) процесс
кодирования фильма занимает 75-85%
времени от длительности фильма —
скорость кодирования от 30 до 45 fps/s.
Выражаю благодарность автору
этой программы Avery Lee (http://virtualdub.sourceforge.net)
за его бескорыстный труд, а также
Алексу Вихрову, который в свое время
оказал неоценимую помощь в поиске этой
программы и изучении базовых
возможностей.
Источник: http://www.nestor.minsk.by/kg