Сайт о телевидении

Сайт о телевидении

» » Как установить программу virtualdub. Инструкция по использованию VirtualDub

Как установить программу virtualdub. Инструкция по использованию VirtualDub


Делаем простые операции с видео в VirtualDub

Прежде всего, нашего сайта, дальнейшее описание работы с программой будет именно на примере данного дистрибутива. Он не требует установки, и после того, как разархивируете архив, заходите в папку и открывайте VirtualDub.exe, перед вами появится вот такое окно:


Программа хоть с виду и простая, но запутаться в ней легко, поэтому давайте по порядку рассмотрим её функции. Прежде всего, нужно выбрать видео файл, с которым вы собираетесь работать, для этого выбираем «Файл» -> «Открыть видео файл». Здесь обратите внимание на две галочки внизу диалогового окна - "Automatically load linked segments" и "Ask for extended options after this dialog". Выбор первой галочки предназначен для открытия связанных видео или графических файлов. Связь подразумевается по названию файлов, т.е. clip1.avi, clip2.avi и т.д.
Вторая галочка предназначена для вывода дополнительных опций при открытии файла.


Здесь можно выбрать цветовую гамму, видео и аудио модуль декодера. Это весьма специфичные настройки, и если вы не знаете их предназначения, то лучше оставить их как есть.
Рассмотрим далее пункты основного меню: очень полезной функцией является возможность добавить AVI сегмент. Для этого, предварительно скачайте AVIcodec - . Прежде чем присоединить видео фрагмент, нужно убедиться, что они одинаковые по ряду параметров: частота кадров(fps), размеру и разрешении картинки, битрейту, кодеку, количеству каналов. Это можно проверить в AVIcodec. Поочередно открываем в нем нужные видеофайлы и смотрим на отображаемые параметры:


Ну а затем все просто, открываем в virtualdub первый видео файл, а затем выбираем в том же меню «добавить AVI сегмент». После этого во вкладке «Видео» выбираем «Прямопотоковое копирование»,и во вкладке «Аудио» тоже самое. Затем, во вкладке «Видео» выбираем «Частота кадров», указываем нужное значение и затем ОК. И на этом все, можно сохранять объединенный видео файл.
Давайте рассмотрим оставшиеся пункты меню «Файл»:
  • «Просмотр входного потока» - просмотр видео, открытого в virtualdub;
  • «Фильтрованный просмотр» - просмотр видео после обработки его фильтрами;
  • «Просмотр выходного потока» - просмотр видео на выходе VirtualDub.

Обрезка видео фрагментов в virtualdub

Давай теперь рассмотрим, как сделать в этой программе порой самые необходимые действия – обрезать или вырезать кусок видеофрагмента. Это сделать в virtualdub довольно просто, открываете нужный видео файл, и по шкале внизу программы пролистываете видео до нужного кадра. Как только нашли его, то нужно поставить отметку, нажав на кнопку со значком в виде кнопки L:

Затем, нужно аналогичным образом отлистать до конечного кадра, также выделить его, нажав на кнопку с обратным значком, она расположена справа от предыдущей кнопки. Ну и затем, в меню «Файл» выбрать пункт «сохранить как AVI».
Таким образом, мы рассмотрели основные операции, как вставка и обрезка видео фрагментов в программе virtualdub. Конечно, этим возможности программы не заканчиваются, но рассмотреть их все в рамках одной статьи невозможно.

Введение

Программа VirtualDub должна быть знакома всякому, кто сколько-нибудь серьезно занимается цифровым видео. Дело в том, что с ее помощью можно выполнять множество различных задач из совершенно разных областей - многие даже не подозревают, сколь широк диапазон ее возможностей. Итак, попробуем разобраться, чем VirtualDub (часто ласково называемый просто "Дуб") может быть полезен.

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

  • перекодирование видеофайлов из одного формата в другой;
  • применение фильтров (очистка от шумов, стабилизация дрожания, изменение размеров, ...);
  • резка/склейка файлов без перекодирования, замена или добавление звуковых дорожек;
  • захват видео с аналоговых источников;
  • покадровый просмотр, анализ качества изображения, сохранение отдельных кадров в файл (скриншоты);
  • пакетная обработка множества файлов.

