Register  Forget Password?
Использование VirtualDubMod в работе над клипами

"Использование VirtualDubMod в работе над клипами"

Что нужно клипмейкеру для работы? Его любимая программа видео-редактирования (моя – Adobe Premiere), VirtualDubMod и кодеки: любимый для видео (мой – DivX 5) и mp3 для аудио. Всё остальное добавляется по вкусу.

Последнюю версию VirtualDubMod (1.5.10.1 на момент написания статьи) можно скачать отсюда. Последнюю версию энкодера Lame (3.95.1 на момент написания статьи) можно найти здесь.

Немного теории для начинающих

При кодировании как видео так и аудио (в дальнейшем будет оспользоваться общий термин поток) любыми популярными кодеками часть информации безвозвратно теряется. Это нужно держать в голове, чтобы понимать, что количество перекодирований надо свести к минимуму. В идеале это 1 перекодирование для видео и 0 для аудио. Для того чтобы не потерять лишней информации для промежуточного сохранения используют несжатое видео и аудио или же беспотерьные (lossless) кодеки.

Главной характеристикой потока является его битрейт (bitrate). Он характеризует, сколько места выделено под размещение сегмента потока продолжительностью в секунду. Разумеется, чем выше битрейт, тем как правило выше качество, меньше потери, но и больше размер файла. Поиск разумного компромисса между размером и качеством – главная задача кодирования.

Один кадр видео также именуется фреймом (frame). Другой характеристикой видеопотока является его фреймрейт (framerate). Измеряется он в количестве кадров в секунду или по-буржуйски fps. Разумеется клипы с различным фреймрейтом будут плохо совмещаться между собой.

MPEG и все его производные (DivX, XviD, и т.д.) используют различные типы фреймов. Ключевые фреймы (I-frames) содержат кадр целиком. P-frames содержат только отличия от предыдущего I или P фрейма. B-frame содержат только отличия от предыдущего и следующего I или P фрейма. Как работают последние, не знает никто кроме создателей, судя по невнятным описаниям найденным в инете. Ну и чёрт с ними. Нам важно понимать следующие вещи. Копировать видео без пережатия возможно только отрезая по ключевым фреймам, иначе картинка не сможет быть восстановлена. В случае фиксированного битрейта, если ключевых фреймов будет слишком много, видео резко потеряет в качестве. Если ключевых фреймов будет слишком мало, видео будет тормозить, особенно при промотке. Если ключевые кадры будут стоять не на месте, от них опять же будет мало пользы, что снова в итоге приведёт к ухудшению качества.

Методы кодирования mp3-звука бывают следующие. CBR – это кодирование звука с постоянным битрейтом. 128 и всё тут, ни шагу влево, ни шагу вправо. Простой, ненапряжный для других программ и вашего процессора вариант. VBR – это кодирование звука с переменным битрейтом. Кодек оценивает степень сжимаемости звука. И звуку посложнее битрейта подкинет, а у простого убавит. Качество заметно растёт при том же объёме. Минус его в том, что не все программы умеют с ним как следует обращаться. Второй минус в том, что кодируется он исходя из качества, и предсказать размер совершенно невозможно. ABR – это удобный компромисс между двумя вариантами. Битрейт меняется, обеспечивая лучшее качество, но при этом не отходит далеко от заданного, сохраняя нужный объём.

Почему не надо использовать PCM и прочие аудио-кодеки? Да потому что для обеспечения того же качества звука, что mp3, они потребуют раза в 3 больше места. Преимуществ у них нет никаких, даже не надейтесь. А поскольку наиболее вероятным путём распространения ваших клипов будет интернет, задумайтесь, где вы будете хранить свои лишние мегабайты и кто захочет их качать.

Всё, конец теории. Если хотите больше, читайте интернет. Там всё написано.

Знакомство с VirtualDubMod

VirtualDubMod (далее VDM) – это очень удобная программа для грубой работы с видео – нарезка, склейка, кодирование. В этой главе я расскажу, что вы можете проделать с её помощью, опишу интерфейс.

Меню File

  

Open video file (Ctrl-O): это просто, это открыть файл.
Append segment: добавить сегмент. Служит для склейки файлов. Чтобы вы могли склеить 2 файла, у них должны совпадать разрешения, кодеки и фреймрейт. Добавление происходит всегда в конец.
Save As (F7): сохранить. Не ищите пункта Save, его нет. Записать файл поверх самого себя невозможно.
File Information: здесь вы можете увидеть некоторую информацию об открытом файле.
Save image sequence: для хардкорных клипмейкеров есть возможность сохранить отрывок покадрово в виде серии нумерованных картинок.
Load processing settings и Save processing settings позволяют сохранить параметры кодирования и воспользоваться ими снова в дальнейшем.
Job control (F4): список задач. Зачем сидеть у компа в ожидании завершения работы? Запустил себе список и пошёл спать.

