Архивы: по дате | по разделам | по авторам

Видеозапись без видеомагнитофона

Архив
автор : Филипп (Finar) Казаков   08.08.2003

Обработка видео: настала творческая часть процесса. Можно изменить изображение по своему вкусу посредством наложения фильтров, которые в изобилии "растут" сайте вместе, кстати, с описаниями.

Окончание.
Начало см. в #498–499

Теперь настала творческая часть процесса. Можно изменить изображение по своему вкусу посредством наложения фильтров, которые в изобилии «растут» на vrv.nm.ru вместе, кстати, с описаниями.

Самые важные для нас — это яркость и контрастность (brightness/contrast), насыщенность цвета и тон (hue/saturation/intensity 1.2, shelob.mordor.net/ dgraft/hue.html), фильтр, убирающий логотип канала из угла экрана (DeLogo 1.3, shelob.mordor.net/dgraft/delogo/delogo13.zip), увеличение резкости (sharpen). Два последних фильтра требуют пояснения.

DeLogo работает с нежелательными статичными объектами. Конечно, убрать логотип полностью DeLogo не может, но, зная точно, как он выглядит, фильтр аккуратно замазывает его окружающим изображением. При проигрывании искажения практически незаметны. Чтобы сообщить фильтру о том, где и какой формы логотип удалять, необходимо вырезать какой-нибудь кадр (выделите его, затем File Х Save Image Sequence), обработать в любом графическом редакторе так, чтобы то, что мы хотим вырезать, стало абсолютно красного цвета и указать путь к обработанному файлу в настройках фильтра. Описание этого фильтра написано вполне доступным языком и, кроме того, снабжено иллюстрациями, так что разобраться с его работой не составит большого труда.

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

Придумав, что вы хотите сделать с изображением, и добавив соответствующие фильтры, приготовьтесь к тому, что в первый раз ваши надежды на заметное улучшение изображения не оправдаются. Будни кодировщика — это постоянные эксперименты. Первое поле для экспериментов — фильтры и порядок их следования. Но не будем забегать вперед: нас ждет наложение самого главного фильтра — Resize.

Если помните, в результате первичной оцифровки у нас получился файл с разрешением 768х576. Для первичной оцифровки это разрешение более чем оправданно, однако для кодирования в DivX оно не подходит, хотя бы потому, что с ним фильм будет тормозить даже на Pentium 4. Кроме того, при таком высоком разрешении на каждый пиксел приходится небольшое количество информации, что в целом приводит к снижению качества. Поэтому в самую последнюю очередь в цепочку фильтров VirtualDub’a добавляется Resize, призванный уменьшить разрешение видео, но не очень сильно, иначе картинка развалится на видимые глазом квадраты. Наша задача — найти оптимальное разрешение, при котором плотность информации на пиксел не слишком мала, но и видеоряд при полноэкранном воспроизведении не напоминает двигающуюся шахматную доску. А поможет нам в этом wABC calculator (www. cafxx.cjb.net), рис. 1.

Открываем его и видим столько полей и кнопочек, что глаза разбегаются, и какое должно быть у фильма разрешение, яснее не становится. На самом деле разобраться нетрудно. Слева находятся поля, в которые нужно вводить известные величины, справа — кнопки, позволяющие рассчитать значения автоматически, основываясь на данных из уже заполненных полей. Например, если вы ввели значения Frame width (ширина кадра) и Frame height (высота кадра), то, нажав на кнопку напротив Frame aspect ratio, вы получите соотношение сторон при данном размере кадра. Аналогично можно рассчитать ширину, если введено соотношение сторон и высота. Сначала рассчитаем основополагающую характеристику видеопотока — его битрейт. Для этого предназначена первая группа параметров Space criteria, в которой нужно заполнить все поля, кроме Video bitrate.

Disk space — предполагаемый размер фильма в килобайтах. Здесь нужно учитывать, что захваченный материал кодируется хуже, чем, например, DVD, поэтому на один CD-диск более 90 минут видео лучше не записывать. На одном 80-минутном CD/R — чуть больше 718800 Кбайт.

Audio bitrate — битрейт аудиопотока. Поскольку в России все телеканалы пока вещают в моно, а качество вещания далеко от идеала, оптимальным значением будет 64–96 кбит/с.