Немаловажным плюсом является и то, что VirtualDub занимает на диске всего 1-2 мегабайта, не требует установки, распространяется свободно (текущую версию можно скачать с http://virtualdub.sourceforge.net). Кстати, последнее обстоятельство привело к тому, что помимо самого VirtualDub, существует еще ряд его модификаций (VirtualDubMod, VirtualDub-MPEG2 и т.д.), отличающихся дополнительными возможностями.

Архитектура работы

Прежде чем перейти к подробному рассказу про возможности VirtualDub, необходимо сделать некоторые важные замечания по поводу общей архитектуры программы и поддерживаемых форматах.

VirtualDub нацелен на работу прежде всего с AVI файлами. Точнее, так: на выходе мы получаем AVI файл (хотя есть возможность работы в роли т.н. фреймсервера (frameserver), аналогично утилите AviSynth; модификация VirtualDubMod умеет дополнительно сохранять в контейнеры Matroska (MKV) и OGM), а на вход можно подавать AVI, MPG, AVS и некоторые другие типы файлов. При этом из общих соображений понятно, что AVI на входе и на выходе - это некоторая выделенная ситуация (действительно, в таком случае можно производить обработку без перекодирования - об этом ниже).

AVI файлы, как вы, наверное, знаете, содержат обычно один поток видео и 0, 1 или больше потоков звука. При этом само расширение файла не говорит практически ничего о его содержимом: AVI файл - это всего лишь контейнер, в котором могут храниться данные с различными форматами сжатия. Возможность работы с ними определяется наличием соответствующих кодеков (отдельно для видео и звука). В Windows существует две разные подсистемы работы с видеоданными - более старая Video for Windows (VfW) и более современная DirectShow (DS). И та, и другая предусматривает унифицированный интерфейс работы с любыми форматами сжатия - программа, работающая с видеофайлом, не обязана знать, как именно он закодирован - достаточно, чтобы в системе был зарегистрирован соответствующий модуль декодирования. VirtualDub и многие другие видеоредакторы используют интерфейс VfW, в то время как большинство проигрывателей - технологию DirectShow.

Что это означает на практике? Может оказаться так, что какой-либо файл, который прекрасно проигрывается плеером, VirtualDub не сможет открыть, т.к. в системе есть только DS декодер данного формата, но нет VfW кодека (в Video for Windows практически всегда компрессор и декомпрессор идут вместе и называются словом кодек, в то время как в DirectShow часто бывает только декодер). Например, раньше часто можно было встретить ситуацию, когда видео с цифровой камеры miniDV на "чистой" системе проигрывалось с использованием DS декодера от Microsoft, но не открывалось в дубе - требовалось установить VfW кодек, например, от MainConcept или Canopus. (В последних версиях VirtualDub имеется встроенный декодер (но не кодировщик!) для формата DV, также как и для формата MJPG, часто используемого в аппаратных платах аналогового видеозахвата). Отметим еще, что в противоположном случае, когда для формата сжатия есть только VfW кодек, то он автоматически будет воспроизводиться и в подсистеме DirectShow. Наконец, упомянем, что можно "подружить" дуб и с DirectShow - см.раздел про VirtualDubMod в конце статьи.

Итак, обычно работа в VirtualDub строится следующим образом: открывается видеофайл или несколько файлов, состыковываемые один за другим, с ними производятся какие-либо действия, результат сохраняют в другой AVI файл. Исходные файлы ни при каких условиях не меняются.

Настала пора обратиться к интерфейсу программы.

Интерфейс

Основную часть окна программы занимают два окна, отображающие входной и выходной (после применения фильтров) видеопотоки. (Поскольку фильтры могут менять размер изображения, то в общем случае оба окна неодинаковы по размеру; кроме того, можно вручную установить масштаб, отличный от 100%). Под ними находится линейка прокрутки с подписанными номерами кадров. В отличие от настоящих программ монтажа, в VirtualDub нет ни многодорожечного режима, ни timeline в обычном понимании - только одна полоса прокрутки. Причем если вы удалили какой-либо кусок, то он бесследно исчезает из обращения (впрочем, всегда есть кнопка Undo и команда Edit/Revert all edits, которая сбрасывает все операции с полосой прокрутки). Если вы пристыковали несколько клипов друг к другу, то полоса будет отображать их суммарную длительность. Само собой, перемещением маркера по полосе прокрутки мы добиваемся отображения нужного кадра в обоих окошках. Номер кадра и время, которое ему соответствует, показано чуть ниже, вместе с информацией о типе кадра (в квадратных скобках). Для AVI файлов K обозначает ключевой кадр (Keyframe), пусто - дельта-кадр, D - пропущенный кадр (Dropped frame, в нормальной ситуации таких быть не должно).

Для Mpeg файлов исторически обозначения другие: I - ключевой кадр, P - дельта-кадр, B - двунаправленный дельта-кадр. В Avi файлах часто ключевые кадры отстоят друг от друга на несколько сотен кадров, поэтому отображение произвольного кадра потребует распаковки всех дельта-кадров от предыдущего ключевого, что может быть достаточно медленным делом. Для перемотки в файле, кроме двигания маркера мышью, служат курсорные клавиши с различными модификаторами (см. в меню Go), из которых самый полезный - нажатие Shift, позволяющее перемещаться только по ключевым кадрам (также и при движении мышью). Такое перемещение не очень точно, но зато быстро - требуется декодировать только один кадр, а не целую цепочку. Еще отметим, что Home и End не приводят к перемещению в начало и конец клипа (для этого служат Ctrl+влево/вправо), а отмечают начало и конец фрагмента для обработки. Далее можно либо удалить отмеченный фрагмент кнопкой Del (можно сделать и что-нибудь более конструктивное, например, с помощью Ctrl+C-Ctrl+V скопировать и вставить его в другое место на линейке прокрутки Дуба, но не в другое приложение), либо же при сохранении файла будет обработана только выделенная область.

После того, как вы открыли нужные файлы, вырезали ненужные куски, настроили фильтры и прочие параметры обработки (см.ниже), выбираете File/Save as AVI и запускаете процесс обработки, во время которого на экран выводится индикатор прогресса с дополнительной информацией, а в окошках отображаются кадры исходного и обработанного видео (не все подряд, а раз в секунду, и только в режиме Full processing mode).

При сохранении файла возможны два различных варианта работы: если вся обработка сводится к вырезанию кусков или склейке файлов, либо к замене звука, и при этом исходный файл (файлы) были в формате AVI, то можно и нужно использовать режим без перекодирования (Direct Stream Copy в меню Video). В этом случае сжатые кадры видео напрямую передаются из входного в выходной поток (естественно, без раскодирования и показа на экране), соответственно, качество и размер файла не меняется. Во всех других случаях нужно ставить режим Full Processing Mode и, соответственно, задавать кодек для сжатия (меню Video - Compression) и настроить его параметры (через диалог, вызываемый кнопкой Configure; настройки на общем экране выбора кодеков - Quality и target data rate - в современных условиях чаще всего не применяются).

Есть еще два промежуточных режима: Fast recompress имеет смысл использовать при перекодировании из одного формата сжатия в другой без наложения фильтров в VirtualDub. В частности, для сжатия видео, подаваемого через AviSynth скрипт. В этом случае также на экран при сохранении может ничего не выдаваться. Режим Normal recompress практически не имеет смысла применять. Аналогичные режимы есть и для звука, только там варианта всего два - прямое копирование и полная обработка (в т.ч. с указанием сжатия и применением звуковых фильтров).

Еще из полезных особенностей можно отметить возможность отображения в выходном окошке видеоданных, полученных после распаковки сжимаемого видеопотока (Display decompressed output). Таким образом можно оценить качество сжатия и, если оно недостаточно, прервать обработку, не дожидаясь завершения всего процесса. Хотя эта опция замедляет работу и не всегда применима. Также можно полюбоваться работой фильтров без сохранения файла (режим Preview): в этом случае на экран выводятся все кадры, причем если скорость обработки недостаточно высока, то скорость показа будет соответственно меньше нормальной, а звук будет прерываться. Практически такой же результат (проигрывание выходного потока) достигается нажатием кнопки в левом нижнем углу, а кнопка , соответственно, воспроизводит только входной поток.

Возможности по обработке видео

Перейдем к описанию того, что же, собственно, можно делать с видео. Как уже было сказано, кроме возможности резки-склейки файлов без перекодирования (которую мы подробнее разберем в первом примере) VirtualDub славится своими фильтрами. Имеется три десятка встроенных фильтров и возможность подключения внешних плагинов, которых написано довольно много разными людьми. Порою не имеется сопоставимых по качеству аналогов для других программ. (Справедливости ради надо сказать, что в последние годы фокус внимания фильтрописателей сместился в сторону создания плагинов для AviSynth, утилиты, имеющей сходную архитектуру, но совершенно другой интерфейс). Фильтры можно добавлять в произвольном количестве и порядке через меню Video - Filters:

Рядом с каждым фильтром отображается размер кадра до и после его применения (с учетом обрезки - Cropping), а также некоторые его параметры. Подробное описание фильтров и рекомендации по их применению выходят за рамки данной статьи - да и возможностей столько, что нужно в каждом случае разбираться отдельно. Здесь мы дадим только общие рекомендации. Фильтры можно приблизительно разделить на несколько тематических групп:

  • изменение размеров изображения (Resize), обрезка/добавление полей (Null transform с опцией crop), поворот (Rotate - для видео, снятого фотоаппаратом в вертикальной ориентации, не делайте так в следующий раз!);
  • очистка от шумов (Chroma noise reduction, Smart smoother HiQ, Dynamic noise reduction, Temporal smoother, NeatVideo и т.д. - в основном внешние плагины);
  • настройка изображения (Levels, Brightness/contrast, Autocorrection of white balance, Grayscale и т.д.);
  • работа с чересстрочным (interlaced) изображением (различные варианты Deinterlace, включая встроенный);
  • прочие фильтры (Deshaker - устранение дрожания камеры, Logo и Delogo - нанесение логотипов и борьба с оными, Subtitler - добавление субтитров и т.д.).

Работу фильтра можно ограничить определенным диапазоном кадров (кнопка Blend и команда View/Curve editor). Мы не будем останавливаться на этой возможности (ее описание можно найти в справке), а рассмотрим подробнее одну из самых часто используемых функций - масштабирование (resize) и обрезка краев (crop). В последних версиях этот, в сущности, простой фильтр приобрел пугающее количество настроек:

На самом деле ничего сложного нет. Нужно иметь в виду, что формат AVI не предусматривает хранения информации о соотношении сторон кадра (Aspect ratio), предполагается, что оно равно соотношению ширины и высоты в пикселях (т.е. "квадратный пиксель"). С другой стороны, в некоторых случаях это не так: самый типичный пример - формат DV, с размером кадра 720х576 (т.е. 5:4) и пропорциями кадра при корректном отображении 4:3 для обычного и 16:9 для широкоэкранного формата. (Поэтому открытый в дубе DV файл будет немного вытянут по вертикали, если не изменить настройки отображения, хотя обычные проигрыватели покажут его правильно). В то же время в файлах DivX/Xvid пиксель обычно квадратный, т.е. при масштабировании DV нужно переключить пункт Aspect ratio с Same as source на Compute height from ratio и задать там 4:3 или 16:9. Ну и общее правило для всех кодеков - желательно иметь ширину и высоту кратную 2, 4, 8, а лучше 16 (для этого служит раздел Codec-friendly sizing).

Что же касается обрезки краев, то специального фильтра для этого нет - зато есть кнопка Cropping, позволяющая задать обрезку перед применением указанного фильтра. В частности, это может быть фильтр-пустышка Null transform, единственный смысл которого и заключается в сочетании с Cropping. Обрезать, конечно, тоже лучше кратно 2 или 4.

Некоторых комментариев удостоится еще работа с чересстрочным (интерлейсным) видео. Как известно, в большинстве видеокамер именно этот режим является основным (часто единственным) вариантом, и он отлично сочетается с просмотром на ЭЛТ телевизорах. Если вы собираетесь делать DVD из своего видео, то также лучше всего оставить изображение чересстрочным - при воспроизведении на компьютере или LCD/плазменном телевизоре автоматически будут приняты соответствующие методы деинтерлейса. С другой стороны, если нужно, например, закодировать видео в какой-либо из вариантов MPEG-4 (DivX, Xvid, ...), например, для размещения в интернете, то разумно будет применить деинтерлейс и затем уменьшение размеров кадра (как на скриншоте выше, где еще добавлена стадия очистки от шума и небольшая обрезка краев). В качестве метода деинтерлейса не стоит выбирать встроенный фильтр Deinterlace в режиме Blend fields - вопреки надписи best рядом с ним, ничего хорошего, как правило, не выйдет, будут двоящиеся контуры. Лучше воспользоваться сторонними плагинами, хотя и здесь тоже самые современные и качественные разработки существуют только в варианте для AviSynth. И никогда без особых причин не меняйте размер кадра в чересстрочном видео!

Типовые задачи

Теперь опишем некоторые типовые сценарии, в которых VirtualDub применяется для решения специфических задач.

Пример №1: Для начала разберемся с линейным монтажом, т.е. резкой-клейкой и перестановкой кусков. Как уже было сказано, эту операцию можно проводить без перекодирования, если исходное видео было в контейнере AVI. Добавление нескольких файлов происходит командой File/Append AVI segment, причем если они пронумерованы по порядку, то можно загрузить сразу несколько (галка Autodetect additional segments by filename). При этом форматы сжатия видео и звука должны быть строго одинаковы (вплоть до некоторых параметров, скрытых от пользователя: например, может случиться так, что DV-файл с камеры, обработанный в Dub-е и сжатый опять в DV, нельзя пристыковать к такому же файлу, но полученному непосредственно с камеры.. С другой стороны, файлы, сжатые в DivX одинаковым образом, но с разными битрейтами, спокойно можно склеить). Между прочим, многие (но не все "скрытые") параметры файла можно узнать командой File/File information, хотя более универсальной является отдельная утилита GSpot: http://www.headbands.com/gspot.

Со "склейкой" разобрались, теперь обратимся к "резке", т.е. удалению ненужных фрагментов (например, рекламы из записи телепередачи), а заодно и к перестановке фрагментов местами (через механизм типа буфера обмена - Ctrl+X, Ctrl+C, Ctrl+V, только в пределах одной программы). Здесь ситуация различается в зависимости от того, сжат файл кодеком с межкадровым (например, DivX/Xvid, VP6, Indeo) или покадровым (MJPG, DV, HuffYUV и т.д.) сжатием. Если во втором случае можно спокойно вырезать любой кусок, т.к. каждый кадр кодируется независимо от других, то в первом ситуация сложнее. Ведь для того, чтобы декодировать некоторый кадр, нужно найти ближайший стоящий перед ним ключевой кадр и пройти всю цепочку от него до нужного кадра. Например, рассмотрим такое выделение:

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

А если мы, наоборот, захотим оставить только этот фрагмент, то полученный видеоряд начинался бы с дельта-кадра, перед которым нет ни одного ключевого, что недопустимо. Поэтому в режиме Direct Stream Copy такая обрезка приведет к тому, что выходной файл будет начинаться не с 3-го кадра, а с 1-го (ближайшего перед ним ключевого). Аналогично, при попытке убрать следующий фрагмент:

мы получим видеоряд с кадрами с 1 по 4 и с 11 (а не 13) по 15. Отсюда вывод - чтобы не ошибиться в нарезке, делайте это по ключевым кадрам. А именно, если вы удаляете фрагмент, то он должен заканчиваться на ключевом кадре, а если оставляете, то, наоборот, начинаться. Здесь как раз пригодится возможность перемещения только по ключевым кадрам при нажатом Shift. Кстати, отметка конца выделения относится к предыдущему кадру (т.е. выделено все до текущего, не включая его), поэтому ставить конец надо как раз на сам ключевой кадр.

А что делать, если нужно более точное позиционирование для резки/клейки? В последних версиях Дуба появилась очень полезная галочка Smart Render, активная в режиме Full processing mode. Действие ее следующее: если участок может быть обработан в режиме Diect stream copy, то так и происходит, иначе запускается указанный в настройках кодек (он должен быть тем же, с каким сжат исходный файл) и с его помощью кодируется фрагмент вплоть до следующего ключевого кадра (естественно, он начнется с вновь сделанного ключевого кадра), а на нем опять переключается в режим Direct stream copy.

То есть перекодируются только те участки, которые необходимо. Если правильно сделать все настройки кодека, чтобы они совпадали с исходным файлом (а битрейт лучше задать побольше, чтобы не было резких падений качества на границе фрагментов, и, естественно, установить однопроходный режим сжатия), то этот метод позволяет производить точный покадровый монтаж без лишнего перекодирования, что, безусловно, очень полезно.

Кроме того, есть команда Video/Select range, результат которой сводится к тому, что удаляется участок до первого и после последнего указанного кадра. Связанная с этим задача - разбить длинный файл на куски, например, по 700 мегабайт, для записи на CD, удобнее решается с помощью VirtualDubMod, в котором рядом с номером кадра дополнительно выводится "расстояние" от начала файла в мегабайтах.

Подчеркнем, что резать MPEG-файлы таким образом не получится, для этого удобно использовать MPEG Video Wizard: http://womble.com.

Пример №2: Предположим, вы смонтировали фильм в какой-либо программе монтажа, например Pinnacle Studio или Adobe Premiere. Дальше его нужно как-то сохранить, причем часто бывает нужно иметь его в нескольких вариантах: например, если формат исходной съемки был miniDV, то разумно готовый фильм из монтажки экспортировать тоже в DV AVI и потом его скинуть обратно на ленту (если камера это позволяет); почти наверняка требуется сделать DVD; может быть, хочется разместить фильм в интернете (даже если вы собираетесь использовать сервис типа YouTube, который сам пережимает видео в свой формат, причем довольно скудного качества, все равно загружать на сервер исходный DV AVI может быть слишком долго и непроизводительно). В последнем случае имеет смысл готовый DV AVI загрузить в дуб, добавить при необходимости фильтры деинтерлейса и уменьшения размера и сохранить во что-нибудь типа DivX, желательно в два прохода. Конечно, можно сделать это и непосредственно из монтажной программы, но в этом случае все монтажные эффекты и переходы будут просчитываться два раза, а ведь у нас уже есть DV-AVI файл, подготовленный для записи на камеру.

Пример №3: Допустим, вы снимали в условиях недостаточной освещенности и хотите почистить видео от шумов, или желаете избавиться от дрожания камеры при съемке с рук. В этих случаях имеет смысл делать выборочную фильтрацию только для тех эпизодов, которые в этом нуждаются (в DVD-камерах каждый эпизод записывается в отдельный файл, при захвате видео с miniDV также, как правило, включают разбиение на сцены с записью каждой сцены в отдельный файл). Желательно проводить обработку перед загрузкой фрагмента в программу монтажа - в этом случае вы можете подбирать и настраивать нужные фильтры отдельно для каждого фрагмента. Впрочем, можно применить и другой ход (реализуемо только в случае AVI файлов с камеры miniDV): смонтировать весь фильм с исходными файлами, а перед окончательным экспортом определить фрагменты, требующие обработки, пропустить их через VirtualDub, исходный файл переместить в архивную папку, а на его место поместить обработанный файл под тем же именем. Затем запустить заново программу монтажа и экспортировать уже с новыми файлами. Обрабатывать видео можно как фильтрами самого VirtualDub, так и через AviSynth, что описано в соответствующей статье. В последнем случае, впрочем, все равно желательно AVS скрипт загрузить в дуб и сохранить как регулярный AVI файл (например, с тем же кодеком DV) - не все монтажные программы работают с AVS скриптами, да и удобнее работать с готовым файлом, чем с "тяжеловесным" (в смысле времени обработки) скриптом. Стабилизации видео с помощью фильтров VirtualDub и AviSynth будет посвящена отдельная статья.

Пример №4: Нужно сделать скриншот с видео, чтобы разглядеть его на предмет качества или наличия дефектов. Из проигрывателя это делать не стоит, т.к. он может вносить какие-либо модификации в изображение (например, принудительный деинтерлейс или коррекцию яркости). В то же время VirtualDub откроет файл "как есть", при условии, конечно, что он поддерживается им. Кстати, о форматах: по умолчанию, кроме AVI, VirtualDub умеет открывать mpeg-1 файлы. С помощью плагинов от fccHandler"а (http://fcchandler.home.comcast.net/~fcchandler/) можно научить его открывать MPEG-2 (кстати, можно открыть и склеить подряд несколько VOB-файлов за раз) и WMV/ASF; есть также плагины для работы с MOV и FLV контейнерами, а модификация VirtualDubMod умеет работать с MKV файлами. Остальные форматы можно попробовать открыть с использованием AviSynth (см.ниже). Ну а собственно сохранение скриншотов делается командой File/Export/Image sequence (нужно выделить участок для экспорта - если нужен один кадр, то поместить его под курсор и нажать Home, стрелка вправо, End).

VirtualDubMod и AviSynth

Несколько слов про важную ветвь развития "дуба" - VirtualDubMod. Это отдельная программа, основанная на исходных кодах VirtualDub и множестве полезных добавлений. Ее имеет смысл поместить в ту же директорию, что и сам VirtualDub, чтобы использовать общий набор плагинов. (В принципе, можно вообще заменить ей сам дуб, разве что последняя версия DubMod"а основана на версии 1.5.10 от 2005 года, т.е. в ней отсутствуют возможности, добавленные в Dub за последнее время - впрочем, их не так много). Интерфейс VirtualDubMod похож на VirtualDub, одно существенное отличие состоит в том, что меню Audio заменено на Streams, что отражает нацеленность на работу с несколькими аудиопотоками. Второе полезное нововведение заключается в более тесной интеграции с AviSynth. Нам будет полезно одно ее свойство - умение работать с подсистемой DirectShow наряду с VideoForWindows. Вкратце, AviSynth - это скриптовый язык и программа для его интерпретации, а интерфейс его взаимодействия с остальными программами очень прост - вы пишете текстовый файл со скриптом, а затем открываете его в (почти) любой программе видеообработки, кодировщике или проигрывателе, как обычный видеофайл, и работаете точно так же, как с видеофайлом на жестком диске. Видеоряд и звук формируются командами, записанными в скрипте. Для наших целей достаточно просто установить AviSynth, и тогда при открытии видеофайла в VirtualDubMod будет доступна опция Use AviSynth template:

Это значит, что для открытия файла будет автоматически создан промежуточный AviSynth скрипт, содержащий соответствующую команду открытия (в данном случае DirectShowSource), и уже его загрузит VirtualDubMod. Таким образом можно попытаться работать практически с любыми типами файлов, которые воспроизводятся проигрывателями - RealVideo, QuickTime (MOV), MPEG2-TS (в нем обычно находится видео с видеокамер формата HDV и AVCHD), MP4 (тоже частый вариант в фотокамерах и комбинированных фотовидеокамерах). Надо отметить, что этот способ, во-первых, не всегда работает, во-вторых, не такой надежный, как открытие "родными" средствами (в частности, может неверно работать позиционирование по файлу и т.д.). Поэтому всегда при возможности лучше пользоваться встроенными или специализированными средствами (MPEG2-PS, в частности, DVD файлы (VOB), открываются непосредственно в VDMod, а для перевода MP4 файлов в AVI существует специальная программа MP4Cam2AVI).

Еще отметим, что в VirtualDubMod есть специальный Script Editor (в меню Tools), предназначенный для оперативного контроля и настройки параметров AviSynth скрипта. Просто меняйте текст скрипта, а затем нажимайте F5 или F7, чтобы увидеть в окне VirtualDub результат работы скрипта. Подчеркнем, что и обычный VirtualDub прекрасно открывает AVS скрипты, просто в VDMod интеграция с AviSynth более удобная. Нужно помнить, что AviSynth скрипт, открытый в любой программе, представляется несжатым файлом, так что копирование без пересжатия в этом случае невозможно. (Если не требуется дополнительно использовать фильтры VirtualDub, то лучше выбирать режим Fast Recompress, а не Full processing mode)."

Короче говоря, VirtualDub (а также VirtualDubMod и AviSynth) должны быть в арсенале всякого, кто работает с цифровым видео на уровне чуть выше стартового. Изучайте и применяйте! В статье были рассмотрены далеко не все возможности VirtualDub, так что читайте Help. Детальное описание пунктов меню можно найти на специализированных ресурсах (впрочем, для довольно старых версий Дуба). В сети есть также и русскоязычные сборки VirtualDub, правда, скорее всего, не последних версий.

Полезные советы по работе с VirtualDub

Совет 01 - Сохраняйте настройки обработки видео.

VirtualDub позволяет полностью сохранить настройки обработки видео (Меню "File" - "Save/Load Processing Settings..."). При этом сохраняется все: настройки и последовательность наложенных фильтров, вырезанные фрагменты, настройки кодеков, и т.д. Очень полезно, если часто приходиться обрабатывать однотипные видео файлы, или просто, часто приходится накладывать одну и ту же последовательность фильтров...

Совет 02 - Горячие клавиши перемещения по видео.

Очень удобно при движении по видео пользоваться следующими горячими клавишами:

Стрелки [<] и [>] - предыдущий и следующий ключевой кадр (для перемещения по видео сжатому в MPEG4).

Стрелки [<] и [>] - 50 кадров назад и вперед, соответственно (для перемещения по видео сжатому в MJPEG, Nuffyuv, ... т.к. здесь каждый кадр является ключевым).

Совет 03 - Комфортное MPEG4 кодирование в два прохода.

Когда все настройки VirtualDub и кодеков сжатия выставлены, и настало время производить первый проход сжатия в MPEG4, удобнее поступить следующим образом:

(уточняю) в настройках DivX кодека выбран первый проход.

Сохраняем, меню "File" - "Save as AVI ...", задаем имя и расположение AVI файла, а так же ставим галочку напротив "Don"t run this job now...". Теперь жмем кнопку "Сохранить".

Заходим в настройки DivX кодека, выбираем второй проход. Напомню, что больше ничего менять нельзя!

Снова, меню "File" - "Save as AVI ...", задаем имя и расположение AVI файла (имя другое), а так же ставим галочку напротив "Don"t run this job now...". Жмем кнопку "Сохранить".

Теперь, меню "File" - "Job control...". В открывшимся окне мы видим два назначенных нами задания (первый и второй проходы), жмем "Start".

По завершению первого прохода сжатия, VirtualDub сразу начнет выполнять второй проход. Согласитесь, это очень удобно...

Читайте и пишите полезные

Произведите скачивание программы с официального сайта разработчика. После этого распакуйте полученный архив при помощи программы-архиватора, установленной на вашем компьютере. Перейдите в директорию, в которую вы распаковали программу, и запустите файл VirtualDub.exe, кликнув на нем левой клавишей мыши два раза.

Перед вами откроется интерфейс, который условно может быть разделен на 3 части. Первая часть расположена вверху окна и является контекстным меню, выбор опций в котором будет осуществляться для произведения той или иной операции. В центральной части программы расположено окно, в котором будет воспроизводиться тот или иной видеофайл. Внизу расположена панель управления воспроизведением и параметрами редактирования ролика, а также информация о частоте кадров видео и показатель битрейта аудиодорожки.

Чтобы открыть файл для редактирования кликните File – Open Video в области контекстного меню верхней части окна программы. Выберите файл AVI и нажмите Open.

Обрезка видеофайлов

Часто Virtual Dub используется для извлечения фрагментов видеофайлов. Функционал программы также позволяет уменьшать длительности записи. Чтобы обрезать отдельно взятый фрагмент, передвиньте ползунок воспроизведения видео в нужное положение. После этого отрегулируйте точное расположение кадра, с которого вы хотите начать обрезку при помощи соответствующих кнопок перемотки. Как только нужный кадр был найден, нажмите на значок скобки, который по виду напоминает букву L для отметки исходной точки. После этого аналогичным образом передвиньте ползунок в конец нужного фрагмента и нажмите на скобочку, развернутую в другую сторону, на панели инструментов.

Захват видеопотока

Если вы решили воспользоваться virtualdub для захвата видео, запустите программу, после чего нажмите на меню File – Set capture file. Затем укажите источник видеосигнала через меню Video – Source. В появившемся списке определите ваш видеотюнер и настройте параметры отображения – яркость, контрастность, насыщенность и т.п. В опции Video – Format укажите формат будущего изображения видео при захвате, т.е. разрешение видеоролика и используемый кодек. В правом нижнем углу видео настройте частоту кадров на более высокую (например, 30 fps).

Для начала захвата нажмите кнопку F6. Чтобы закончить запись видео, нажмите кнопку Esc, после чего вы можете приступить к сохранению полученного видеофайла.

Сохранение отредактированного ролика

При сохранении видеофайла вы также можете выбрать несколько вариантов: одновременное сжатие аудио и видео, сжатие только видео и только компрессия аудиодорожки. Чтобы выбрать тот или иной параметр, вы можете воспользоваться разделом Video. Direct stream copy отвечает за сохранение видеопотока без изменений, а Full processing mode отвечает за полную его переработку. Аналогичные операции имеются и в разделе Audio: Direct stream или Full processing mode. После выбора нужных параметров перейдите в раздел File – Save для сохранения полученного в результате захвата результата.

Семейство VirtualDub - обзорное описание
Для несложной обработки видео, типа перекодирования в AVI формат, вырезания отрывков, наложения фильтров и записи с различных видеоисточников вовсе не обязательно покупать и устанавливать дорогущий софт типа Adobe Premier или Ulead Media Studio. Здесь вам поможет прекрасная бесплатная программа VirtualDub для Win32.

VirtualDub - это программа для захвата и обработки цифрового видео. Вот её основные преимущества:

Лучший и быстрый захват видео. VirtualDub, как и Nandub содержит встроенную функцию видео захвата.

Баръер файлов в 2 Гб.

VirtualDub может захватывать и обрабатывать файлы превышающие известный 2-х гигабайтный предел, и работать с видео посегментно, то есть он может захватывать аналоговое видео без остановки и автоматически последовательно пронумеровывать файлы, превышающие 2-гигабайта (ограничение для Win95,98,Me). VirtualDub так же свободно читает файлы посегментно захваченные программой видеозахвата AVI_IO

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

Поддержка кодеков.
Встроенная поддержка кодеков Motion-JPEG, MPEG-1 видео и MP3 аудио.Вы можете менять и удалять файлы черезстрочного видео совершенно свободно, вне зависимости от того, какой MJPEG декодер вы используете.VirtualDub может преобразовывать MPEG-1 в AVI, включая звуковую дорожку. Поддерживаются внешние кодеки, проинсталлированные в вашей оперативной системе, такие как DivX, mpeg4, wma и т.д.
Примечание: VirtualDub не поддерживает напрямую форматы видео - mpeg2 и type-1 DV.

Применение фильтров.
Большинство фильтров VirtualDub могут работать в реальном времени. Это означает, что вы можете вставлять видео фильтры и тут же видеть результаты их применения в правом окне VirtualDub без какого либо кодирования. Все внешние фильтры для VirtualDub можно скачать с интернета и поместить в папку "Plugins " (естественно в разархивированном виде), которая находится в вашей папке с VirtualDub. Таким образом VirtualDub сам обнаружит установленные фильтры и загрузит их, остаётся дело за выбором фильтра...

Применение Direct Stream copy |AMP|amp; Frameserver.
В VirtualDub есть две отличные функции, которые как правило отсутствуют у многих видео редакторов:

1) Direct Stream copy - прямое копирование (без перекодирования), как аудио, так и видео потоков, что позволяет обрезать в видеофайле ненужные сцены и сохранить уже обрезанную заготовку в исходном формате не теряя при этом качества видео. Требуется дополнительное свободное место на жёстком диске.

2) Frameserver - экономичная функция передачи видеокадров напрямую в какой-нибудь encoder, типа CinemaCraft или TMPEG. Совершенно не требует нескольких гигабайт свободного места на диске.
--- передача напрямую кадров без какой либо обработки.
--- передача напрямую обработанных кадров с применением фильтров VirtualDub в некомпрессированном формате RGB (экономия свободного места на жёстком диске).