Меню Edit мы пропустим. Оно хорошо для того, чтобы подсматривать комбинации клавиш, но работать через него – мазохизм.

Меню Video

  

Filters (Ctrl-F): здесь вы можете найти различные полезные фильтры. Например, 2:1 reduction (high quality) аккуратненько уменьшит вам разрешение файла в 2 раза. Фильтры бывают самые разнообразные, некоторые люди даже умудряются ваять через VDM простенькие клипы. Что есть безусловное извращение.
Compression (Ctrl-C): устанавливает кодек для сжатия. Но мы с вами этот пункт использовать не будем, есть путь и поудобнее.
Direct stream copy устанавливает режим прямого копирования видео. Пережатия не производится.
Fast recompress скармливает входящий поток напрямую кодеку, не производя преобразования цветового пространства и не применяя фильтров.
Normal recompress преобразует цветовое пространство в RGB, но опускает фильтры. Также можно выполнить преобразования фреймрейта.
Full processing mode делает всё, что только подскажет вам ваша неуёмная фантазия. Многих волнует вопрос, когда какой пункт ставить. Если желаете применять фильтры, конечно нужен Full. Если нет, то Fast. Normal я пока ни разу не использовал, но теоретически его можно попробовать, если вдруг не заладится с Fast-ом.

Из меню Streams нас интересует только пункт Stream list.

  

В обычном avi здесь только один поток – аудио. В более сложных контейнерах, таких как ogm и mkv, вы можете обнаружить по несколько аудио-потоков, а также потоки с субтитрами. Обратите внимание на контекстное меню, вызываемое по правой кнопочке. Там есть крайне полезные функции. Interleaving позволяет в частности выравнивать звук относительно видео. Здесь же вы можете компрессировать звук в пункте Compression, но для этого надо включить Full processing mode в нижней части меню.

Справа нас интересуют следующие кнопочки.

Add: добавить поток. Имейте в виду, что если потоков больше одного, смешиваться они не будут. То есть ни смешать ни склеить не выйдет. А поскольку avi по-хорошему не предназначен для нескольких аудиопотоков, то например Windows Media Player склонен проигрывать их одновременно, в то время как многие другие проигрыватели позволяют выбрать один поток и звучать будет только он.
Save WAV: сохранить аудио-поток в формате WAV. Нужно установить Full processing mode.
Demux: сохранить аудио-поток в том формате, в котором он хранится в avi, например в mp3 или ac3. Разумеется для этого нужно установить Direct stream copy.
Disable: выключить аудио. Разумеется при этом оно никуда не пропадёт. Чтобы получить файл без него, нужно будет сделать Save As в другой файл.

А теперь нижний toolbar и работа с клавиатуры.


Кнопка 1 (Ctrl-left): перейти в начало файла.
Кнопка 2 (left): перейти на кадр влево. Alt-left позволяет перескочить на 50 кадров влево.
Кнопка 3 (right): перейти на кадр вправо. Alt-right позволяет перескочить на 50 кадров вправо.
Кнопка 4 (Ctrl-right): перейти в конец файла.
Кнопка 5 (Shift-left): перейти на предыдущий ключевой кадр.
Кнопка 6 (Shift-right): перейти на следующий ключевой кадр.
Кнопка 7: перейти к предыдущему изменению сцены.
Кнопка 8: перейти к следующему изменению сцены (кнопки 7 и 8 ищут место где картинка очень сильно меняется, что позволяет предположить, что сменилась сцена. Хорошо при нарезке, но работает очень медленно).
Кнопка 9 (Home): установить начало выделения. Перейти к началу выделения можно клавишей [.
Кнопка 10 (End): установить конец выделения. Перейти к концу выделения можно клавишей ]. Если есть выделение, то по F7 будет сохранено только оно. Если нет, то весь файл.
Del – удалить выделенный кусок. Если выделения нет, то удаляет текущий кадр.
Ctrl-G позволяет перейти в нужную точку по времени или номеру фрейма.

Справа от тулбара вы можете видеть некоторую полезную информацию. Буковкой f я пометил номер текущего фрейма, буковкой t – его время, а под буковкой k вы можете найти признак ключевого кадра. Если скобки пустые, то кадр неключевой. А если в них буква K, то это ключевой кадр.

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