Length — длина фильма в секундах. После вырезания рекламы ее можно уточнить в VirtualDub’e.
Теперь нажимаем на кнопочку «Sp.C» (кнопка «Qt.C» рассчитывает битрейт по Quality Index, это нам не нужно) напротив поля Video bitrate, тем самым на основании только что введенных данных рассчитываем битрейт. Ура!
Scientia est patentia!
Теперь возвращаемся в VirtualDub и смотрим, какое разрешение указано в самом последнем фильтре в списке. Запоминаем его и заполняем поля Frame width и Frame height в wABC calculator. Это нужно лишь для того, чтобы рассчитать Frame Aspect Ratio (соотношение сторон кадра). Далее вводим частоту кадров 25 fps и рассчитываем Quality Index — количественную характеристику плотности информации на пиксел. Мы получили ее для исходного разрешения, теперь будем уменьшать размер кадра до тех пор, пока Quality Index не подрастет до приемлемого уровня. Уменьшая разрешение, позаботьтесь о том, чтобы результирующие ширина и высота «максимально хорошо» делились на два, то есть были кратны как можно большей степени двойки. При этом можно чуть-чуть изменить соотношение сторон. Вариации высоты или ширины на 1–4 пиксела при просмотре будут совершенно не заметны, зато позволят сделать и ширину и высоту кратными как минимум 8, что уже неплохо и здорово облегчит жизнь кодеку DivX.

Приемлемый уровень Quality Index начинается примерно с 2500–3000, однако дать точные рекомендации невозможно. Слишком сильны индивидуальные особенности каждого захвата, поэтому, подобравшись поближе к этим значениям, снова вспомните, что будни кодировщика — это постоянные эксперименты. Запомните это место как второе поле для экспериментов и отправляйтесь дальше.

Снова возвращаемся в VirtualDub. Теперь, когда все параметры будущего видеопотока рассчитаны, осталось настроить совсем немного. Накладываем фильтр Resize, указав только что рассчитанное разрешение, Filter Mode Х Bicubic. Всё, с фильтрами покончено (рис. 2).

Для кодирования телевизионного сигнала больше подойдет DivX 5.0.2 (www.divx.com) — по сравнению с DivX 3.11 он лучше воспринимает некачественный сигнал, лучше справляется с теми искажениями, которые в любом случае останутся, как бы вы ни чистили видео. Кроме того, он обладает большей совместимостью с бытовыми плейерами mpeg4, которые вскоре появятся на рынке. Но это субъективное мнение автора, для кодирования вы можете использовать по своему вкусу все, что угодно, — от Microsoft mpeg4 v2 до XviD. Здесь же дано краткое описание настроек DivX 5.0.2 (рис. 3).

Идем в Video Х Compression. Выбираем DivX 5.0.2, заходим в конфигурацию. Для экспериментов надо ввести Variable bitrate mode — 1-pass, для окончательного кодирования — 2-pass (first pass). 2-pass — это двухпроходное кодирование. При первом проходе кодек оценивает видеоматериал, прикидывает, как лучше распределить битрейт, и результаты своих размышлений записывает в log-файл. При втором проходе происходит уже непосредственное кодирование, на основе log-файла, полученного при первом проходе. Качество в результате получается немного лучше, чем при использовании одного прохода. Если у вас не слишком быстрый компьютер, а ждать результата около суток не хочется, можно ограничиться и одним проходом.

Encoding Bitrate — ползунком или вручную вводим рассчитанный ранее битрейт при 1-pass, максимальный — при
2-pass (first pass).

Mpeg4 Tools. Включение первых двух опций (Quarter Pixel и GMC) увеличит качество изображения, однако потребует больших ресурсов компьютера и при кодировании, и, что особенно критично, при воспроизведении. Учтите, что закодированный таким образом файл будет тормозить на старых компьютерах. Последняя, третья функция (Bidirectional Encoding) хоть и улучшает качество, но ведет к неоправданному ухудшению прогнозируемости размера финального файла, поэтому лучше ее не использовать. Если вы можете себе позволить кодировать весь фильм целиком по несколько раз, то после первого раза будет нетрудно рассчитать необходимую коррекцию битрейта. Кроме того, эти опции доступны только при использовании Pro-версии DivX-кодека.