Отложенная обработка.
Встроенная система управления заданиями позволяет создавать пакеты заданий для отложенной обработки видео. Вы можете построить огромный список задач и запустить его для выполнения на ночь или когда уйдёте на работу. Программа сама будет следить за временем запуска-окончания. Вы всегда сможете переупорядочить список задач, даже когда они уже выполняются.

Бесплатное открытое программное обеспечение.
VirtualDub - является бесплатно распространяемым, программным обеспечением, с доступным полным исходным кодом. Вы можете изучать исходный код и использовать его части в ваших GNU GPL программах!

Я прошу прощения за допущенные, может быть где-то, ошибки, как орфографические, так и технические...

Этим материалом я не собираюсь никого учить, поучать или наставлять (я просто делюсь опытом) - вы используете этот материал на своё усмотрение.

В начале запустим "AuxSetup "

Проинсталируем "install handler " и нажмём "Run VirtualDub " для запуска программы или же запустите сразу, после вышеописанной инсталляции, файл VirtualDub.exe из папки c программой.

Простота работы с VirtualDub помогает любому, даже не понимающему в дигитальном видео человеку, обрабатывать, вырезать и захватывать в цифру видео изображение. Здесь мы научимся обрабатывать готовый видео файл, переконвертировать его в другой AVI формат видео с аудио или без него...