И ещё один маленький фокус. Непременно пойдите в меню Options -> Preferences. Примерно в середине списка настроек найдите пункт By default try processing MP3 VBR streams like Nundub и поставьте ему галочку. После этого VDM будет продолжать жаловаться на VBR звук, но по умолчанию будет предлагать правильный вариант его обработки. Не обращайте на эти жалобы ни малейшего внимания, кстати, и никогда не соглашайтесь перепрописывать заголовок для «неправильного» звука.

Предварительная нарезка

Если вы ограничены в пространстве или вам просто так удобнее, исходное видео (далее исходник) можно быстро и качественно нарезать в VDM. Для того, чтобы не потерять качество, резать надо в режиме прямого копирования. В меню выставляем Video -> Direct stream copy. Теперь режем кусочки по следующему алгоритму. Нашли начало нужного куска. Проверили наличие буковки K (k). Если её нет, то нажали на кнопочку (5). Теперь точно есть. Это мы нашли ближайший ключевой фрейм. Нажали кнопочку (9), чтобы отметить начало отрывка. Теперь отыскали конец нужного куска. Имейте в виду, последний фрейм не будет включён в отрезок. Поэтому на самом деле вам нужен ближайший ненужный кадр! Проверили буковку K. Если нету, нажали кнопочку (6). Нажали кнопочку (10), чтобы отметить конец отрывка. Всё в порядке? Попрыгали в начало и конец выделения клавишами [ и ]. Оно? Нажимаем F7, задаём имя и сохраняем отрывок в рабочую директорию. Почему режем по ключевым фреймам – см. теорию.
Не забудьте отключить звук через Stream list! Иначе он вам будет только мешаться.

Подготовка звука

Если у вас есть CD с выбранной песней, это идеальный вариант. Сграбьте её в wav-формат и вперёд-ура! Для грабленья можно воспользоваться программой Exact Audio Copy (версия 0.95b5 на момент написания статьи). Найти её можно здесь.

Если же песня в mp3 или даже в чём-то более экзотическом, то перед началом работы перегоните звук в тот же wav. Программка для конвертации из mp3 есть у нас в разделе с софтом. Во-первых, этим вы избежите проблем с Премьером (если им пользуетесь). А во-вторых, сэкономите усилия процессора на раскодирование звука во время работы.

Вот и всё, можно начинать.

Производство клипа

Данным руководством не освещается. Хе-хе. Всё, что я вам скажу: если позволяет место на диске, лучше никогда не кодировать клип в редакторе, а экспортировать в несжатом виде и кодировать замечательной программой VirtualDubMod. Если места на диске хронически не хватает, то тогда конечно делайте что угодно, вас уже ничто не спасёт. Остальным читать дальше.

Кодирование видео

Видео кодируем первым. Экспортируем в несжатый файл (или с беспотерьным кодеком) без звука, открываем его в VDM и тут же делаем ему Save As. Вот такие вот мы гусары.

  

File name: задаём имя.
Ставим галку Don’t run this job now, остальные галки не ставим.
Video mode ставим в Fast recompress или Full processing mode смотря по обстоятельствам (см. главу Знакомство).
Нажимаем Change напротив Compression и выбираем кодек для видео. Не знаю, как новое поколение, а я всегда выбираю DivX. Поэтому на примере DivX версии 5.2.1 и рассмотрим. Находите кодек в списке (рисунка помещать не буду, там просто) и нажимаете кнопку Configure.

Первым делом нажимаем Select Certified Profile. Я лично не верю, что мои клипы будут проигрывать на hand-held devices. Поэтому снимаю галку DivX Certified и имею полный контроль над происходящим. На следующей странице я вообще-то рекомендую оставить всё как есть. Но можете поиграть с Bidirectional Encoding и Use GMC и сравнить результаты, если будет время и желание. Я пока примеров улучшения не видел.

  

Итак, вернулись обратно. Encode Performance ставим в Standard. Он обеспечивает хорошее качество на высоких битрейтах. На низких в общем-то тоже. Я сравнивал с медленным и никаких несомненных доводов в его пользу не нашёл. И снова рекомендую сделать пару пробных вариантов в случае каждого конкретного клипа.

Average bitrate: это ваш битрейт. Для качественной версии должно хватить 900-1000.
Для первого прохода:
Variable bitrate mode: поставить в Multipass, 1st pass.
Для повторного прохода:
Variable bitrate mode: поставить в Multipass, Nth pass.
Bitrate modulation: выделять больше битрейта быстрым или медленным сценам. Это снова индивидуально для каждого видео. Попробуйте подвигать в сторону high-motion. Иногда помогает.

Следующая закладка. На ней вообще лучше ничего руками не трогать, но мы по ней всё равно пройдёмся для лучшего понимания.

  

