Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Компьютеры -> Видео -> DivX. Основы создания видео на компьютере


DivX. Основы создания видео на компьютере

Автор: Евгений Сучёв

Микширование

Объединять звук с видео можно при помощи программы VirtualDubMod, это переделанный Virtualdub и со своей задачей он справляется на все 100%. Он понимает звук MP3, AC3, OGG, WAV, в общем, весь набор. Правда, при использовании MP3 VBR (переменный битрейт), и последующем открытии в Virtualdub, он будет утверждать, что у вас проблемы со звуком. Поясню на счёт переменных битрейтов. Официально, на сайте VirtualDub заявлено, что формат AVI не поддерживает переменный битрейт, вернее его можно вставить в AVI, но он может быть рассинхронизирован с видео. У меня проблем ни разу не было, но эта информация официальная.

Так же следует учитывать, что при микшировании видео и аудио MP3, происходит дописывание к получаемому файлу 10-20 мегабайт. Это служебная информация (называемая "frame overhead"). При создании видео формата OGM этого не происходит (поясню, формат OGM получается при микшировании обычного AVI и аудио формата OGG, VirtualDubMod тоже это делает).

Я рекомендовал бы вам пользоваться форматом OGM, для этого есть несколько предпосылок.

  1. В OGM не расходуется место на "frame overhead"
  2. Звук OGG на низких битрейтах гораздо качественнее, чем MP3 того же битрейта
  3. Он без проблем работает с переменными битрейтами.

Короче, делаем это так: в VirtualDubMod открываем видео файл. В разделе "Video" ставим опцию "Direct stream copy". В разделе "Streams" заходим в опцию "Stream list" и выбираем файл с уже приготовленным ранее звуком. Далее, заходим во вкладку File-> Save as... Там выбираем формат, в который будем сохранять (AVI, OGM), выбираем "Direct stream copy" в подразделе "Video mode" и нажимаем сохранить. Работа закончена.

Обо всём понемногу

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

Немного о пользовании Virtuldub. Если у вас возникнет желание зажать в два прохода, есть возможность не подходить каждый раз к компьютеру, когда выполнится проход, а сделать это в виде скрипта, который автоматически выполнит оба прохода, а вы только проверите результат. Делается это так. В настройках звука ставим "No audio", звук будет наложен после обработки видео. Сделайте все установки в кодировщике на первый проход (Video -> Compression -> DivX5-> Configure -> 2-pass, first pass), установите битрейт и другие установки. Зайдите в сохранение ( File -> Safe as AVI ), поставьте галку "add operation to job list and defer processing" наберите название AVI файла и нажмите сохранить, процесс сразу не запуститься, он будет занесён в очередь. Также настраиваем на второй проход (2-pass, second pass), заходим в сохранение и производим там те же действия. После этого можно продолжить заниматься своими делами. Когда компьютер освободится (например, ночью), запускаем Virtualdub и даём команду (File -> Run script -> VirtualDub.jobs) на исполнение скрипта, написанного нами ранее. Файл VirtualDub.jobs находится в каталоге с установленным VirtualDub. VirtualDub выполнит все задания, написанные нами ранее. После выполнения скрипта, закройте VirtualDub и удалите файл VirtualDub.jobs. При помощи этого скрипта можно также монтировать фильмы (запоминаются все вырезки, вставки, наложения, всё так, как вы хотели сохранить), подбирать наиболее качественное сжатие (ставим несколько заданий на сжатие одного и того же файла, но с разными размерами картинки, на утро нам предложат несколько авишек). В общем, очень удобная вещь. А в целом для описания работы с VirtualDub требуется отдельная статья и выходит за рамки описания работы с DivX.

Немного о настройках DivX 5

Ниже приведено описание настроек кодера DivX 5. Некоторые функции уже отсутствуют в DivX 5.05, но я их оставлю, для полноты описания всех кодеков DivX 5.

Variable bitrate mode.

Доступны следующие значения:
1-pass - режим кодека, при котором битрейт примерно выдерживается в указанном значении, это режим с переменным битрейтом.
1-pass quality based - режим кодека, при котором битрейт удерживается в заданном значении не зависимо от сцены. При изменении уровня качества меняется так же и коэффициент сжатия кадров. Этот режим не рекомендуется использовать для хранения информации, а только как материал для последующей обработки.
2-pass first pass - Видео кодируется в два прохода, в первый проход создаётся файл статистики, во второй уже кодится итоговый материал. Это первый проход, когда создаётся файл статистики. Файл, в который будет писаться *.AVI при первом проходе, ничего в себе не несёт, он нужен как своп файл, на втором проходе его можно заменить на настоящий AVI.
2-pass second pass - В этот проход создаётся итоговый файл, руководствуясь данными из файла статистики, созданным во время первого прохода.