Для начала откроем видео файл, указав директорию его нахождения (сегментированно захваченные файлы сами загрузятся автоматически до 99 файлов подряд; имеются ввиду файлы захваченные программами AVI_IO или VirtualDub)

Можете после открытия файла добавить ещё AVI файл, но имейте ввиду, что он должен быть c теми же параметрами, что и предыдущий файл: формат , размер изображения и "data rate "

Обрежем "ненужные" кадры (фреймы), для этого внизу отмечена клавиша начала "ненужных" кадров, нажмём её:

затем передвинем бегунок (рендер ,слайдер - кому какое название нравится) и отметим конец "ненужных" кадров нажатием следующей кнопки (клавишами курсора ´ и ´ можно подрегулировать покадровую точность):

И, наконец, нажимаем на клавиатуре клавишу "DEL " и все выделенные фреймы удаляются... Или же, если это сегментированно загруженные файлы, сразу нажмите "Save as AVI..." и ваш, выделенный синим, кусок видео начнет копироваться (при отмеченных в VIDEO/AUDIO - direct stream copy) или кодироваться. Потренеруйтесь перед сохранением файла, а то потом будет поздно чесаться;))

Теперь начнём настройку нужного аудио формата.

Настроим внизу нужную частоту дискретизации, каналы, битность или оставим по умолчанию