Psychovisual Enhancements: за этим полем стоит какая-то дремучая теория относительно восприятия изображения человеческим глазом. Но я в неё не верю. Разрабатывалось-то для кино, а не для анимешных клипов, так что шайтан его знает. Если очень хочется, ставьте. Для низкокачественного превью больше причин поставить эту галку. Проверяйте сами.
Enable Crop и Enable Resize – я лучше бы доверил проведение этих операций VDM-у, если потребуются.
Pre Processing Source: зачистка изображения. Если у вас грязное видео, то чистить его нужно до редактирования. Применённое после, оно вам может попросту замылить все ваши драгоценные спецэффекты. Вот такой хоккей нам точно не нужен! Если всё же припрёт, то чистится видео не здесь.
Interlacing: у нас наверняка Progressive source Если интерлейс у нас был, мы от него избавились давно, и новый нам совершенно ни к чему.
Scene change threshold: процент изменения изображения, при котором сцена считается сменившейся и фрейм становится кандидатом в ключевые. 50% - вполне нормальная цифра.
Max Keyframe interval: максимально допустимое количество неключевых фреймов подряд. Как правило, ключевой фрейм появляется раньше под управлением предыдущего параметра. Так что здесь цифра порядка нескольких сотен будет в самый раз.
Quantization Type: Что такое квантизация, мы разбираться не будем. Моё личное ощущение (на высоких битрейтах), что с H.263 изображение выходит порезче. А с MPEG-2 - поглаже. Последнее субъективно нравится больше.

Параметры выставлены, давим OK в окне настройки кодека и ещё один в окне выбора кодека. Попадаем обратно в окно Save As, где нажимаем Save. Если вы всё сделали правильно, ничего не произойдёт. Так и надо. Нам ещё второй проход делать.
Снова нажимаем F7, попадаем в знакомое окно. Теперь уже напрямую двигаем к кнопке Change и далее по известному маршруту в настройки кодека. В простейшем случае мы меняем только Variable bitrate mode на в Multipass, Nth pass. Тут же OK, OK, Save. В более сложном случае вы можете менять разные параметры, но этому учитесь уже сами, без меня. Если кодирование финальное, я рекомендую добавить и третий проход, уже безо всяких изменений. Просто F7, Save.

  

Теперь нажимаем F4 и идём в список задач.

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

Задачи можно удалять, менять местами, задерживать до лучших времён. Важно что когда вы нажмёте кнопку Start, начнут исполняться все задачи, имеющие статус Waiting, сверху вниз.

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

Кодирование звука

Эта часть статьи претерпела самые значительные изменения в новой редакции. К сожалению, первую редакцию можно было заносить в категорию "вредные советы". Почему и было принято решение: переписать заново.

Итак, видео наше в полном порядке, кодируем звук. Если звуковая дорожка уже имеется в mp3 приемлемого качества, то переходим сразу к пункту Прошивка.

Остальные экспортируют из своего проекта отдельно звуковую дорожку в wav. И ставят себе отсюда замечательную программу BeSweet. Она состоит из двух частей: собственно программы перекодирования звука и GUI (графического интерфейса к ней). Ставьте обе в одну директорию. Картинки в статье от версий BeSweet v1.5b29 и BeSweetGUI v0.7b8.

  

От количества настроек в BeSweet глаза поначалу лезут на лоб. Не пугайтесь, никто не заставляет вас использовать все.

На главной странице представляют интерес следующие параметры. Два поля наверху. Input - задаёт входной файл. Output - имя для выходного файла.
Цепочка в середине. SSRC можно использовать для ресамплинга, то есть изменения Sampling Frequency звука. Из списка Output (название меняется) в самом конце выбираем нужный нам выходной формат, в данном случае mp3.
Внизу смотрим только на HybridGain (название меняется). Здесь вы можете сделать звук погромче. Значение HybridGain добавляет громкости сколько получится, но чтобы шум не зашкаливал. Но если вы считаете себя умнее этой железки, там есть и ручные режимы.

  

Теперь кнопками справа переключаемся на SSRC (если решили его использовать). Тут трогаем только Set Sampling Rate of Output File to. В данном примере я решил закодировать звук для превью, поэтому частоту сэмплирования мы снижаем до 22050, то есть ровно в 2 раза. Исходный звук у вас с 99% вероятности будет иметь частоту 44100, это стандарт Audio CD. Разумеется, минимальный уровень искажений вы получите при уменьшении частоты в целое количество раз. 22050 - самый подходящий случаю вариант. Для звука с высоким битрейтом (от 112 и выше) частоту конечно менять ни к чему.

  