MPEG-4 Tools
Use Quarter Pel - Функция, предназначенная для просчёта движения пикселов с точностью до 1/4 пиксела. Реального выигрыша от этой функции я не вижу никакой, а на слабых компьютерах это вообще противопоказано.
Use GMC (Global Motion Compensation) - Помогает улучшать сцены, где используются наезды на объект, панорамирование. То есть, пытается передать максимум информации из предыдущих кадров (ведь они практически не изменяются, особенно при панорамировании). Я бы не рекомендовал использовать этот режим, уже наблюдались проблемы с разваливанием картинки на квадраты при использовании этой функции.
Use Bidirectional encoding - режим работы, при котором дельта кадры делятся на P-frame и B-frame (в DivX 3-4 были только P-frame).При работе B-frame используют не только предыдущий кадр, но и следующий (P-frame рассчитывал картинку только по предыдущему кадру), что даёт нам дополнительный толчок для повышения качества картинки. B-frame получаются очень маленькие, значит можно больше объём выделить на P-frame. Рекомендуется к включению.

Enable Crop - При включении этой функции видео изображение будет подрезано на столько пикселей, сколько выставите в пунктах:
Crop top - обрезка сверху
Crop left - обрезка слева
Crop right - обрезка справа
Crop bottom - обрезка снизу

Psychovisual Enhancements. Как заявлено производителем, это попытка убрать из изображения ненужные детали (психовизуальное восприятие человека). Про эту функцию могу описать свои выводы: В положении Light стало лучше передавать тёмные полутона. Разницу же между OFF и Strong я не заметил.

Maximum key frame interval. Максимальное количество дельта кадров между ключевыми кадрами. В новый кодек изначально встроен механизм вставления ключевых кадров по изменению сцены. Эта цифра, как и следует ожидать, заставляет кодек вставить ключевой кадр, если он не вставлен SCD механизмом. По умолчанию стоит 300, что соответствует 10-12 секундам, в зависимости от frame rate. Я же рекомендую ставить 50-100, что соответствует 2-4 секунды, это несколько увеличивает размер конечного файла, но вместе с этим облегчает поиск нужного фрагмента, и улучшает качество (ведь в течение этого интервала кодек не показывает кадр целиком, а получает из ключевого, путём передачи изменений оного, при этом возможны любые искажения).

Scene change threshold Теоретически должен отлавливать порог изменения сцен, при котором нужно вставлять ключевой кадр, но реально работает не очень корректно, если выставить очень маленький, то в некоторых местах они (ключевые кадры) будут через каждый кадр, а там, где сцены явно изменяются, он их не ставит. Это происходит потому, что он сравнивает соседние кадры, а сцена может меняться 5-10 кадров. Рекомендую выставить 20%.

Enable Resize - при включении этой функции будет произведено изменение размеров видео.
Output width x height - получаемые ширина и высота.
Методы расчета изменения размеров:
Bilinear (Very Soft) - билинейный, самый простой в расчетах, соответственно самый быстрый, рекомендуется только для уменьшения размеров.
Bicubic (Soft) - кубический мягкий, самый простой из кубических.
Bicubic (Normal) - кубический нормальный.
Bicubic (Sharp) - кубический чёткий, рекомендуется для всех видов изменения размеров, но он самый медленный.

Pre Processing Source Заявлено производителем, как шумодав. На самом деле просто происходит сглаживание картинки, что несомненно, помогает при работе кодера и качество картинки в целом растёт. В положении Extreme происходит максимальное сглаживание, в положении Light - минимальное сглаживание.

Source Interlace. Имеет 3 положения:
All frames are progressive - с исходным видео ничего не делается кроме сжатия.
All frames are interlaced - Конвертирует из чрезстрочного видео (при захвате сигнала PAL) в прогрессивное.
All frames telecine - Конвертирует из чрезстрочного видео (при захвате сигнала NTSC) в прогрессивное. Вместе с этим, частота видео снижается с 30 кадров до 24, без потери качества.

Существенное замечание: При включении All frames are interlaced или All frames telecine, не должно быть изменено разрешение видео материала перед кодером.

Data rate control (RC) - управление битрейтом
Maximum quantizer и Minimum quantizer - прямой перевод, коэффициент квантования, но реально, эти параметры задают максимальный и минимальный коэффициенты сжатия P-frames. В работе Maximum quantizer практически не используется, а вот Minimum quantizer задаёт основное качество. Если Minimum quantizer выставить в 2, то это будет означать работа без сжатия и уменьшение размера видео будет только за счёт работы P-frames и B-frames.
Rate control averaging period, frames. Определяет как долго кодек "помнит" как менялся битрейт в процессе кодирования. Высокое значение этого параметра стоит ставить, если в кодируемом материале есть длинные динамичные сцены.
Rate control reaction period, frames. Определяет, как быстро кодек меняет битрейт с изменением сцены.
Rate control up/down reaction. Определяет, как резко кодек может менять битрейт при изменении сцены.

Performance/quality имеется четыре возможных значения:
Slowest.
Slow.
Medium.
Fast.
Fastest.

Значения достаточно очевидны, предлагается выбрать что важнее - скорость кодирования или качество итогового материала. Учитывая, что кодировать надо всего один раз, а смотреть много, то оптимальный выбор, IMHO, очевиден...

Write conversion log file. Нужен для ускорения 2-проходного кодирования.

Продолжение темы следует:

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.