"interleaving " - совмещение аудио с видео - отметим для каждого фрейма

Теперь настроим аудио компрессию:

В нашем случае выбираем аудио кодек DivX Audio (этот аудиокодек устанавливается вместе с видеокодеком DivX 3.11_alfa. После инсталляции видеокодека надо запустить файл "Run me first!!! " для инсталляции самого аудиокодека), отмеченный ниже на рисунке, и выберем поток - 64 кб/с стерео for DivX - самый по моему оптимальный аудио кодер и почти не имеющий расхождения видео с аудио (а это большая проблема - ведь вы, уверен, не хотите сначала просмотреть изображение, а только через несколько секунд услышать звук, что не есть хорошо, как понятно;))

Одним словом - это формат WMA (windows media audio) - недалеко ушедший от формата mp3, даже мне кажется WMA почище будет

Этот же кодек сидит в установках Windows Media Audio V2 64kbps, 44kHz stereo 8Kb/s

Хотя вы можете варьировать кодеками, как захотите - можете перекомпрессировать звук в mp3 (при двухпроходной компрессии в mp3 лично у меня в VirtualDub выскакивает сообщение об ошибке в программе, да и сам создатель программы VirtualDub намекает, что со звуком сжатым в mp3 - возможна рассинхронизация аудио и видео).

Или вообще оставьте PCM - не компрессированный звук (кому как нравится).

Или же, можете вытащить звук из видео файла в некомпрессированном формате PCM (wav) и обработать его в аудио редакторе в нужный вам формат...

Оставим метку на "AVI audio ", так как здесь мы будем обрабатывать звук, оригинального AVI, замешанного вместе с видео.

Отметим "полный режим обработки ", потому что только с этим параметром звук перекодируется, а если вдруг вы решите не изменять формат исходного аудио, то в этом случае надо отметить "direct stream copy " - "прямая копия потока "

А ещё можно немного поднять регулятор громкости звука, если вдруг на оригинале - тихий звук (работает только при "Full processing mode ")

Поставьте галочку и передвиньте регулятор громкости на нужный вам процент:

Перейдём к видео настройкам

Сначала о фильтрах

Нажмём "add " - "добавить " и все внутренние фильтры загрузятся. Чтобы добавить и внешние фильтры вы должны их скачать с интернета и распаковать в папку "Plugins ", находящуюся в вашей папке с VirtualDub, тогда и внешние фильтры будут загружаться автоматически при нажатии на "add ".

После открытия вы увидите определённое количество фильтров, которые используются для редактирования...

Я выберу только фильтры, нужные для перегона AVI (захваченного моей Мирой) в DivX формат.

И первый фильтр - это внешний фильтр "smart deinterlace " - он хорошо справляется с коррекцией смещения при быстром движении.
...и работайте с версией 2.4 (лично мое мнение - я заметил, что от версий 2.6 и 2.7 появляются артефакты).

Обязательные настройки для коррекции смещения "Field-only differencing " и "Phase shift " (я отметил справа "Field swap before phase shift ", потому что моя Mira делает захват с нечётным расположением полей, если у вас карта захвата с чётным расположением полей, то вы будете должны поставить галочку на "Field swap after phase shift "):

Или, можно воспользоваться уже внутренним фильтром - "deinterlace " - этот фильтр хорош тем, что убирает при больших разрешениях (768х576, 720х576, 640х480) видимую на мониторе "расчёску" - которая остаётся после захвата двух полей, но этот фильтр c функцией "blend " замыливает изображение