Log-file станет доступным при выборе Variable bitrate mode — 2-pass. Здесь надо указать путь к log-файлу, который будет создаваться во время первого прохода и читаться во время второго.

Вот, собственно, и все, тут больше ничего настраивать не обязательно. Более полную информацию о настройках кодека можно найти по адресу www. 3dnews.ru/reviews/software/ divx5.

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

Отключаем звук (Audio Х No audio), он, как вы помните, приклеивается позже. Теперь идем в File Х Save as AVI, указываем путь и ставим галочку в низу окошка. Она означает, что кодирование будет занесено в очередь и начнется позже, по запросу пользователя. Это мы настроили первый проход. Далее снова отправляемся в настройки DivX, выбираем Variable bitrate mode — 2-pass (second pass), в Encoding Bitrate вводим уже расчетный битрейт и снова сохраняем файл как avi с галочкой в низу окошка. Готов второй проход. Теперь, нажав F4, вы увидите лист с заданиями, в котором друг за другом будут идти оба прохода вашего фильма. Можно стартовать!

Во время кодирования можно из диспетчера задач Win2000/XP поставить приоритет VirtualDub’a на минимум, тогда программа не будет мешать текущей работе и снижать производительность компьютера. Кроме того, если ваш компьютер поддерживает спящий режим, вы сможете отключать питание, не прекращая кодирования. Проснувшись, например, на следующий день, компьютер снова продолжит кодирование с того же места.

В результате получится DivX-видеофайл неплохого качества, подходящего объема, без звука. Теперь к нему нужно приклеить обработанный звук, разбить файл на несколько кусочков и… всё. Можно писать на болванки.

Обработка звука

Звук, если вы помните, мы вырезали из захваченного файла и сохранили как стандартный некомпрессированный PCM wav-файл. С ним все гораздо проще, чем с видео. Вы можете обрабатывать его в любом аудиоредакторе, какой вам только по душе. Можете обрабатывать как угодно, только бы его длительность не менялась. Можете кодировать в любой формат, зарегистрированный в системе. Здесь же будет рассмотрен способ «облагораживания» звукового потока, требующий минимума времени и усилий. Берем Winamp, полную версию (лучше 2.5 или выше, www.winamp.com), засовываем в него наш файл, слушаем и настраиваем эквалайзером громкость частот, убирая верхние, в которых всегда есть неприятное шипение. После того как файл зазвучит наилучшим образом, нажимаем Ctrl+P и попадаем в окно настройки. Теперь в Plug-ins Х Output выбираем Nullsoft Disk Writer plug-in. Конфигурирование, думаю, в комментариях не нуждается. Теперь нажимаем «Play», и весь наш файл перепишется в указанное место с учетом настроек эквалайзера.

Соединение звука и видео

Из обработанного wav-файла можно сделать mp3 двумя способами — либо сначала прикрепить к видео и сжать кодеком, установленным в системе, либо сразу закодировать любой программой, которую вы предпочитаете, а затем уж прикрепить к видеопотоку.

Сжатие встроенным кодеком

Устанавливаем скачанный mp3-кодек (mirror01.iptelecom.net. ua/~video/codecs/Lame.MP3. ACM.v3.93.CODEC.exe), открываем VirtualDub, в нем — DivX-видеофайл. Сразу выбираем Video Х Direct Stream Copy. Видеопоток не будет обрабатываться и просто скопируется в результирующий файл. Затем подключаем внешний wav-файл (Audio Х Wav audio, выбрать обработанный wav) и выбираем Audio Х Full Processing Mode (режим полной обработки). Теперь идем в Audio Х Compression, выбираем mp3, справа — нужную конфигурацию. Частота дискретизации, глубина и количество каналов должны быть такими же, как в оригинале, то есть выбрать надо только битрейт. Теперь можно сохраняться. Если нужно уместить фильм на одном компакте, сохраняем файл, как и раньше. Если нет — идем в File Х Save Segmented AVI, вводим лимит на размер файла 700 Мбайт. В результате получится несколько файлов примерно по 700 Мбайт, которые уже можно записывать на болванки.