Переключаемся справа на Lame 1. Если делаем звук высокого качества и не хотим заморачиваться, то в самом низу выставляем Alt Preset в Abr 128 и больше ни о чём не думаем. Но в данном случае мы делаем более сложную работу и потому выключаем готовые пресеты и ставим галку на Downmix from Stereo to Mono for Mono Encoding. Если на низком битрейте переключить звук на моно, то часто можно немало выиграть в чёткости. Ведь вместо двух каналов теперь нужно записывать только один.

  

Переключаемся на Lame 2. Здесь следует в первую очередь обратить внимание на галки Use CBR, Use ABR и Use VBR. Это типы кодирования, о которых я рассказывал в начале. В данном случае мы используем ABR с битрейтом 56. Можете им играть в поисках угодного вам баланса объём/качество.
Здесь же есть поле Sample Frequency to Output File. Вообще-то это то же самое, что мы сделали в разделе SSRC. Считайте, что я вас специально надул, заставив познакомиться с лишней опцией. Только не вздумайте дублировать - используйте либо то, либо это.

Однако всё. Нажимаем справа внизу кнопку WAV to MP3 и получаем результат.
Пара слов в заключение. Используя эту программу, вы можете не только кодировать из wav в mp3, но и работать с самыми немыслимыми форматами.

Прошивка

Итак, тем или иным способом мы получили звук в формате mp3. Теперь желательно совместить его с изображением. В самом простом случае, когда использована всего одна песня с подходящим битрейтом и не претерпевшая редактирования, её можно вписать в клип напрямую. Даже если она начинается не с первых кадров клипа (например, у вас беззвучная заставка). Все остальные осложнения приводят вас к перекодированию, которое мы только что разобрали.

В большинстве случаев для прошивки звука в avi можно воспользоваться горячо любимым VirtualDubMod-ом. Кроме одного, и это важно! VDM к сожалению неправильно обрабатывает моно-звук с переменным битрейтом. Стерео или с постоянным битрейтом - без проблем. А тут его глючит. Поэтому рассмотрим 2 варианта.

Вариант VirtualDubMod:
Начало клипа совпадает с началом песни? Тогда пропустите этот абзац. Иначе ищем, откуда должна начинаться песня. Становимся на самом первом кадре, который был у вас выровнен с песней при создании клипа и смотрим вниз на его позицию (t). Переводим её в миллисекунды по формуле {минуты}*60000+{секунды}*1000+{миллисекунды}.

Теперь двигаем в меню Streams / Stream List. Если там есть уже какой-то звук, нейтрализуем его мощным тычком по кнопке Disable. Он при этом покрывается косой штриховкой. Нажимаем Add и находим наш звук. Если он с переменным битрейтом, VDM выдаст предупреждение, которое мы смело игнорируем. Если у вас есть цифра смещения из предыдущего абзаца, нажимаем правую кнопку мыши на нашем аудио-потоке и выбираем пункт Interleaving. В появившемся окне ничего не трогаем, кроме поля Delay audio track by, куда вписываем наше количество миллисекунд. Всё, Ok. В обоих окнах.

Нажимаем F7, вводим новое имя для нашего файла. Галку Don’t run this job now выключаем, тут проход всего один. Video Mode ставим в Direct stream copy. Теперь Save.

  

Вариант AVI-Mux:
Если вам всё же пришлось столкнуться с мно-звуком в переменном битрейте, то для этого есть утилита AVI-Mux которая берётся здесь. Для написания статьи использована версия 1.17.

Главный фокус программы заключается в том, чтобы догадаться нажать правую кнопку мыши на самом верхнем поле. Это единственный способ добавить файлы. Добавляем в кучу свои avi и mp3, выбирая add в контекстном меню. Если в avi уже есть звук, отключается он в нижнем поле. Если не видите звука внизу, то выберите avi в списке и нажмите generate data source from files. Всё, нажали start и поехали.

Клип готов и хорош как никогда. Не забудьте пойти на форум АКРОССа и выложить клип в "Экзаменационной"!

Esc
09.05.2004
Padre
MY BITCHES
 21.04.2010  
Nyan Koi
Mindless Self Indulgence - Never Wanted To …
Comedy / Fun
Gidra
RUMBLE IN THE NEW YORK
 AKROSS CON 2008 WINNER 18.12.2008  
Baccano!
Blue October - Razorblade
Action
Tayo
PART OF YOU, SPLINTERS OF US
 AKROSS CON 2010 WINNER 18.12.2010  
Hachimitsu to Clover, Uragiri wa Boku no Nam…
Damien Rice - Prague
Drama