Отметим одну из трёх указанных функций (на ваш вкус) и ОК (я отмечал дублировать поле первое или второе - выходит получше, чем голый "blend ")

Здесь можете посмотреть моё сравнение с применением "deinterlacing mode ".

Многие считают, что применение внешнего фильтра "smart deinterlace " - лучшее решение...

Я провёл эксперимент: взял 2 клипа (в одном клипе "smart deinterlace " - удачен, а во втором - нет). Во внутреннем "deinterlace " применялась функция "Blend " (к сведению). Оба клипа были захвачены в одно и то же время друг за другом, с одинаковой полной резолюцией (768x576) и с одинаковым data rate=7 Мб/c

На этих картинках визуально можно посмотреть разницу между этими двумя, вроде на первый взгляд одинаковыми, клипами...

Отсюда делайте выводы, что и когда надо использовать! Все клипы, видимо, разные по структуре??? (бывают фильмы переделанные из прогрессивного в чрезстрочный или возможно был сделан "telecine " - метод преобразования частоты кадров из 24fps в 30fps).

Я перед кодированием делаю визуальную проверку в правом окне VirtualDub (окно выходного видео), чтобы просмотреть какой "deinterlace " фильтр лучше применить для текущего клипа.

Настроим нужный размер и отметим "Precise bicubic ", нажмите "просмотр " (обрабатываемый файл должен быть загружен в VirtualDub) и просмотрите, что должно получиться...

Я, лично, уменьшаю резолюцию с 768х576 до 640х480 (лучшее качество)

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

Отметим "2:1 reduction (high quality) " - этот фильтр уменьшит разрешение видеофайла в 2 раза, но оставит хорошее качество (рекомендуется для слабых компьютеров)

Внимание! Этот фильтр я использую, чтобы уменьшить захваченное видео с резолюцией 768х576 до резолюции 384х288. Будьте осторожны если ваше видеоизображение другого размера (p.s.)

Если вы хотите увеличить резкость вашего видео клипа добавьте внутренний фильтр "sharpen ", как показано здесь:

и сдвинем ползунок до... я сдвигаю до 32, а вы как решите...

Следующая строка "frame rate " - изменение скорости передачи кадров

Я отмечаю - как взаимосвязь аудио с видео, чтобы не было рассинхронизации аудио с видео. Очень полезная функция!

P.S. Не рассматриваемая здесь функция - "inverse telecine " - метод преобразования частоты кадров из 24 в 30 кадров/сек (частота кадров в американской системе NTSC=30 кадров/сек) смысл этого, что к каждым четырём кадрам добавляется пятый кадр. Делается это делением кадров на черезстрочные поля и использованием двух полей из двух кадров четвёрки дважды.

Добрались, наконец, до видео компрессии:

В нашем случае выберем DivX Codec здесь рассматривается 4.12 (это может быть любой номер 4-ого кодека заранее скачанный на http://www.divx.com/ и проинсталлированный в вашей системе) и нажмём "configure ", для более точных настроек.

Теперь объясню по указателям:
"Variable bitrate mode " - одна из самых важнейших настроек; в ней устанавливается режим, способом которого вы будете компрессировать свой видеофайл.

Режимы:
в 1 проход : 1-pass (с тонкими настройками, о которых я расскажу ниже) и 1-pass quality-based (с единственной настройкой "encoding quality ", измеряемой в процентах)
в 2 прохода : 2-pass - наилучший способ (где первый проход - сбор информации о степени движения, а во втором проходе мы уже получим готовый файл)

Двух проходность мы и рассмотрим:

"Performance/Quality " - скорость обработки, чем ниже скорость, тем качественнее обрабатывается видео ("slowest " - самая медленная обработка, а "fastest " - самая быстрая).
Настроим один из основных параметров "output video bistream " видеопотока, чем он меньше, тем меньше по "весу" выходящий файл, но и качество сильно падает... Я выставляю в первом проходе=1000 Кб/с, а во втором проходе оставляю те же цифры, что и в первом проходе.
Можете выставить ключевые кадры (Maximum keyframe interval )=9999 - эта конфигурация включена внутри кодека и называется VKI (variable keyframes interval), она автоматически расставляет ключевые кадры, где считает нужным, но я оставляю=каждые 50 кадров...
Ключевые кадры - это основные кадры - они содержат в себе максимальную информацию о кадре оригинального видео и имеют... ;((...больший "вес".
При KF=9999 - вставляются, иногда в больших объёмах, в местах изменения сцен или в местах с быстрым движением, а иногда, когда нет изменения сцен и практически нет движения, не вставляются совсем.
Помимо KF в видеоинформации присутствуют deltaframes (DF) - вставляются между ключевыми кадрами и содержат в себе не весь кадр фильма, а только разницу между предыдущим ключевым кадром и кадром, на который выпадает этот дельта-кадр, DF по размеру намного меньше, чем KF ..
Поэтому, чем больше ключевых кадров, тем:

1) выше качество видео.

2) лучше аудио/видео совмещение (interleaving).

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

4) но, естественно, и увеличится объём будущего видеофайла.

И в связи с этим я отказался от VKI (9999) и выставляю теперь "Maximum keyframe interval "=50 frames.
"Deinterlace " - можете поставить галочку, если не задействуете внутренний фильтр "Deinterlace" программы VirtualDub - я не отмечаю эту функцию, так как пользуюсь внутренним фильтром VirtualDub
"Decoding parameters " - уровень "postprocessing " я сдвигаю вправо до конца (рекомендовано изготовителями DivX для Pentium3 и выше).

При уровне=0 - ни один фильтр не работает

При уровне=1 и 2 сработает фильтр "Deblocking " - помогает уменьшить плотность артефактов (квадратиков):

1 уровень - по горизонтали

2 уровень - по вертикали и по горизонтали

При уровне 5 и 6 фильтрация светового и цветового шумов, однако размывает изображение - используется в большинстве случаев для мультипликации (работает минимум с Pentium-3)

1 pass encoding parameters
Эти параметры настраиваются для двух проходов сразу (будьте внимательны!!!) - изменить настройки для второго прохода вы уже не сможете - они закроются...

"MAX and MIN Quantizers "
Квантизаторы - одни из наиболее важных параметров в видео кодировании (то же самое, что и DRF в NanDub)

Квантизаторы изменяются от 2 (лучшее качество, но больший размер файла) до 31 (худшее качество,но размер файла меньше). Я устанавливаю min=2 и max=2 (лучшее качество)

"Rate Control " - или сокращённо "RC "

"RC averaging period " - измеряется в кадрах.- Большее значение обычно приводит к более точной передачи данных. Но это значение также не должно превышать общее количество кадров вашего видеофайла.

Короче, если в вашем видеофайле 10 000 кадров, то ставьте это значение в этих пределах, но не более, чем ваши 10 000 кадров

"Rate Control reaction period " - восприятие RC свежих сцен. Большее значение обычно приводит к улучшению качества в быстрых сценах движения и к ухудшению качества в медленных сценах движения. Измеряется в кадрах. Я оставляю=20 кадрам

"Rate Control down/up reaction " - коэффициент управления реакцией на быстрые и медленные сцены движения. Большее значение обычно приводит к улучшению качества в быстрых сценах движения, но, вместе с этим, увеличивается и видео поток...

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

Quality-based encoding parameters

Этот параметр настраивается только если вы не используете двухпроходный метод компрессии, а используете однопроходный режим "1-pass quality-based mode " - измеряется в % . Мы его не будем рассматривать, но от себя добавлю, что качество с этим режимом кодировки при 100% получается отменное, только размер файла выходит огромный...

2-pass encoding parameters

Эта функция для "2-pass variable bitrate mode "

"Frame dropping " - Этот параметр работает только в "2 - pass variable bitrate mode".
Он разрешает кодеру, пропустить кадры, когда они не содержат достаточно существенной информации. Полезно, когда хочется уменьшить битрейт, но сохранить визуальное качество.
В этом случае, кодер пропустит большее количество кадров в сценах с низким движением или никаким движением вообще, и сохранит их в сценах с быстрым движением.
Настройка по умолчанию=0 и я работаю только с ней.

Когда вы всё настроили остаётся указать "log file " для сбора информации о движении в фильме - нажмите "select ":

Обзовём наш файл "status " и сохраним

После этого в окне настроек изменится "log file " и будет:

Отметим "Full processing mode "-"полный режим обработки ", потому что только с этим параметром видео начинает перекодироваться, а если вдруг вы хотите не изменять видеоформат, то в этом случае надо отметить"Direct stream copy " - "прямая копия потока "

Следующий шаг - начало кодирования:

ВАЖНО! Нужные вам видео фильтры должны быть загружены и настроены уже в первом проходе, во втором проходе мы их не изменяем.

Сохраним в первом проходе, что уже настроили выше, в файле "1-pass " - это ещё не готовый видео файл, а только его информация, которую мы потом выбросим в корзину.

Начался сбор информации:

Видно, что проектируемый размер файла всего 2,7Мб, а datarate=1Кб/с - понятно, что нормального видео файла с таким потоком видео быть не может;)

Время на сбор информации уйдёт ровно столько же, сколько потом уйдёт на второй проход. Вывод : готовый файл я получу примерно только через 1 час и 10 минут, если только успею вовремя перевести на второй проход;))

По окончании первого прохода почти ничего в конфигурации кодека не меняем, кроме как изменим в настройках кодека "2-pass, first pass " на "2-pass, second pass " > и "output video bistream " установим на нужный битрейт, я лично получаю хорошее качество при битрейте=1000 КБит/сек (то есть я не изменяю его после первого кодирования).

Хорошее качество варьируется начиная от 1000 до 2000 КБит/сек, хотя вы можете ставить значение какое захотите (чем меньшее значение вы установите, тем меньше будет выходной файл, но и качество картинки пострадает)

Не трогайте "log file " - даже не думайте его поменять!!!

Это можно сделать двумя способами:

способ -1 (так же как сохранялся и первый проход)

способ - 2 (нарезать будущий файл, например, по 650 Мб)

Нарезка делается так : отмечается определённое кол-во Мб (я отметил пространство CD-диска=650 Мб) и VirtualDub автоматически сохранит и пронумерует файлы по 650 Мб

Итак, я назвал свой будущий файл "2 pass ", можете назвать как захотите - это уже будет готовый видео файл... и клик "сохранить "

Начался процесс обработки (приоритет я выставляю NORMAL)

А здесь изображён кодирующийся видео поток - красные вертикальные линии - это ваши ключевые кадры (KF ), а синие вертикальные линии - это дельта-кадры (DF )

25.04.2011

Программное обеспечение для обработки цифрового видео, как правило, стоит довольно дорого, но не VirtualDub.

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

За простым интерфейсом VirtualDub скрываются широкие возможности

Программа VirtualDub (www.virtualdub.org) -- редкое и потому приятное исключение из правил. Во-первых, эта утилита распространяется бесплатно. Когда ее автор, студент колледжа Avery Lee, начинал разработку, он делал все, что называется, «для себя», поэтому программа вышла очень продуманной и гибкой. Во-вторых, VirtualDub способна выполнять некоторые очень важные и полезные операции, которых можно не найти даже в дорогих коммерческих видеоредакторах. Конечно, при размере в несколько мегабайт этой утилите не потягаться с такими известными пакетами для обработки видео, как Adobe Premiere Pro, Edius и т.д., однако большинство наиболее важных операций с помощью данного приложения выполнить удастся.
Кроме того, следует отметить высокую скорость и стабильность работы утилиты, обусловленные тем, что она построена по принципу «ничего лишнего». Аскетичный интерфейс, отсутствие второстепенных функций и вдобавок поддержка многопоточности позволяют эффективно использовать аппаратные возможности и максимально задействовать мощности современных процессоров.
В этой статье мы рассмотрим восемь востребованных задач, которые можно легко и быстро решить с помощью VirtualDub.

Сохранение звуковой дорожки
В некоторых случаях бывает нужно сохранить звуковую дорожку в виде отдельного файла. Например, вы хотите слушать концертную запись в плеере по дороге в институт или на работу либо извлечь аудиоданные из видеофайла, чтобы отредактировать в аудиоредакторе неудачно записанную звуковую дорожку. Подобные задачи VirtualDub решает быстро и качественно.
Одно из достоинств программы состоит в том, что она сохраняет аудио- и видеопотоки без повторной компрессии. Она будет очень полезна при сохранении аудиотрека отдельным файлом. Чтобы отделить звук от видео, следует открыть в программе видеофайл и выяснить, находится ли переключатель в меню Audio в положении Direct stream copy. Затем нужно сохранить файл, выбрав команду File > Save as wav.
Записать звуковую дорожку можно сразу в определенный формат, к примеру в поддерживаемый каким-нибудь портативным устройством, скажем MP3-плеером. В результате исходный файл будет конвертироваться в формат, указанный пользователем. Для этого необходимо в меню Audio установить переключатель в положение Full processing mode и выбрать команду Audio > Compression. В появившемся меню нужно указать тип кодека, который будет использоваться для сжатия аудиотрека, а также его параметры -- частоту дискретизации и битрейт, определяющие качество сохраняемого файла. Далее следует выбрать команду File > Save as wav. После завершения описанных выше действий программа выполнит конвертирование звуковой дорожки в требуемый формат.
Учтите, что файл будет сохранен с расширением.wav, из-за чего не все устройства и приложения сумеют корректно определить его содержимое. А когда программа сконвертирует и запишет аудиофайл на жесткий диск, его разрешение можно изменить вручную в любом файловом менеджере, установив «правильное» MP3 или другое.

Резка клипа без потерь
Как уже было отмечено, VirtualDub помогает редактировать видеофайлы без повторной компрессии. Благодаря этому в программе можно, например, вырезать из концертной записи определенную композицию. Чтобы выполнить такую операцию, откройте исходный файл и передвиньте ползунок в положение, соответствующее началу фрагмента, который необходимо сохранить на диск отдельным файлом. Обозначьте начало этого клипа, нажав на клавиатуре клавишу или выбрав в меню программы Edit пункт Set selection start. Теперь передвиньте ползунок на конец вырезаемого эпизода и нажмите клавишу или укажите в меню программы Edit пункт Set selection End. На временной шкале выделенный промежуток будет обозначен цветом.


Чтобы вырезать фрагмент из клипа, нужно указать его границы

Чтобы избежать повторной компрессии, выберите пункт Direct stream copy в меню Video и аналогичный пункт в меню Audio. Теперь можно сохранять файл с помощью команды File > Save as AVI. Поскольку не требуется повторное сжатие, то процесс сохранения отдельного фрагмента видео занимает очень мало времени и фактически сводится к записи файла на диск.

Объединение нескольких клипов в один
Главное неудобство, которое ощущается при работе с VirtualDub, -- отсутствие многодорожечного интерфейса. На первый взгляд может даже показаться, что программа работает только с одним клипом. На самом же деле VirtualDub способна выполнять такую полезную операцию, как «склейка», объединяя неограниченное число фрагментов в один.
Склейка осуществляется двумя способами -- по отдельности и пакетно. Объединение двух и более файлов без повторной компрессии выполняется лишь при условии, что они имеют одинаковые параметры. Чтобы присоединить один фрагмент к уже открытому клипу, следует выбрать в меню программы команду File > Append AVI segment и указать присоединяемый файл. Убедиться в том, что клипы предварительно склеены, поможет временная шкала -- продолжительность видео должна увеличиться.
Когда же нужно объединить группу видеофайлов, необходимо назвать их определенным образом: video001.avi, video002.avi, video003.avi и т.д. И тогда при изготовлении из отдельных фрагментов целого видео файлы автоматически встанут в том порядке, в каком они пронумерованы. Пользователю останется добавить лишь первый файл. Далее операция склейки выполняется точно так же, как и при работе с двумя файлами.

Замена звуковой дорожки
Выполнять данную операцию имеет смысл, например, при работе с двумя видеофрагментами, скажем парой фильмов. В одном -- плохое видео, но качественное звуковое сопровождение, в другом -- изображение хорошее, но звук неважный. Значит, для получения требующегося результата нужно будет подменить звуковую дорожку, совместив хорошее качество видео и нормальный звук.
А чтобы замена аудиодорожки осуществилась корректно, необходимо соблюдать определенные условия. Так, продолжительность аудио не должна сильно отличаться от исходной продолжительности видео. Кроме того, следует учитывать, что некоторые форматы видео совместимы со звуковыми дорожками только определенного формата. Аудиодорожку лучше всего подготовить в другой программе (например, в бесплатном аудиоредакторе Audacity), хотя в данной утилите и есть функция импорта аудиотрека из другого видеофайла.
Для замены звуковой дорожки нужно открыть исходное видео в VirtualDub и выполнить команду Audio > Audio From Another File. А затем следует указать путь к аудио- или видеофайлу и сохранить результат.

