⇣ Содержание
Опрос
|
реклама
Самое интересное в новостях
VirtualDub
Меню VideoВот мы и добрались до главного раздела в панели меню - "Video". Первая опция, пожалуй, одна из самых нужных в VirtualDub - "Filters". При помощи фильтров в VirtualDub можно производить очистку видео от шумов и искажений, накладывать (убирать) Лого, изменять яркость-контрастность-насыщенность, производить операции с полями, изменять размеры изображения и много всего другого. Короче говоря, здесь находятся инструменты для обработки видео. Теперь о том, как работать с фильтрами. В окошке выбора фильтров "Filters" показываются фильтры, которые вы выбрали для работы. Кнопка "Add" выводит нас на окно выбора фильтров: Здесь вы можете выбрать фильтр, который будете применять для обработки видео. В этой статье я не буду перечислять, какие фильтры что делают, это займёт много места и уведёт в сторону от работы в VirtualDub. Но следом обещаю написать статью по использованию фильтров VirtualDub. Допустим, вы выбрали какой-нибудь фильтр и нажали "Ok". Сперва нас выкинет в окошко настройки фильтра (если он нуждается в настройке), а потом мы вновь окажемся в окошке "Filters" и выбранный нами фильтр будет в конце списка. Кнопка "Delete" удаляет фильтр, на котором остановлен выбор. Кнопки "Move Up" и "Move Down" передвигают фильтры по списку вверх и вниз. Зачем это надо, как-нибудь потом. Кнопка "Cropping" производит обрезку картинки со всех сторон. Это нужно для того, что бы убрать не нужные чёрные полосы и загибы изображения по краям (они обычно бывают после захвата) или просто вырезать нужную нам часть изображения. Обрезку можно производить перед любым фильтром. Для этого, нужно навести на фильтр, перед которым вы собираетесь произвести обрезку, нажать на кнопку "Cropping" и произвести обрезку. На картинке видно, что перед 3 фильтром сверху была произведена обрезка. При обрезке, нужно учитывать, что есть фильтры, которые работают только с чётным разрешением, а есть те, которые работают с разрешениями, делящимися на 4, а есть и особо привередливые - требуют, что бы видео на их входе было кратно 16. На выходе с последнего фильтра нужно стараться, что бы разрешение было кратно 4 (для данного случая на выходе разрешение 320*240). Это связанно с тем, что, большинство кодеков используют YUY2 формат цветности. Если же исходить из общих рекомендаций разрешения видео, лучше делать, что бы ширина была кратна 32, а высота 16. Эти рекомендации не связаны с работой кодеков, а предназначены для облегчения работы плееров, показывающих видео. В полях, помеченных красным выставляются значения на сколько производить обрезку с каждой из сторон. Делать можно это 3 способами.
И последняя кнопка "Configure". Она производит включение настройки фильтра, на котором остановлен фокус. Что ж, о фильтрах конкретнее в другой статье, а сейчас пойдём ниже по списку функций в меню "Video". Функция "Frame rate" позволяет изменить частоту кадров видео. Есть 3 вида изменения частоты кадров: изменение индекса частоты кадров (приводит к замедлению или ускорению видео, соответственно изменяется продолжительность видео), реальное изменение количества кадров в секунду (достигается выкидыванием или дублированием кадров, не приводит к изменению продолжительности) и снижение частоты кадров выкидыванием полей (этот способ достаточно подробно рассмотрен мною в этой статье). Для каких целей вы собираетесь это использовать - ваше дело, но пару советов осмелюсь дать. Первый способ может пригодиться, пожалуй, только для баловства. Качественное ускорение или замедление видео этим способом вы не получите. Для этого есть специальные монтажные программы. А если учесть нестандартные частоты кадров, которые вы получите, то функция становится практически не нужной. Второй способ поможет проредить видео (понизить частоту кадров) для публикации в Интернете, следящих систем и других источников, где не важно содержание каждого кадра и не требуется передача динамики. Этим способом изменения частоты кадров можно понизить видео поток или подогнать видео под какие-то конкретные значения (например, вам нужно переделать из 25 кадрового видео в 30 кадровое). Видео поток сжижается со снижением частоты кадров. Третий способ необходимо использовать при получении фильмов в формате NTSC, снятых на киноплёнку. Есть ещё несколько поводов его использовать, но в VirtualDub есть реализация только выкидывания 12 полей из 30 кадров (InverseTelecine). Давайте же посмотрим на окошко VirtualDub функции "Frame rate". "Source rate adjustment" - поле настройки заголовка частоты кадров. Это первый способ изменения частоты кадров (с соответствующими последствиями).
"Frame rate conversion" - Это производится вторым способом.
"Inverse telecine (3:2 pulldown removal)" - функция, выкидывающая 12 полей из 30 кадров. Это нужно для возвращения нормального 24 кадрового фильма из 30 кадрового формата NTSC. Этот процесс принесёт пользу, только если изначально фильм был снят на киноплёнку (24 кадра), а потом переведён в формат NTSC (30 кадров).
Немного ниже по списку функций находится опция "Color Depth": Здесь можно произвести выбор цветового формата, в котором будет работать VirtualDub. По большому счёту, VirtualDub работает только в форматах RGB, а все входящие форматы преобразует в них. Исключение составляют режимы работы "Direct stream copy" и "Fast recompress", которые не производят преобразования к RGB, но в этих режимах не будут работать фильтры и другие интересности VirtualDub. Но об этом чуть ниже. "Decompression format" - позволяет выбрать, в каком формате будет происходить получение видео от декодера.
"Output format to compressor/display" - цветовой формат, в котором видео выдаётся на кодер и для просмотра.
Далее, в выпадающем меню "Video" идёт пункт "Compression". Это меню выбора кодека, при помощи которого будет происходить сжатие вашего видео. Какой кодек выбирать - ваше дело. Есть кодеки, которые широко употребляются и стали практически де-факто (DivX). Есть и другие кодеки, которые дают не худшее качество, но не получившие широкого распространения. Собственно, каждый кодек будет хорош для какой-то своей задачи. На картинке я обвёл цифры, показывающие, с какой глубиной цветности может работать кодек (для данного случая это RGB16 и RGB24). При нажатии на кнопку "Configure" появляется окошко настройки кодека. У каждого кодека оно сугубо индивидуально, поэтому дальше рассматривать я не буду. Для некоторых кодеков требуется внешнее управление битрейтом и расстановка ключевых кадров. При выборе такого кодека становятся доступны два поля:
Больше ничего интересного на вкладке выбора кодека нет. Перейдём на следующую функцию меню "Video". "Select range" - позволяет выделить то видео, которые будут обрабатываться в VirtualDub. Для каждой опции есть два поля, в первом выставляется время в миллисекундах (1 секунда = 1000 миллисекунд), во втором выставляется номер кадра, а который приходится это время. Выставлять можно или время, или номер кадра, значения не имеет. "Start offset" - начальный отступ видео. То есть, если выставить сюда какое-то значение, то обработка начнётся с этого кадра (или с этого времени). "Length" - здесь выставляется продолжительность обрабатываемого видео. "End offset" - отступ видео от конца. То есть, на выставленное здесь значение, видео будет укорочено с конца. "Offset audio to maintain a/v sync" - делает отступы звука для поддержания синхронизации с видео. Действует только в том случае, если вы воспользовались каким-нибудь пунктом выделения видео. "Cut off audio when video stream ends" - если продолжительность звука больше продолжительности видео, то оно будет обрезано с конца. Вот мы и дошли до основных режимов работы с видео. В меню "Video" можно сделать выбор между 4 режимами работы, которые определяют, в каком режиме VirtualDub будет производить обработку видео. "Direct stream copy" - при включении этого режима, VirtualDub не будет производить никаких действий с видео. То есть, мы не можем произвести никаких действий с картинкой (подрезка, наложение фильтров). Более того, даже нельзя изменить кодек, при помощи которого было сжато видео. Сразу оговорюсь, что в VirtualDub можно открыть Mpeg1 формат видео, но сохранить в этом режиме будет невозможно, это связано с тем, что VirtualDub не работает с Mpeg форматами сохранения файлов. Скажем так, VirtualDub сможет сохранить видео в этом режиме, если был открыт AVI файл. Теперь о пользе этой функции. Её смысл в том, что видео из оригинального файла переносится без каких бы то ни было изменений, но его можно переносить не полностью, а кусками. То есть, открываем видео в VirtualDub, производим все вырезки, вставки (в смысле перенос кусков видео из одного места в другое, взять из другого файла не получится), включаем режим "Direct stream copy" и сохраняем. При вырезках и вставках видео не забываем про работу с ключевыми кадрами, по которым производится вся работа (подробнее я описывал выше). Сохранение видео произойдёт очень быстро. При этом в видео не вносится никаких искажений (не производится повторного сжатия). Естественно, для просмотра видео, сохранённого таким образом, будет применяться тот же самый кодек, что и в исходном видео. Для чего же мы ещё можем применить этот режим. Например, нам нужно соединить видео со звуком (или заменить одну звуковую дорожку на другую). Для этого, в меню "Audio" открываем нужный файл со звуком, а в меню видео включаем режим "Direct stream copy". После сохранения у нас будет новый файл, в котором видео уже будет с новым звуком. Так же, в этом режиме мы можем изменить частоту кадров для видео. В работе этого режима есть одна главная особенность: при включённом режиме "Direct stream copy" в меню "Video", видео сохраняется без изменений. "Fast recompress" - при включении этого режима, видео передаётся на кодер в том же цветовом формате, что и выдал декодер видео. Я уже говорил, что VirtualDub работает в цветовом формате RGB, но это не является панацеей. Такой формат цветности нужен только если производится обработка видеоматериала фильтрами. Если же производится только приём видео и сжатие кодеками, то нет никакого смысла переводить видео в RGB формат (так например происходит обработка материала после Avisynth). Если же переводить в RGB (а кодек потом переведёт видео ещё в какой-то свой формат), то происходит хоть и минимальная, но потеря времени, а в некоторых случаях ещё и искажения картинки. Про искажения - это частные случаи, но они иногда происходят. Рассказывать о них довольно долго, смысл их сводится к тому, что видео несколько тускнеет, если его выдавать в RGB форматах (так, например, работают DV декодеры). Итак, какие можно сделать выводы по этому режиму работы? Его нужно использовать, если вы не производите никакой обработки видео в VirtualDub, но собираетесь сжать видео каким-либо кодеком. Противопоказание этому режиму только одно - кодек, который вы применяете для сжатия видео, должен понимать тот формат цветности, в котором выдаёт декодер видео. "Normal recompress" - в этом режиме VirtualDub будет принимать от декодера видео в RGB формате. От предыдущего режима работы его будет отличать большая всеядность кодеров. То есть, если вам попался какой-то кодек, который отказывается принимать тот входной формат видео, который выдаёт декодер, то можно переключится в этот режим работы и произвести сжатие (форматы RGB понимают практически все кодеки). От предыдущёго режима его буде отличать более медленная работа (пренебрежимо мало), и возможное наличие той проблемы с картинкой, про которую я писал. Так же, этот режим работы можно использовать для конвертации RGB16 (если декодер выдаёт в этом формате) в RGB24 или RGB32 для последующего сжатия в кодеках не понимающих RGB16. Это будет происходить быстрее, чем использовать режим "Full processing mode". Делается это при помощи функции "Color Depth". "Full processing mode" - этот режим работы стоит по умолчанию и позволяет включать любые настройки VirtualDub. Как я уже говорил, для работы фильтров VirtualDub нужен формат RGB32. VirtualDub производит конвертирование входного формата в RGB32 и после этого выдаёт на фильтры. Включение этого режима необходимо, когда вы собираетесь производить полную обработку видео в VirtualDub. Перейдём теперь к последнему набору функций меню "Video". "Copy source frame to clipboard" - производит копирование текущего кадра в буфер. Копируется оригинальный кадр из открытого видео. После этой операции, можно вставить куда-либо этот кадр (например, в программе Photoshop вставить в изображение). "Copy output frame to clipboard" - производит копирование текущего кадра в буфер. Но в отличии от предыдущей функции, копироваться будет не кадр источника, а кадр после обработки в VirtualDub. То есть то, что будет выдаваться кодеку на сжатие, учитывая все фильтры обработки видео, которые были вами настроены. "Scan video stream for errors" - производит проверку источника видео на ошибки. Ошибки могут возникать при передаче AVI файла по каким-либо сетям, копировании AVI файла с плохо читаемого диска при помощи программ, предназначенных для копирования сбойных участков и других вариантов, когда возможна неверная передача информации. После выполнения проверки видео в информационной строке будет выдано количество испорченных кадров, а сами испорченные кадры будут выделены, как фрагмент. В этой информационной строке говорится о том, что испорчен 1 кадр, в результате этого, 48 последующих кадров (до ключевого) не могут быть декодированы. Сразу скажу, что в самом VirtualDub эта функция реализована не очень удачно. После того, как найдены "битые" кадры их нужно удалять (другого метода восстановить читаемость всего видео я не знаю). При попытке перейти на начало "битых" кадров, как на начало фрагмента (к сожалению, в информационной строке не выдаются номера битых кадров и перейти на них можно только, как на начало фрагмента) за частую, VirtualDub просто вылетает с ошибкой. На много более удачно эта функция реализована в VirtualDubMod. В ней, после поиска "битых" кадров, есть возможность удалять все найденные испорченные кадры. Если вам нужно будет воспользоваться этой функцией, то я рекомендую это делать при помощи VirtualDubMod. "Error mode" - производит переключение режимов сканирования на ошибки. "Report all errors" - производит отслеживание всех ошибок, возможных при декодировании видео. "Conceal errors and resume decoding at next keyframe" - при поиске ошибок в этом режиме, после нахождения ошибки, VirtualDub не будет сканировать поток дальше, а перейдёт на следующий ключевой кадр и продолжает сканирование. Смысл этой функции в том, что при нахождении ошибки в дельта кадре, следующий кадр будет выстроен из него, то есть, ошибка будет кочевать из кадра в кадр, до тех пор, пока не придёт ключевой кадр. В ключевом кадре есть вся информация для построения полного кадра. В связи с этим, кадры, попавшие между ключевым и испорченным, будут также испорчены и нет смысла их сканировать. "Decode even if the result may be garbled" - отслеживает ошибки даже в том случае, когда результат может быть искажён. То есть, когда результат обнаружения ошибки не может быть 100%, VirtualDub будет продолжать поиск ошибок.
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
|