Присоединение внешнего mp3-файла

По каким-либо причинам вам может понадобиться закодировать звук в mp3 с помощью внешней программы. У каждой программы для компрессии звука есть свои особенности. Одни (Xing mp3, например) отличаются наименьшим временем кодирования, другие — оптимальным качеством, третьи обладают привычным и удобным для вас интерфейсом. Кроме того, используя внешние кодеки, вы может создавать mp3 с переменным битрейтом (VBR).

Наконец вы создали финальный mp3-файл. Теперь его нужно соединить с видео, что, к сожалению, с помощью уже родного и привычного VirtualDub’a сделать не удастся. Для работы с компрессированными форматами звука используется Nandub (tuner.ixbt.com/soft/files/nandub_10rc2.zip) — клон VirtualDub’a. Сделанная по прототипу VirtualDub’a, эта очень похожая на него программа «заточена» под кодек DivX 3.11. Закодировать в DivX 3.11 она может что угодно и на любом компьютере, даже если на нем не установлен сам кодек. Однако нам от Nandub’a требуется совершенно другое. Откройте его и кликните в меню Audio. Видите, кроме стандартного внешнего wav-файла, можно использовать mp3-, ac3- и ogg-файлы. Этим мы и воспользуемся (рис. 4). Подключаем внешний файл, ставим звук и видео в режим копирования потока (Direct Stream Copy), и вперед, сохраняем файл с разбиением его на кусочки, если нужно. Теперь фильм готов для записи на CD/R.

Можно, конечно, использовать альтернативные способы компрессии звука (ac3, ogg), однако на текущий момент от них больше проблем, чем пользы. При таком невысоком, прямо скажем, качестве исходного сигнала вряд ли алгоритм компрессии скажется на результате, а проблем с совместимостью при использовании нестандартных средств не оберешься.

Заключение

Вот и всё. Если нигде не было допущено оплошностей, получится Video-CD, буквально сделанный своими руками, который можно дарить направо и налево со словами «Такого нигде не найдешь…» Скорее всего, первые несколько ваших фильмов будут выглядеть не слишком здорово. По крайней мере, хуже, чем можно было ожидать, проведя за настройками и тестами столько времени. Но не опускайте руки, опыт придет быстро, и вскоре вы сможете делать записи с эфира, сравнимые по качеству с фирменной кассетой VHS или даже c SVCD. Не забудьте только записать на болванку набор необходимых кодеков и сделать обложку.

Определимся с терминами

TV-tuner — устройство, принимающее телевизионный сигнал и преобразующее его в понятный для компьютера цифровой формат. Также, в большинстве случаев, он позволяет оцифровывать сигнал композитного и
S-video-входов. Тюнеры бывают внутренние и внешние. Внешние либо подключаются между монитором и видеокартой и не «общаются» с компьютером вообще, либо работают на сравнительно медленной шине (USB, например), которая не может обеспечить необходимой для захвата скорости передачи данных. Поэтому для захвата используются только внутренние тюнеры, представляющие собой платы PCI (ISA в редких случаях).
Битрейт (kbps, кбит/с) — объем информации в килобитах, требующийся для кодирования одной секунды аудио- или видеопотока. Чем больше битрейт, тем больше места займет файл с фильмом. Битрейт конечного файла является суммой битрейтов аудио- и видеопотоков.
Кодек — алгоритм, по которому производится сжатие видео или звука. Например: MPEG4 — это видеокодек, MPEG1 layer III — это аудиокодек.
Первичная оцифровка — это, собственно, и есть захват — предварительное сжатие видео в реальном времени с минимальными потерями качества, но зато с большим битрейтом. Иначе говоря, в результате первичной оцифровки мы получаем объемный видеофайл, который субъективно почти не отличается от оригинала.
Затем на захваченный файл накладывается цепочка фильтров, и он сжимается с помощью какого-либо кодека MPEG4 еще примерно в десять раз. Это и есть финальное кодирование.
Плотность информации на пиксел — количество информации, приходящееся в среднем на один пиксел компрессированного изображения. Так как при компрессии используются самые разные хитрые методы, иногда плотность информации на пиксел может быть даже меньше одного бита.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.