Пакетная обработка видео в VirtualDub

Редактор VirtualDub содержит так называемый список заданий (Job List), позволяющий автоматизировать обработку файлов. Например, стоит задача конвертировать с десяток видеофайлов в разные форматы. Если бы в программе не было поддержки пакетной обработки, пришлось бы по очереди загружать в нее видео, указывать каждый раз новые настройки, ждать, пока она запишет файл на диск, затем открывать следующее видео и снова ждать, пока VirtualDub справится с процессом сжатия и т.д. Благодаря поддержке пакетной обработки видео, можно лишь указать, какие операции должны быть выполнены, а затем оставить компьютер без присмотра. Утилита обработает данные, строго придерживаясь оставленных инструкций. Чтобы занести какое-нибудь задание в список Job List, необходимо использовать набор команд в меню File > Queue batch operation.

VirtualDub умеет обрабатывать файлы в пакетном режиме

Скажем, если нужно последовательно выполнить сжатие двух файлов, необходимо проделать следующие действия. Открыть первый файл, указать параметры сжатия и, если потребуется, начало и конец сохраняемого клипа. Потом следует выбрать в меню File > Queue batch operation > Save as AVI. После этого программа не будет выполнять никаких действий, и можно открыть следующий файл, настроить новые параметры его экспорта и еще раз выбрать нужную команду из подменю Queue batch operation. Далее, когда все задания будут составлены, необходимо раскрыть список Job List в меню File > Job control и нажать в нем кнопку Start, чтобы запустить процесс пакетной обработки.

Многопроходное кодирование
Если требуется подготовить видео для просмотра на мобильном устройстве или перевести его в определенный формат для публикации на одном из онлайновых сервисов, это поможет сделать VirtualDub. Многие алгоритмы сжатия видео поддерживают кодирование в несколько потоков, однако далеко не все знают, как эту технологию применить на практике.
Допустим, необходимо сжать файл кодеком x264vfw (он устанавливается дополнительно, например, вместе с пакетом кодеков K-lite). Когда файл будет открыт в программе, нужно выбрать в меню Video > Full processing mode, а затем -- команду Video > Compression. В списке установленных видеокодеков следует указать пункт x264vfw - H.264/MPEG-4 AVC codec. Затем в правой части окна надо нажать кнопку Configure, чтобы перейти к настройке процесса сжатия. Потом в окне настроек кодека, в раскрывающемся списке Rate Control, нужно выбрать пункт Multipass 1st pass (он обозначает первый проход при многопроходном кодировании) и установить флажок Zero Latency, а в поле Target bitrate kbit/s задать скорость потока. Чем больше этот параметр, тем выше будет качество изображения. Далее следует нажать на кнопку ОК и указать формат звуковой дорожки (команда Audio > Compression) и тип кодека, например Mp3 48 кГц 128 kBit/s, stereo.

Настройка многопроходного кодирования

Теперь нужно выбрать в меню программы File > Queue batch operation > Save as AVI. Затем необходимо еще раз перейти к настройкам кодека для сжатия видеодорожки и в списке Rate Control выбрать пункт Multipass Nth pass (проход кодирования, отличный от первого). Никакие другие настройки изменять при втором, третьем и следующих проходах не придется. Далее следует повторно занести команду сохранения файла в список заданий File > Queue batch operation > Save as AVI. Если же понадобится выполнить кодирование в три (или более) прохода, то следует добавить в список заданий команду сохранения файла столько раз, сколько требуется. При каждом выборе этой команды имя файла должно оставаться одним и тем же. Многопроходное кодирование позволит кодеку оцифровать данные в несколько проходов. После каждого цикла компрессии программа записывает, а затем обновляет вспомогательный файл статистики, информация из которого используется алгоритмом многопроходного сжатия при любом очередном проходе.
Когда все задания будут добавлены в список, нужно открыть список пакетной обработки заданий VirtualDub Job Control, нажав клавишу. В нем отображена вся последовательность действий, которые должна выполнить программа. Для начала кодирования надо нажать кнопку Start и дождаться окончания обработки файла программой. Когда процесс конвертирования видео завершится, в списке заданий напротив каждой строки в колонке Status будет стоять Done (Готово). Чтобы не возникло случайных ошибок, при обработке видео не рекомендуется запускать ресурсоемкие приложения и вообще работать в это время на компьютере. Поскольку принцип многопроходного кодирования идентичен независимо от выбираемого кодека, сжатие с его использованием кодеками DivX, VP70 и пр. будет мало отличаться от описанного варианта для x264.

Применение фильтров
Чтобы откорректировать цветопередачу, наложить логотип на видео, изменить соотношение сторон и выполнить другие операции с видеофайлом, потребуются видеофильтры. Так вот в VirtualDub их множество, причем самых разных.
К одному ролику допустимо применять любое количество фильтров. Чтобы назначить фильтр, необходимо выполнить команду Video > Filters, нажать кнопку Add и выбрать нужный. Если в фильтре присутствуют какие-то настройки, они отобразятся на экране сразу же после его добавления. А чтобы вернуться к ним после выбора фильтра в списке стандартных модулей VirtualDub, достаточно указать в меню команду Video > Filters и, выделив в перечне установленный, нажать кнопку Configure.


Встроенные и дополнительные фильтры -- главные инструменты VirtualDub

Среди наиболее полезных фильтров, употребляемых для обработки видео, стоит выделить следующие:
Deinterlace -- устраняет эффект «гребенки», возникающий при наличии в видео смещения четных и нечетных строк изображения. Стандартный фильтр деинтерлейсинга в VirtualDub позволяет устранить этот недостаток изображения, используя несколько алгоритмов решения проблемы.
Resize -- помогает изменить размер картинки обрабатываемого видеофайла. При изменении оригинального размера картинки можно выбирать тип аппроксимации точек, чтобы получить наиболее четкую картинку.
Logo -- позволяет нанести на видео водяные знаки. С помощью данного инструмента легко поместить в любое место экрана картинку из файла формата JPG, TGA, PNG, BMP или JPEG. В настройках фильтра Logo можно использовать параметр прозрачности и маску альфа-канала для накладываемой на видео картинки.
Rotate -- предоставляет возможность подбирать оптимальную ориентацию кадра видео для просмотра на экране мобильного устройства, например смартфона. С его помощью удастся повернуть исходное изображение на 90, 180 или 270 о
Rotate2 -- действует аналогично предыдущему. Однако в настройках этого фильтра разрешается указывать произвольный угол поворота, а положение смещенных точек кадра аппроксимируется по одному из нескольких алгоритмов. Кроме того, в настройках фильтра предлагается установить цвет поля, которое становится видимым при повороте картинки.
Помимо стандартных фильтров в программе VirtualDub можно использовать дополнения сторонних разработчиков, в том числе как бесплатные модули, так и коммерческие.

Рассинхронизация видео и звука
Эта проблема часто возникает при воспроизведении некорректно сжатых файлов. Причин рассинхронизации может быть много -- от неправильно выбранных настроек кодирования до ошибок при обработке видеопрограммой. К счастью, существует несколько способов решить ее.
Если аудиотрек имеет постоянную величину смещения видео относительно звука, необходимо в настройках кодирования указать параметр задержки аудиодорожки. Для этого в меню Audio нужно выбрать пункт Interleaving, установить флажок Enable audio/video interleaving и в поле Delay audio track by указать значение в миллисекундах, на которое происходит отставание или опережение звука. Если аудио опережает видео, следует указать положительное значение, если отстает --- отрицательное.

Если аудио отстает от видео или наоборот, есть возможность справиться

с такой проблемой

Другой способ рассинхронизации -- ручное редактирование звуковой дорожки. Попробуйте сохранить аудиотрек отдельно и исправить его в стороннем аудиоредакторе, например добавив пустой фрагмент нужной продолжительности в начало дорожки. Также можно обратить внимание на продолжительность трека после извлечения его из видео, а затем использовать специальный инструмент в аудиоредакторе, чтобы изменить продолжительность звучания аудио.

Поскольку VirtualDub имеет открытый код, отдельные энтузиасты создали ряд модификаций этой утилиты. Среди наиболее популярных «форков» стоит выделить VirtualDubMod (virtualdubmod.sourceforge.net) и NanDub (ndub.sourceforge.net). Если по каким-то причинам вас не устраивает VirtualDub, вы можете поработать с разными версиями данного видеоредактора. Интерфейс, а также основные функции в этих программах совпадают. Однако следует иметь в виду, что оригинальная версия, в отличие от ее ответвлений, регулярно обновляется.