...
...

Работа с видео — это просто? ДА!!!

Работа с видео — это просто? ДА!!! У кого есть видеокамера, 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) за его бескорыстный труд, а также Алексу Вихрову, который в свое время оказал неоценимую помощь в поиске этой программы и изучении базовых возможностей.

Смирнов Валерий smirnovv@tut.by



© Компьютерная газета

полезные ссылки
IP камеры видеонаблюдения
Корпусные камеры видеонаблюдения