aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/xml/ru/encoding-guide.xml
diff options
context:
space:
mode:
authorGravatar voroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-07 12:31:37 +0000
committerGravatar voroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-07 12:31:37 +0000
commitf7dc5bbaedea168cc10b3ee09b44f1d169dd9c0b (patch)
tree377f2a2205a77b419e7dbf01ea8b4db92f11fe86 /DOCS/xml/ru/encoding-guide.xml
parent1bade46a88990274616d378200998809de2c8fb0 (diff)
Initial (partially, about 40%) translation.
Patch from Andrew Savchenko birkoph at list ru with small fixes. Translated sections: menc-feat-dvd-mpeg4 Sections to translate: menc-feat-telecine menc-feat-enc-libavcodec menc-feat-xvid menc-feat-x264 menc-feat-video-for-windows menc-feat-vcd-dvd git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20741 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/xml/ru/encoding-guide.xml')
-rw-r--r--DOCS/xml/ru/encoding-guide.xml4905
1 files changed, 4905 insertions, 0 deletions
diff --git a/DOCS/xml/ru/encoding-guide.xml b/DOCS/xml/ru/encoding-guide.xml
new file mode 100644
index 0000000000..280217dd14
--- /dev/null
+++ b/DOCS/xml/ru/encoding-guide.xml
@@ -0,0 +1,4905 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- synced with r20683 -->
+<!-- **Partially** translated -->
+<chapter id="encoding-guide">
+<title>Кодирование с <application>MEncoder</application></title>
+
+<sect1 id="menc-feat-dvd-mpeg4">
+<title>Создание высококачественного MPEG-4 (&quot;DivX&quot;) рипа из DVD фильма</title>
+
+<para>
+ Одним часто задаваемым вопросом является "Как мне сделать рип самого высокого
+ качества для заданного размера?". Другой вопрос "Как мне создать DVD рип с самым
+ высоким возможным качеством? Я не беспокоюсь о размере файла, мне нужно лишь
+ наилучшее качество.".
+</para>
+
+<para>
+ Последний вопрос, похоже, отчасти неверно сформулирован. В конце концов, если
+ Вы не беспокоитесь о размере файла, почему бы просто не скопировать весь MPEG-2
+ видео поток с DVD? Конечно, ваш AVI файл будет занимать около 5GB,
+ но если Вы желате наилучшее качество и не волнуетесь о размере, то это,
+ несомненно, лучшее решение.
+</para>
+
+<para>
+ В действительности, причиной, по которой Вы хотите перекодировать DVD в MPEG-4,
+ является именно Ваше <emphasis role="bold">беспокойство</emphasis>
+ о размере файла.
+</para>
+
+<para>
+ Сложно дать универсальный рецепт о создании DVD рипа очень высокого
+ качества. Необходимо рассмотреть несколько факторов, и Вы должны
+ понимать эти детали, иначе Вы, скорее всего, разочаруетесь своими
+ результатами. Ниже мы исследуем некоторые из этих вопросов, а затем
+ рассмотрим пример. Мы предполагаем, что Вы используете
+ <systemitem class="library">libavcodec</systemitem> для кодирования видео,
+ хотя теория также применима и к другим кодекам.
+</para>
+
+<para>
+ Если это кажется для Вас слишком сложным, то Вам, пожалуй, следует использовать
+ один из многочисленных неплохих фронтендов, указанных в
+ <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">разделе MEncoder</ulink>
+ нашей страницы родственных проектов.
+ Так Вы должны получить высококачественные рипы без особых размышлений,
+ поскольку большинство этих утилит разработаны для принятия умных решений за Вас.
+</para>
+
+<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
+<title>Подготовка к кодированию: Идентификация исходного материала и кадровой
+ частоты</title>
+<para>
+ Прежде, чем даже задумываться о кодировании фильма, Вам необходимо выполнить
+ некоторые предварительные действия.
+</para>
+
+<para>
+ Первым и наиболее важным шагом перед кодированием должно быть опеределение
+ типа содержимого, с которым Вы работате.
+ Если источником Ваших исходных материалов является DVD или
+ широковещательное/кабельное/спутниковое TV, оно будет содержаться в одном из
+ двух форматов: NTSC для Северной Америки и Японии, PAL для Европы и т.д..
+ Однако, важно понимать, что это только форматирование для показа на
+ телевидении, и оно часто
+ <emphasis role="bold">не</emphasis> соответствует
+ исходному формату фильма.
+ Опыт показывает, что NTSC материал существенно более сложен для кодирования,
+ т.к. в нём содержится больше элементов, которые нужно идентифицировать.
+ Для проведения удачного кодирования, Вам необходимо знать исходный формат.
+ Отказ от принятия этого во внимание приведёт к различным дефектам в Вашем
+ кодировании, включая безобразные гребешки (артефакты череcстрочной развёртки)
+ и повторяющиеся или даже потерянные кадры.
+ Кроме ухудщения картинки, артефакты так же уменьшают эффективность кодирования:
+ Вы получите худшее качество на единицу битпотока.
+</para>
+
+<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
+<title>Определение кадровой чатоты источника</title>
+<para>
+ Вот список, содержащий общие типы исходных материалов, где,
+ преимущественно, можно найти и их свойства:
+</para>
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">Стандартный фильм</emphasis>: Производятся
+ для театральных показов на 24 fps [кадр/сек].
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">PAL видео</emphasis>: Записывается с помощью
+ PAL видеокамеры при 50 полях в секунду.
+ Поле состоит только из чётных или нечётных линий кадра.
+ Телевидение было разработано для обновления этих полей попеременно,
+ что используется как вид дешёвого аналогового сжатия.
+ Человеческий глаз, предположительно, компенсирует это, но однажды
+ поняв чересстрочную развёртку, Вы научитесь видеть её и на TV и
+ Вам больше никогда не понравится телевидение.
+ Два поля <emphasis role="bold">не</emphasis> составляют
+ целый кадр, поскольку они снимаются с задержкой в 1/50 секунды
+ и, следовательно, не формируют одно изображение, за исключением случая
+ полного отсутсвия движения.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">NTSC видео</emphasis>: Записывается с помощью
+ NTSC видеокамеры при 60000/1001 полях в секунду, или 60 полях в секунду
+ в эпоху чёрно-белого TV.
+ В других отношениях аналогично PAL.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">Анимация</emphasis>: Обычно рисуется на 24 fps,
+ но также существуют разновидности со смешанной кадровой частотой.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">Компьютерныя графика (CG)</emphasis>: Может
+ быть с любой частотой кадров, но некоторые встречаются чаще остальных;
+ 24 и 30 кадров в секунду типичны для NTSC, и 25 fps типично для PAL.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">Старый фильм</emphasis>: Различные низкие
+ кадровые частоты.
+</para></listitem>
+</itemizedlist>
+</sect3>
+
+<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
+<title>Идентификация исходного материала</title>
+<para>
+ Фильмы, состоящие из кадров, называются фильмами с построчной (или прогрессивной)
+ развёрткой, а состоящие из независимых полей &mdash; фильмами с чересстрочной
+ развёрткой или просто видео; однако, последний термин двусмысленный.
+</para>
+<para>
+ Из-за дальнейших усложнений, некоторые фильмы будут смесью
+ нескольких, указанных выше.
+</para>
+<para>
+ Наиболее важным различием между всеми этими форматами является
+ то, что одни из них основаны на кадрах, а другие &mdash; на полях.
+ <emphasis role="bold">Любой</emphasis> фильм, подготовленный для
+ просмотра на телевидении (включая DVD), преобразуется в формат,
+ основанный на полях.
+
+<!-- FIXME: Существует ли лучший *краткий* (1-2 слова) перевод для
+ терминов pulldown и telecine? В литературе, которую я нашёл,
+ используют или указанные мной, по сути дела, транслитерации,
+ или так и оставляют английские названия.
+ А точный перевод можно выполнить только целым предложением
+ (т.е. определением), что совершенно неуместно в контексте
+ данного документа, где эти термины часто встречаются. -->
+
+ Различные методы, с помощью которых это может быть сделано, совокупно
+ называются "телесин" (англ. telecine), одним из вариантов которого
+ является отвратительный NTSC "3:2 пулдаун" (англ. pulldown).
+ За исключением случаев, когда формат исходного материала был
+ также основан на полях (и с такой же частотой полей), Вы получите
+ фильм в формате отличном от исходного.
+</para>
+
+<itemizedlist>
+<title>Существует несколько общих типов пулдауна:</title>
+<listitem><para>
+ <emphasis role="bold">PAL 2:2 пулдаун</emphasis>: Наилучший из всех.
+ Каждый кадр показывается за время длительности двух полей путем
+ извлечения чётных и нечётных строк и их попременного показа.
+ Если в исходном материале 24 fps, то это ускоряет воспроизведение фильма
+ на 4%.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 пулдаун</emphasis>:
+ Каждый 12-й кадр показывается за время длительности трёх полей,
+ вместо двух.
+ Это помогает избежать проблемы 4%-го ускорения, но делает обращение
+ процесса существенно более сложным.
+ Такие вещи обычно наблюдаются в музыкальных произведениях, где
+ изменение скорости на 4% существенно повредит музыкальную партитуру.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">NTSC 3:2 телесин</emphasis>: Кадры показываются
+ попеременно за время длительности 3-х полей или 2-х полей.
+ Это даёт частоту полей в 2.5 раза больше исходной частоты кадров.
+ Результат также очень незначительно замедляется от 60 до 60000/1001
+ полей в секунду для поддержания частоты полей NTSC.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">NTSC 2:2 пулдаун</emphasis>: Используется
+ для отображения материала с 30 fps на NTSC.
+ Так же мил, как и 2:2 PAL пулдаун.
+</para></listitem>
+</itemizedlist>
+
+<para>
+ Так же существуют методы для преобразования между NTSC и PAL видео,
+ но подобные темы выходят за рамки данного руководства.
+ Если Вам попался такой фильм, и Вы хотите кодировать его,
+ лучшим решением будет найти копию в исходном формате.
+ Преобразование между этими двумя форматами вносит большие потери
+ и не может быть точно обращено, так что Ваше кодирование
+ существенно пострадает, если оно делается из преобразованного
+ источника.
+</para>
+<para>
+ Когда видео находится на DVD, последовательные пары полей
+ группируются как кадр, даже если они не предназначены для
+ одновременного отображения.
+ Стандарт MPEG-2, используемый на DVD и цифровом TV предоставляет
+ возможность одновременно кодировать исходные кадры с построчной
+ развёрткой и сохранять число полей, в течении которых кадр
+ должен быть показан, в его заголовке.
+ Если был использован такой метод, фильм часто будет называться
+ как "мягкий телесин", т.к. процесс только указывает DVD-плееру
+ о необходимости применения пулдауна к фильму, не изменяя при этом
+ сам фильм.
+ Этот случай существенно предпочтителен, т.к. он может быть легко обращён
+ (в действительности, проигнорирован) кодером и т.к. он сохраняет
+ максимальное качество.
+ Однако, многие широковещательные и DVD студии не используют
+ надлежащую технологию кодирования и вместо этого производят
+ фильмы с "жёстким телесином", где поля в действительности
+ повторяются в кодированном MPEG-2.
+</para>
+<para>
+ Порядок действия в таких случаях будет описан
+ <link linkend="menc-feat-telecine">позже в данном руководстве</link>.
+ Сейчас мы дадим Вам несколько советов по идентификации типа
+ материала, с которым Вы работаете:
+</para>
+
+<itemizedlist>
+<title>Области NTSC:</title>
+<listitem><para>
+ Если при просмотре Вашего фильма <application>MPlayer</application>
+ выводит, что частота кадров была изменена до 24000/1001 и она
+ никогда не меняется обратно, то это почти наверняка содержимое
+ с построчной развёрткой, которое было подвергнуто
+ "мягкому телесину".
+</para></listitem>
+<listitem><para>
+ Если <application>MPlayer</application> отображает попеременные
+ переключения частоты кадров между 24000/1001 и 30000/1001, и Вы
+ иногда видите "гребешки", есть несколько возможностей.
+ Сегменты с 24000/1001 fps почти наверняка являются "мягко
+ телесиненным" содержимым с построчной развёрткой, но части с
+ 30000/1001 fps могут быть как "жёстко телесиненым" содержимым
+ с 24000/1001 fps, так и NTSC видео с 60000/1001 полями в секунду.
+ Испольуйте два нижеследующих руководства для определения того,
+ с каким случаем вы имеете дело.
+</para></listitem>
+<listitem><para>
+ Если <application>MPlayer</application> никогда не показывает
+ изменения кадровой частоты и каждый отдельный кадр, где есть
+ движение, оказывается гребёнкой, Ваш фильм есть NTSC видео с
+ 60000/1001 полями в секунду.
+</para></listitem>
+<listitem><para>
+ Если <application>MPlayer</application> никогда не показывает
+ изменения кадровой частоты и два кадра из каждых пяти оказываются
+ гребёнкой, Ваш фильм представляет собой "жёстко телесиненное"
+ содержимое с 24000/1001 fps.
+</para></listitem>
+</itemizedlist>
+
+<itemizedlist>
+<title>Области PAL:</title>
+<listitem><para>
+ Если Вы не видите никакой гребёнки, Ваш фильм есть 2:2 пулдаун.
+</para></listitem>
+<listitem><para>
+ Если Вы видите попеременную гребёнку каждые полсекунды,
+ Ваш фильм представляет собой 2:2:2:2:2:2:2:2:2:2:2:3 пулдаун.
+</para></listitem>
+<listitem><para>
+ Если Вы всегда видите гребёшки во время движения, значит Ваш
+ фильм является PAL видео с 50 полями в секунду.
+</para></listitem>
+</itemizedlist>
+
+<note><title>Подсказка:</title>
+<para>
+ <application>MPlayer</application> может замедлить воспроизведение
+ фильма с опцией -speed или воспроизводить его покадрово.
+ Попробуйте использовать опцию <option>-speed 0.2</option> для
+ очень медленного просмотра фильма или несколько раз нажмите
+ клавишу "<keycap>.</keycap>" для воспроизведения одного кадра
+ за раз и идетнифицируйте образец, если не можете его увидеть на
+ полной скорости.
+</para>
+</note>
+</sect3>
+</sect2>
+
+<sect2 id="menc-feat-dvd-mpeg4-2pass">
+<title>Постоянный квантователь против многопроходности</title>
+
+<para>
+ Возможно кодировать Ваш фильм, широко варьируя качество.
+ С современными видеокодерами и небольшим сжатием перед кодированием
+ (уменьшением размера и шумов) возможно достичь очень хорошего
+ качества при размере 700 МБ для 90-110-минутного широкоэкранного фильма.
+ Более того, всё, кроме самых длинных фильмов, может быть кодировано
+ с почти безупречным качеством на 1400 МБ.
+</para>
+
+<para>
+ Есть три подхода при кодировании видео: постоянный битпоток (CBR),
+ постоянный квантователь и многопроходность (ABR или усреднённый битпоток).
+</para>
+
+<para>
+ Сложность кадров фильма и, таким образом, число битов, нужных для их
+ сжатия может существенно отличаться от одной сцены к другой.
+ Современные видеокодеры могут подстраиваться под это в процессе
+ работы и варьировать битпоток.
+ Однако, в таких простых режимах как CBR кодеры не знают загруженность
+ битпотока в последующих сценах и т.о. не могут превысить затребованный
+ битпоток для больших промежутков времени.
+ Более продвинутые режимы, такие как многопроходный режим, могут
+ учитывать статистику предыдущих проходов; это решает проблему,
+ упомянутую выше.
+</para>
+
+<note><title>Замечание:</title>
+<para>
+ Большинство кодеков, поддерживающих ABR кодирование, поддерживают
+ только двупроходный режим, в то время как некоторые другие, такие
+ как <systemitem class="library">x264</systemitem>,
+ <systemitem class="library">XviD</systemitem>
+ и <systemitem class="library">libavcodec</systemitem> поддерживают
+ многопроходность, несколько улучшающую качество на каждом проходе,
+ однако, это улучшение не измеримо и не заметно после 4-го прохода
+ или около того.
+ Поэтому, в данном разделе дву- и многопроходность будут
+ использоваться взаимозаменяемо.
+</para>
+</note>
+
+<para>
+ В каждом из этих режимов видеокодек (такой как
+ <systemitem class="library">libavcodec</systemitem>)
+ разбивает видеокадр на макроблоки размером 16х16 пикселей и потом
+ применяет квантователь к каждому макроблоку. Чем меньше квантоваль,
+ тем лучше качество и выше битпоток.
+ Метод, используемый видео кодером для определения того, какой
+ квантователь использовать для данного макроблока, варьируется и
+ подлежит тонкой настройке. (Это крайнее упрощение реального
+ процесса, но основная концепция полезна для понимания.)
+</para>
+
+<para>
+ Когда Вы указываете постоянный битпоток, видеокодек будет кодировать
+ видео, отбрасывая детали столько, сколько необходимо и настолько мало,
+ насколько это возможно с целью оставаться ниже заданного битпотока.
+ Если Вас действительно не волнует размер файла, Вы можете также
+ использовать CBR и указать бесконечный битпоток. (На практике это
+ означает значение, достаточно большое для обозначения отсутствия
+ предела, например, 10000 Кбит.) В результате, без реального ограничения
+ битпотока, кодек использует наименьший возможный квантователь для
+ каждого макроблока (как указано опцией
+ <option>vqmin</option> для
+ <systemitem class="library">libavcodec</systemitem>, равной 2 по умолчанию).
+ Как только Вы укажите настолько низкий битпоток, что кодек будет
+ вынужден использовать более высокий квантователь, Вы почти наверняка
+ испортите качество Вашего видео.
+ Чтобы избежать этого, Вам, вероятно, придётся уменьшить размеры
+ Вашего видео, согласно методу, описанному далее в этом руководстве.
+ В общих чертах, Вам следует избегать CBR совсем, если Вы заботитесь
+ о качестве.
+</para>
+
+<para>
+ С постоянным квантователем кодек использует для всех макроблоков
+ один и тот же квантователь, указанный в опции
+ <option>vqscale</option> (для
+ <systemitem class="library">libavcodec</systemitem>).
+ Если Вы хотите рип наивысшего возможного качества, снова не взирая
+ на битпоток, Вы можете использовать
+ <option>vqscale=2</option>.
+ Это приведёт к тому же битпотоку и PSNR (пику отношения сигнала к шуму),
+ что и CBR с
+ <option>vbitrate</option>=бесконечности и значением по умолчанию
+ <option>vqmin</option>, равным 2.
+</para>
+
+<para>
+ Проблема с постоянным квантованием заключается в том, что кодек использует
+ заданный квантователь вне зависимости от того, требуется это для
+ макроблока или нет. То есть возможно использование большего квантователя
+ для макроблока без ухудшения видимого качества. Зачем тратить биты на
+ излишне низкий квантователь? У Вашего процессора есть столько тактов,
+ сколько есть времени, но имеется лишь ограниченное число битов на
+ жёстком диске.
+</para>
+
+<para>
+ При двупроходном кодировании первый проход создаст рип фильма так,
+ как будто это был CBR, но сохранит лог свойств для каждого кадра.
+ Эта информация затем будет использована во время второго прохода
+ для принятия интеллектуальных решений о том, какой квантователь
+ следует использовать. Во время быстрого движения или сцен с
+ высокой детализацией с большой веротностью будут использованы
+ бОльшие квантователи, а во время медленного движения или сцен
+ с низкой детализацией &mdash; меньшие.
+ Обычно количество движения играет существенно более важную роль,
+ чем количество деталей.
+</para>
+
+<para>
+ Если Вы используете <option>vqscale=2</option>, то Вы теряете биты.
+ Если Вы используете <option>vqscale=3</option>, то Вы не получаете
+ рип наивысшего качества. Предположим, вы делаете рип DVD, используя
+ <option>vqscale=3</option>, результат получается 1800 Кбит.
+ Если Вы сделаете двупроходное кодирование с
+ <option>vbitrate=1800</option>, получившееся видео быдет обладать
+ <emphasis role="bold">лучшим качеством</emphasis> для
+ <emphasis role="bold">того же битпотока</emphasis>.
+</para>
+
+<para>
+ После того, как Вы сейчас убедились, что два прохода &mdash; это путь
+ к действию, возникает вопрос о том, какой битпоток использовать?
+ Ответ таков, что нет единого ответа. В идеале, Вы хотите выбрать
+ битпоток, при котором достигается наилучший баланс между качеством
+ и размером файла. Здесь возможны вариации в зависимости от
+ исходного видеоматериала.
+</para>
+
+<para>
+ Если размер не важен, хорошей отправной точкой для рипа очень высокого
+ качества будет 2000 Кбит +/- 200 Кбит.
+ Для видеоматериала с быстрым движением или высокой детализацией
+ или просто если у Вас очень разборчивый глаз, Вы можете использовать
+ 2400 или 2600.
+ Для некоторых DVD Вы не заметите разницы на 1400 Кбит. Хорошей идеей
+ является экспериментирование со сценами на разных битпотоках, чтобы
+ почувствовать разницу.
+</para>
+
+<para>
+ Если Вашей целью является определённый размер, Вам нужно как-нибудь
+ вычислить битпоток. Но перед этим, Вам нужно знать, сколько места
+ нужно зарезервировать по аудио дорожку(и), так что Вам необходимо
+ <link linkend="menc-feat-dvd-mpeg4-audio">извлечь их</link> сперва.
+ Вы можете расчитать битпоток с помощью следующей формулы:
+ <systemitem>битпоток = (конечный_размер_в_МБайт - размер_звука_в_МБайт) *
+ 1024 * 1024 / длительность_в_секундах * 8 / 1000</systemitem>.
+ Например, для сжатия двухчасового фильма в 702 МБ CD, с 60 МБ
+ аудио дорожкой, битпоток видео должен составлять:
+ <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
+ = 740 кбит/сек</systemitem>.
+</para>
+
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-constraints">
+<title>Ограничения для эффективного кодирования</title>
+
+<para>
+ Из-за особенностей MPEG-подобного сжатия, существуют различные
+ ограничения, которым Вы должны следовать для достижения
+ максимального качества.
+ MPEG разбивает видео на квадраты 16х16, называемые макроблоками.
+ Каждый макроблок состоит из 4 блоков 8х8 с информацией о люме
+ (интенсивности) и двух блоков 8х8 с информацией о хроме (цвете)
+ половинного разрешения (один для красно-бирюзовой оси и другой
+ для жёлто-голубой оси).
+ Даже если ширина и высота Вашего фильма не кратны 16, кодер
+ всё равно использует нужное количество макроблоков 16х16 для покрытия
+ всей области картинки, дополнительная область будет впустую потрачена.
+ Так что в интересах максимизации качества при фиксированном размере
+ файла, не стоит использовать размеры, не кратные 16.
+</para>
+
+<para>
+ У большинства DVD также есть определённое подобие чёрных полос на
+ краях. Если Вы их оставите, это может повредить качество несколькими
+ путями.
+</para>
+
+<orderedlist>
+<listitem>
+<para>
+ MPEG-подобное сжатие также очень чувствительно к преобразованиям
+ частотных интервалов, в частности, к дискретному косинусному
+ преобразованию (DCT), которое аналогично преобразованию Фурье.
+ Этот вид сжатия эффективен для представления образов и сглаженных
+ переходов, но у него возникают проблемы с острыми краями.
+<!-- FIXME: для слова ringing я тоже не нашёл краткого однозначного
+ перевода; лучшее, что приходит на ум - это "размывание краёв",
+ ясное дело, что причиной является отбрасывание малых гармоник,
+ в результате чего вместо точки возникает затухающая окружность,
+ но вот как это кратко выразить... -->
+ Для кодирования последних Вам нужно гораздо больше битов, а иначе
+ у вас появится артефакт, известный как размывание краёв
+ (англ. ringing).
+</para>
+
+<para>
+ Частотные преобразования (DCT) выполняются независимо для каждого
+ макроблока (на самом деле, для каждого блока), так что эта проблема
+ возникает только в случае попадания острого края внутрь блока.
+ Если Ваши чёрные поля возникают точно на границах, кратных 16
+ пикселям, это не проблема.
+ Однако, чёрные полосы на DVD редко хорошо расположены, так что
+ на практике Вам всегда придётся усекать стороны для избежания
+ этих проблем.
+</para>
+</listitem>
+</orderedlist>
+
+<para>
+ В дополнение к преобразованиям частотных интервалов, MPEG-подобное
+ сжатие использует векторы движения для отображения изменений от
+ одного кадра к другому. Векторы движения, естественно, работают
+ существенно менее эффективно для новых объектов, идущих от
+ краёв картинки, поскольку они отсутсвуют в предыдущих кадрах.
+ Пока картинка простирается вплоть до края кодируемой области,
+ у векторов движения не возникает проблем с движением объектов
+ за пределы картинки. Однако, при наличии черных полей
+ могут возникнуть проблемы:
+</para>
+
+<orderedlist continuation="continues">
+<listitem>
+<para>
+ Для каждого макроблока MPEG-подобное сжатие сохраняет вектор,
+ определяющий какая часть предыдущего кадра должна быть скопирована
+ в этот макроблок как основа для предсказания следующего кадра.
+ Кодированию подлежит только оставшаяся разность. Если макроблок
+ простирается до края картинки и содержит часть чёрной полосы,
+ то векторы движения других частей каритки перепишут чёрную полосу.
+ Это означает, что много битов нужно потратить либо на повторное
+ чернение переписанной полосы, либо (что более вероятно) вектор
+ движения не будет использован вовсе и все изменения для этого
+ макроблока будут явно кодированы. Другими словами, эффективность
+ кодирования существенно уменьшается.
+</para>
+
+<para>
+ Ещё раз, эта проблема возникает только в случае, если чёрные полосы
+ не укладываются в границы, кратные 16.
+</para>
+</listitem>
+
+<listitem>
+<para>
+ Наконец, предположим, что у нас есть находящийся внутри картинки
+ макроблок и объект движется в этот блок от края изображения.
+ MPEG-подобное кодирование не может сказать "скопируй ту часть,
+ что внутри картинки, но не чёрную полосу". Так что чёрная полоса
+ также быдет скопирована внутрь, в результате чего масса битов
+ будет потрачена на кодирование части изображения, которое должно
+ быть на месте полосы.
+</para>
+
+<para>
+ Для случаев, когда всё изображение движется к краю кодируемой
+ области, у MPEG есть специальные оптимизации для многократного
+ копирования пикселей на край картинки, когда вектор движения
+ идёт извне области кодирования. Эта возможность становится
+ бесполезной, если у фильма есть чёрные полосы. В отличии от
+ случаев 1 и 2, выравнивание границ до кратности 16 здесь
+ не поможет.
+</para>
+</listitem>
+
+<listitem>
+<para>
+ Несмотря на то, что границы полностью чёрные и никогда не изменяются,
+ существуют, как минимум, определённые накладные расходы, связанные
+ с наличием большего числа макроблоков.
+</para>
+</listitem>
+</orderedlist>
+
+<para>
+ Благодаря всем этим причинам, рекомендуется полностью урезать
+ чёрные полосы. Более того, если есть области шумов/искажений
+ на краях картинки, то их урезание также поспособствует улучшению
+ качества кодирования. Видеофилы, желающие сохранить оригинал как
+ можно более точно, могут возражать против такого усечения; но
+ если Вы не планируете кодировать при постоянном квантователе,
+ качество, полученное при усечении, существенно превысит потери
+ информации на краях.
+</para>
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-crop">
+<title>Усечение и масштабирование</title>
+
+<para>
+ Вспомните из предыдущего раздела, что конечный размер картинки,
+ подлежащей кодированию, должен быть кратен 16 (как высота,так
+ и ширина). Это может быть достигнуто усечением, масштабированием
+ или комбинацией того и другого.
+</para>
+
+<para>
+ Есть несколько рекомендаций для усечения, которым необходимо следовать
+ для избежания повреждения фильма.
+ Обычный формат YUV, 4:2:0, сохраняет хрому (информацию о цвете)
+ половинной дискретизации, т.е. хрома сохраняется в два раза реже
+ в каждом направлении, чем люма (информация об интенсивности).
+ Рассмотрите следующую диаграмму, где L обозначает точки дискретизации
+ люмы и C &mdash; хромы.
+</para>
+
+<informaltable>
+<?dbhtml table-width="40%" ?>
+<?dbfo table-width="40%" ?>
+<tgroup cols="8" align="center">
+<colspec colnum="1" colname="col1"/>
+<colspec colnum="2" colname="col2"/>
+<colspec colnum="3" colname="col3"/>
+<colspec colnum="4" colname="col4"/>
+<colspec colnum="5" colname="col5"/>
+<colspec colnum="6" colname="col6"/>
+<colspec colnum="7" colname="col7"/>
+<colspec colnum="8" colname="col8"/>
+<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
+<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
+<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
+<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
+ <tbody>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry spanname="spa1-2">C</entry>
+ <entry spanname="spa3-4">C</entry>
+ <entry spanname="spa5-6">C</entry>
+ <entry spanname="spa7-8">C</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry spanname="spa1-2">C</entry>
+ <entry spanname="spa3-4">C</entry>
+ <entry spanname="spa5-6">C</entry>
+ <entry spanname="spa7-8">C</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ </tbody>
+</tgroup>
+</informaltable>
+
+<para>
+ Как Вы видите, строки и столбцы изображения естественным образом
+ идут в парах. Поэтому смещения и размеры усечения
+ <emphasis>должны</emphasis> быть чётными числами.
+ Иначе хрома перестанет правильно соответствовать люме.
+ Теоретически возможно усечение с нечётными смещениями, но оно
+ потребует преобразования хромы, что потенциально является
+ операцией с потерей качества и не поддерживается фильтром
+ усечения сторон crop.
+</para>
+
+<para>
+ Далее, видео с чересстрочной развёрткой дискретизируется следующим
+ образом:
+</para>
+
+<informaltable>
+<?dbhtml table-width="80%" ?>
+<?dbfo table-width="80%" ?>
+<tgroup cols="16" align="center">
+<colspec colnum="1" colname="col1"/>
+<colspec colnum="2" colname="col2"/>
+<colspec colnum="3" colname="col3"/>
+<colspec colnum="4" colname="col4"/>
+<colspec colnum="5" colname="col5"/>
+<colspec colnum="6" colname="col6"/>
+<colspec colnum="7" colname="col7"/>
+<colspec colnum="8" colname="col8"/>
+<colspec colnum="9" colname="col9"/>
+<colspec colnum="10" colname="col10"/>
+<colspec colnum="11" colname="col11"/>
+<colspec colnum="12" colname="col12"/>
+<colspec colnum="13" colname="col13"/>
+<colspec colnum="14" colname="col14"/>
+<colspec colnum="15" colname="col15"/>
+<colspec colnum="16" colname="col16"/>
+<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
+<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
+<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
+<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
+<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
+<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
+<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
+<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
+ <tbody>
+ <row>
+ <entry namest="col1" nameend="col8">Верхнее поле</entry>
+ <entry namest="col9" nameend="col16">Нижнее поле</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry spanname="spa1-2">C</entry>
+ <entry spanname="spa3-4">C</entry>
+ <entry spanname="spa5-6">C</entry>
+ <entry spanname="spa7-8">C</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="spa9-10">C</entry>
+ <entry spanname="spa11-12">C</entry>
+ <entry spanname="spa13-14">C</entry>
+ <entry spanname="spa15-16">C</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry spanname="spa1-2">C</entry>
+ <entry spanname="spa3-4">C</entry>
+ <entry spanname="spa5-6">C</entry>
+ <entry spanname="spa7-8">C</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ <row>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="spa9-10">C</entry>
+ <entry spanname="spa11-12">C</entry>
+ <entry spanname="spa13-14">C</entry>
+ <entry spanname="spa15-16">C</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ <entry>L</entry>
+ </row>
+ </tbody>
+</tgroup>
+</informaltable>
+
+<para>
+ Как Вы видите, структура повторяется только после 4 строк.
+ Так что для чересстрочного видео Ваше y-смещение и высота
+ усечения должны быть кратны 4.
+</para>
+
+<para>
+ Естественные разрешения DVD составляют 720x480 для NTSC и 720x576
+ для PAL, но существует флаг соотношения сторон, который указывает
+ является ли видео полноэкранным (4:3) или широкоэкранным (16:9).
+ Многие (если не большинство) широкоэкранных DVD не точно соответсвуют
+<!-- FIXME: Есть ли перевод названия формата cinescope (он же CinemaScope) ?? -->
+ формату 16:9 и он может быть как 1.85:1, так и 2.35:1 (формат cinescope).
+ Это означает, что в видео будут чёрные полосы, которые нужно усечь.
+</para>
+
+<para>
+ <application>MPlayer</application> предоставляет фильтр обнаружения
+ усечения, который определяет прямоугольник, до которго нужно усечь
+ (<option>-vf cropdetect</option>).
+ Запустите <application>MPlayer</application> с
+ <option>-vf cropdetect</option> и он выдаст настройки
+ усечения для удаления полей.
+ С целью получения точных параметров усечения, Вы должны проигрывать
+ фильм достаточно долго для того, чтоб была использована вся область
+ изображения.
+</para>
+
+<para>
+ Затем проверьте значения, полученные с помощью
+ <application>MPlayer</application>, используя командную строку,
+ выведенную <option>cropdetect</option>, и подстройте прямоугольник
+ при необходимости.
+ Фильтр <option>rectangle</option> может быть полезен, позволив
+ Вам интерактивно менять прямоугольник усечения для Вашего фильма.
+ Не забывайте следовать указанным выше руководствам по делимости,
+ чтобы не испортить выравнивание хромы.
+</para>
+
+<para>
+ В ряде случаев масштабирование может быть нежелательным.
+ Масштабирование по вертикальному направлению затруднено для
+ чересстрочного видео, и если Вы хотите сохранить чересстрочность,
+ Вам в большинстве случаев будет необходимо воздерживаться от
+ масштабирования.
+ Если Вы не будете масштабировать, но всё ещё желаете размеры,
+ кратные 16, то Вам придётся проводить излишнее усечение.
+ Не проводите неполное усечение, поскольку чёрные полосы очень
+ плохи для кодирования!
+</para>
+
+<para>
+ Посокльку MPEG-4 использует макроблоки 16х16, Вы должны убедиться,
+ что каждое измерение кодируемого видео кратно 16; иначе Вы ухудшите
+ качество, особенно на малых битпотоках. Вы можете сделать это,
+ округлив ширину и высоту прямоугольника усечения до ближайшего
+ меньшего целого, кратного 16.
+ Учитывая установленное ранее, при усечении Вы можете захотеть увеличить
+ смещение по Y на половину разности старой и новой высоты, так что
+ полученное видео будет браться из центра кадра.
+
+ И из-за способа дискретизации DVD видео, убедитесь, что смещение
+ есть чётное число. (Фактически, возьмите за правило никогда не
+ использовать нечётные величины для любых параметров усечения или
+ масштабирования видео.) Если Вы беспокоитесь из-за нескольких
+ излишне отброшенных битов, возможно, Вы предпочтёте взамен
+ масштабировать видео.
+ В действительности, Вы можете доверить фильтру
+ <option>cropdetect</option> сделать для Вас всё вышеупомянутое,
+ т.к. у него есть необязательный параметр округления
+ <option>round</option>, равный 16 по умолчанию.
+</para>
+
+<para>
+ Также будьте осторожны с "полутёмными" пикселями на краях. Убедитесь,
+ что они тоже отрезаются, иначе Вы будете тратить биты, которым есть
+ лучшее применение.
+</para>
+
+<para>
+ После всего выше сказанного и сделанного, Вы, вероятно, получите
+ видео не точно формата 1:85.1 или 2.35:1, а с чем-то близким
+ к этому. Вы можете вычислить новый коэффициент соотношения
+ сторон вручную, но <application>MEncoder</application>
+ предоставляет опцию для <systemitem class="library">libavcodec</systemitem>,
+ называемую <option>autoaspect</option>, которая сделает это для
+ Вас. Ни в коем случае не увеличивайте размер этого видео с целью
+ квадратизации пикселей, если Вы не желаете впустую потратить
+ место на жёстком диске.
+ Масштабирование должно выполняться при воспроизведении, и плеер
+ использует коэффициент соотношения сторон, сохранённый в AVI, для
+ определения правильного разрешения.
+ К сожалению, не все плееры используют эту информацию автомасштабирования,
+ поэтому Вам всё ещё может быть необходимо перемасштабирование.
+</para>
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
+<title>Выбор разрешения и битпотока</title>
+
+<para>
+ Если Вы не собираетеся кодировать в режиме постоянного квантователя,
+ Вам нужно выбрать битпоток.
+ Понятие битпотока очень просто: это среднее число битов, которые
+ будут использованы для сохранения Вашего фильма, в секунду.
+ Обычно битпоток измеряется в килобитах (1000 бит) в секунду.
+ Размер Вашего фильма на диске есть битпоток, умноженный на
+ длительность фильма, плюс небольшие накладные расходы
+ (см. раздел
+ <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">контейнер AVI</link>
+ для примера).
+ Остальные параметры, такие как масштабирование, усечение и т.п.
+ <emphasis role="bold">не</emphasis> изменят размер файла, пока
+ Вы также не измените битпоток!
+</para>
+<para>
+ Битпоток изменяется <emphasis role="bold">не</emphasis>
+ пропорционально разрешению.
+ То есть файл разрешением 320х240 с 200 кбит/сек не будет
+ того же качества, что этот же фильм разрешением 640х480
+ и 800 кбит/сек!
+ Для этого есть две причины:
+<orderedlist>
+ <listitem><para>
+ <emphasis role="bold">Восприятие</emphasis>: Вы сильнее
+ замечаете MPEG артефакты, если они больше!
+ Артефакты возникают на масштабе блоков (8х8).
+ Ваш глаз не увидит ошибки в 4800 маленьких блоков так же
+ легко, как и в 1200 больших блоков (предполагая
+ масштабирование обоих фильмов на полный экран).
+ </para></listitem>
+ <listitem><para>
+ <emphasis role="bold">Теоретическая</emphasis>: Когда Вы
+ уменьшаете размер изображения, но продолжаете использовать
+ блоки того же размера (8х8) для пространственных частотных
+ преобразований, Вы перемещаете больше данных в высокочастотные
+ полосы. Грубо говоря, каждый пиксель содержит больше деталей,
+ чем раньше.
+ Так что несмотря на то, что ваша картинка с уменьшенным
+ масштабом содержит 1/4 информации в пространственных направлениях,
+ она всё ещё может содержать большУю часть информации в
+ частотных интервалах (предполагая, что высокие частоты были
+ не использованы в оригинальном 640х480 изображении).
+ </para></listitem>
+ </orderedlist>
+</para>
+<para>
+ Последние руководства рекомендовали выбор битпотока и разрешения,
+ основываясь на приближении "бит на пиксель", но это обычно не
+ верно из-за упомянутых выше причин.
+ Похоже, лучшей оценкой является рост битпотока пропорционально
+ квадратному корню разрешения, так что 320х240 и 400 кбит/сек
+ должно быть сравнимо с 640х480 и 800 кбит/сек.
+ Однако, это не было строго проверено теоретически или эмпирически.
+ Кроме того, из-за существенного отличия фильмов по уровню шума,
+ деталей, степеней свободы и т.п., тщетно давать общие рекомендации
+ для "битов на длину диагонали" (аналог битов на пиксель, используя
+ квадратный корень).
+</para>
+<para>
+ Таким образом, мы обсудили сложность выбора битпотока и разрешения.
+</para>
+
+
+<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
+<title>Расчёт разрешения</title>
+<para>
+ Следующие шаги помогут Вам расчитать разрешение для Вашего
+ кодирования без слишком сильного искажения видео, учитывая
+ некоторую информацию об исходном видео.
+ Прежде всего, Вам необходимо расчитать коэффициент соотношения
+ сторон для кодированного видео:
+ <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
+<itemizedlist>
+<title>где:</title>
+<listitem><para>
+ Wc и Hc &mdash; ширина и высота усечённого видео,
+</para></listitem>
+<listitem><para>
+ ARa &mdash; коэффициент соотношения сторон изображения, обычно 4/3 или 16/9,
+</para></listitem>
+<listitem><para>
+ PRdvd &mdash; отношение пикселей DVD, что равно 1.25=(720/576) для PAL
+ DVD и 1.5=(720/480) для NTSC DVD.
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+ Затем Вы можете расчитать разрешение по X и Y, согласно определённому
+ фактору качества сжатия (CQ):
+ <systemitem>ResY = INT(SQRT( 1000*Битпоток/25/ARc/CQ )/16) * 16</systemitem>
+ и <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>.
+</para>
+
+<para>
+ Хорошо, но что такое CQ?
+ CQ соответсвует числу битов на пиксель и на кадр для кодирования.
+ Грубо говоря, чем больше CQ, тем меньше вероятность увидеть
+ артефакты кодирования.
+ Однако, если у Вас есть заданный размер для Вашего фильма
+ (например, 1 или 2 CD), есть ограниченное общее число битов,
+ которые Вы можете потратить; поэтому важно найти хороший
+ компромисс между сжимаемостью и качеством.
+</para>
+
+<para>
+ CQ зависит от битпотока, эффективности видеокодека и разрешения фильма.
+ Обычно, в целях увеличеиня CQ, Вам нужно будет уменьшить размер
+ фильма при постоянном битпотоке, заданном размере и длине фильма.
+ С MPEG-4 ASP кодеками, такими как <systemitem class="library">XviD</systemitem>
+ и <systemitem class="library">libavcodec</systemitem>, CQ
+ меньше 0.18 обычно приводит к изображению с большим числом
+ сегментов "квадратиками", из-за недостаточного числа битов для
+ кодирования информации в каждом макроблоке.
+ (MPEG4, как и многие другие кодеки, группирует пиксели в блоки по
+ несколько пикселей для сжатия изображения; если битов не хватает,
+ границы этих блоков становятся заметными.)
+ Следовательно, благоразумно выбрать CQ в диапазоне от 0.20 до 0.22
+ для рипа на 1 CD и 0.26-0.28 для рипа на 2 CD при использовании
+ стандартных опций кодирования.
+ Более продвинутые опции кодирования, такие как указанные для
+ <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
+ и
+<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">XviD</systemitem></link>
+ должны сделать возможным получение того же качества с CQ в диапазоне
+ от 0.18 до 0.20 для рипа на 1 CD и 0.24-0.26 для рипа на 2 CD.
+ Используя MPEG-4 ASP кодеки, такие как
+ <systemitem class="library">x264</systemitem>, Вы можете использовать
+ CQ в диапазоне от 0.14 до 0.16 со стандартными опциями кодирования
+ и должны суметь достичь таких низких значений, как 0.10-0.12
+ с помощью
+ <link linkend="menc-feat-x264-example-settings">продвинутых опций кодирования <systemitem class="library">x264</systemitem></link>.
+</para>
+
+<para>
+ Пожалуйста, обратите внимание, что CQ &mdash; лишь показательная величина,
+ т.к. она зависит от кодируемого содержимого; CQ 0.18 может хорошо
+ смотреться для Бергмана (Bergman), в отличии от такого фильма как
+ Матрица (The Matrix), содержащего много сцен с быстрым движением.
+ С другой стороны, бесполезно увеличивать CQ выше 0.30, т.к. Вы
+ будете тратить биты без заметного увеличения качества.
+ Так же обратите внимание, что, как было указано выше в данном
+ руководстве, фильмам с низким разрешением (например, по сравнению с DVD)
+ необходим более высокий CQ для того, чтоб они выглядели хорошо.
+</para>
+</sect3>
+
+</sect2>
+
+<sect2 id="menc-feat-dvd-mpeg4-filtering">
+<title>Фильтрация</title>
+
+<para>
+ Изучение использования видео фильтров <application>MEncoder</application>
+ важно для получения хороших результатов кодирования.
+ Вся обработка видео выполняется посредством фильтров: усечение,
+ масштабирование, подстройка цвета, удаление шума, увеличение
+ чёткости, деинтерлейс (преобразование видео из чересстрочной
+ развёртки в построчную), телесин, обратный телесин и удаление
+ блочной сегментации &mdash; и это лишь некоторые из них.
+ Вместе с огромным количеством поддерживаемых входных форматов,
+ разнообразие фильтров, доступных в <application>MEncoder</application>,
+ является одним из его основных достоинств над другими аналогичными
+ программами.
+</para>
+
+<para>
+ Фильтры загружаются в цепочки с помощью опции -vf:
+
+ <screen>-vf фильтр1=опции,фильтр2=опции,...</screen>
+
+ Большинство фильтров используют численные значения опций,
+ разделённые двоеточиями, но синтаксис этих параметров различается
+ у разных фильтров, так что читайте мануал для детальной
+ информации о фильтрах, которые Вы желаете использовать.
+</para>
+
+<para>
+ Фильтры действуют на видео в порядке их загрузки.
+ Например, следующая цепочка:
+
+ <screen>-vf crop=688:464:12:4,scale=640:464</screen>
+
+ сперва усечёт область изображения до 688х464 с верхним левым
+ углом (12,4), а затем масштабирует результат до 640х464.
+</para>
+
+<para>
+ Некоторые фильтры нужно загружать в начале цепочки фильтров (или
+ рядом с ним) с целью получения преимущества от использования
+ информации после видеодекодера, которая будет потеряна или
+ искажена другими фильтрами.
+ Важнейшими примерами являются: <option>pp</option> (постобработка,
+ только при выполнении операций удаления блочной сегментации
+ (deblocking) или увеличения чёткости краёв (deringing)),
+ <option>spp</option> (другой фильтр постобработки, служащий для
+ удаления артефактов MPEG), <option>pullup</option> (обратный
+ телесин), и <option>softpulldown</option> (для преобразования
+ мягкого телесина в жёсткий).
+</para>
+
+<para>
+ В общем случае, Вам следует делать настолько мало фильтрации,
+ насколько это возможно, для того чтоб остаться близко к оригинальному
+ DVD источнику. Усечение часто необходимо (как описано выше), но
+ избегайте масштабирования видео. Несмотря на то, что уменьшение
+ размера иногда предпочтительно при использовании больших
+ квантователей, нужно избегать и того, и другого: помните,
+ что мы с самого начала решили обменять биты на качество.
+</para>
+
+<para>
+ Также не корректируйте гамму, контрастность, яркость и т.п.. То,
+ что хорошо выглядит на Вашем мониторе, может плохо выглядеть
+ на других. Коррекция должна выполняться только при воспроизведении.
+</para>
+
+<para>
+ Однако, есть одна вещь, которую Вы, быть может, захотите сделать &mdash;
+ это пропустить видео через очень слабый фильтр удаления шумов,
+ такой как <option>-vf hqdn3d=2:1:2</option>.
+ Ещё раз, причиной этому является то, что этим битам можно найти
+ лучшее применение: зачем тратить их, кодируя шум, если Вы просто
+ можете вернуть этот шум в процессе воспроизведения?
+ Увеличение параметров для <option>hqdn3d</option> дополнительно
+ улучшит сжимаемость, но увеличив значения слишком сильно, Вы рискуете
+ ухудшить различимость изображения.
+ Рекомендованные выше значения (<option>2:1:2</option>) слегка
+ консервативны; не бойтесь экспериментировать с более высокими
+ значениями и самостоятельно оценивать результаты.
+</para>
+
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-interlacing">
+<title>Чересстрочная развёртка и телесин</title>
+
+<para>
+ Почти все фильмы снимаются при 24 fps [кадр/сек]. Поскольку
+ в NTSC ниспользуется 30000/1001 fps, нужно выполнить некоторую
+ обработку для такого 24 fps видео, чтобы оно корректно
+ воспроизводилось при кадровой частоте NTSC. Этот процесс называется
+ 3:2 пулдаун, обычно называемый телесин (поскольку пулдаун часто
+ применяется в процессе показа телевизионного фильма, англ. telecine);
+ и в упрощенном описании это работает путём замедления фильма до
+ 24000/1001 fps и повтора каждого четвёртого кадра.
+</para>
+
+<para>
+ Однако, никакой специальной обработки не выполняется для видео
+ на PAL DVD, которое воспроизводится при 25 fps. (Технически PAL
+ может быть подверженым телесину, называемому 2:2 пулдаун, но на
+ практике это не применяется).
+ 24 fps фильм просто проигрывается на 25 fps. В результате фильм
+ воспроизводится слегка быстрее, но если Вы не пришелец, то,
+ вероятно, не заметите разницы.
+ У большинства PAL DVD аудио корректируемо по высоте звука, так
+ что, воспроизводясь при 25 fps, оно звучит нормально, даже если
+ аудиодорожка (и, следовательно, весь фильм) проигрываются на
+ 4% быстрее, чем NTSC DVD.
+</para>
+
+<para>
+ Поскольку видео на PAL DVD не переделывается, Вам не стоит
+ беспокоится о частоте кадров. У источника 25 fps и у Вашего
+ рипа будет 25 fps. Однако, если Вы делаете рип NTSC DVD фильма,
+ Вам, быть может, придётся выполнить обратный телесин.
+</para>
+
+<para>
+ Для фильмов, снятых на 24 fps, видео на NTSC DVD идёт либо с телесином
+ 30000/1001, либо с построчной развёрткой 24000/1001 fps и
+ предназначается для телесина на лету с помощью DVD плеера.
+ С другой стороны, TV сериалы идут обычно только с чересстрочной развёрткой,
+ но без телесина. Это не строгое правило: есть сериалы с
+ чересстрочной развёрткой (например, Баффи, Убийца Вампиров
+ [Buffy the Vampire Slayer]), в то время как другие представляют
+ собой смесь построчной и чересстрочной развёртки (такие как
+ Ангел [Angel] или 24).
+</para>
+
+<para>
+ Настоятельно рекомендуется прочитать раздел о
+ <link linkend="menc-feat-telecine">работе с телесином и чересстрочной развёрткой в NTSC DVD</link>
+ для изучения способов обработки в разных ситуациях.
+</para>
+
+<para>
+ Однако, если Вы преимущественно делаете рипы фильмов, Вы, скорее
+ всего, имеете дело с 24 fps видео либо с построчной развёрткой,
+ либо с подвергнутым телесину; в последнем случае Вы можете использовать
+ <option>pullup</option> фильтр: <option>-vf
+ pullup,softskip</option>.
+</para>
+
+</sect2>
+
+<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
+<title>Кодирование чересстрочного видео</title>
+
+<para>
+ Если Вы желаете кодировать фильм с чересстрочной развёрткой
+ (NTSC или PAL видео), Вам нужно решить, будете ли Вы его
+ преобразовывать в построчную развёртку или нет.
+ Хотя такое преобразование (деинтерлейс) сделает Ваш фильм
+ пригодным для дисплеев с построчной развёрткой, таких как
+ компьютерные мониторы и проекторы, это будет иметь свою цену:
+ частота полей уменьшится вдвое от 50 или 60000/1001 до 25 или
+ 30000/1001 поля в секунду, и примерно половина информации в
+ Вашем фильме будет потеряна в сценах со значительным движением.
+</para>
+
+<para>
+ Поэтому, если Вы кодируете для высококачественных архивных целей,
+ не рекомендуется делать деинтерлейс. Вы всегда можете преобразовать
+ развёртку фильма в процессе воспроизведения (при воспроизведении
+ на устройствах с построчной развёрткой).
+ Мощность современных компьютеров вынуждает плееры использовать
+ фильтр деинтерлейса, что слегка ухудшает качество изображения.
+ Но плееры будущего будут способны имитировать дисплей TV с
+ чересстрочной развёрткой, выполняя деинтерлейс на полной частоте
+ полей и интерполируя 50 или 60000/1001 кадров в секунду для
+ чересстрочного видео.
+</para>
+
+<para>
+ С чересстрочным видео нужно работать особым образом:
+</para>
+
+<orderedlist>
+<listitem><para>
+ Высота усечения и смещение по оси y должны быть кратны 4.
+</para></listitem>
+<listitem><para>
+ Любое вертикальное масштабирование должно выполняться в режиме
+ чересстрочной развёртки.
+</para></listitem>
+<listitem><para>
+ Фильтры постобработки и удаления шума могут не работать как
+ ожидается, только если Вы особо не позаботитесь об их
+ одновременном применении на частоте полей, иначе они могут
+ повредить видео при неверном использовании.
+</para></listitem>
+</orderedlist>
+
+<para>
+ Учитывая вышесказанное, вот наш первый пример:
+</para>
+<screen>
+ mencoder <replaceable>захват.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
+ vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
+</screen>
+<para>
+ Обратите внимание на опции <option>ilme</option> и <option>ildct</option>.
+</para>
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-av-sync">
+<title>Замечания об аудио/видео синхронизации</title>
+
+<para>
+ Алгоритмы аудио/видео (A/V) синхронизации <application>MEncoder</application>
+ были разработаны с целью восстановления файлов с повреждённой
+ синхронизацией.
+ Однако, в ряде случаев они могут привести к ненужному пропуску
+ или повторению кадров и, возможно, к лёгкой A/V десинхронизации
+ корректных входных данных (конечно, проблемы A/V синхронизации
+ возникают только при обработке или копировании аудиотрека при
+ кодировании видео, что настоятельно рекомендуется).
+ Поэтому Вы можете переключиться на базовую A/V синхронизацию
+ с помощью опции <option>-mc 0</option> или разместить это в
+ конфигурационном файле <systemitem>~/.mplayer/mencoder</systemitem>,
+ если Вы работаете только с хорошими источниками (DVD, TV-захват,
+ высококачественные MPEG-4 рипы и т.п.), а не с повреждёнными
+ файлами ASF/RM/MOV.
+</para>
+<para>
+ Если Вы хотите дополнительно защититься от странных пропусков
+ и повторений кадров, вы можете одновременно использовать опции
+ <option>-mc 0</option> и <option>-noskip</option>.
+ Это предотвратит <emphasis>любую</emphasis> A/V коррекцию, и
+ будет копировать кадры один в один, так что Вы не сможете это
+ использовать, если будете применять какие-либо фильтры, которые
+ непредсказуемо добавляют или отбрасывают кадры, либо если у
+ Вашего входного файла переменный битопоток!
+ Поэтому использование <option>-noskip</option> в общем случае не
+ рекомендуется.
+</para>
+<para>
+ Сообщалось о том, что так называемое трёхпроходное аудиокодирование,
+ поддерживаемое <application>MEncoder</application>, вызывало
+ A/V десинхронизацию.
+ Это наверняка произойдёт при использовании совместно с некоторыми
+ фильтрами, поэтому сейчас <emphasis>не</emphasis> рекомендуется
+ использовать трёхпроходный аудио режим.
+ Эта возможность оставлена только для совместимости и для опытных
+ пользователей, понимающих когда это безопасно, а когда нет.
+ Если Вы ранее никогда не слышали о трёхпроходном режиме, забудьте
+ даже о том, что мы его упоминали!
+</para>
+<para>
+ Также были сообщения об A/V десинхронизации при кодировании
+ со стандартного ввода (stdin) с помощью <application>MEncoder</application>.
+ Не делайте этого! Всегда взамен используйте файл или CD/DVD и т.п.
+ устройство.
+</para>
+</sect2>
+
+<sect2 id="menc-feat-dvd-mpeg4-codec">
+<title>Выбор видеокодека</title>
+
+<para>
+ То, какой видеокодек лучше выбрать, зависит от нескольких
+ факторов, таких как размер, качество, устойчивость к ошибкам,
+ практичность и распостранённость, многие из которых сильно
+ зависят от личных предпочтений и технических ограничений.
+</para>
+<itemizedlist>
+ <listitem><para>
+ <emphasis role="bold">Эффективность сжатия</emphasis>:
+ Достаточно очевидно, что большинство кодеков нового поколения
+ разработаны для увеличения качества и степени сжатия.
+ Поэтому, авторы данного руководства и многие другие люди полагают,
+ что Вы не можете ошибиться
+ <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
+ <para>
+ Несмотря на это, будьте осторожны: для декодирования MPEG-4 AVC
+ видео с DVD разрешением необходима быстрая машина (например,
+ Pentium 4 свыше 1.5 ГГц или Pentium M свыше 1 ГГц).
+ </para></footnote>,
+ выбирая MPEG-4 AVC кодеки (например,
+ <systemitem class="library">x264</systemitem>)
+ вместо таких MPEG-4 ASP кодеков, как
+ <systemitem class="library">libavcodec</systemitem> MPEG-4 или
+ <systemitem class="library">XviD</systemitem>.
+ (Опытные разработчики кодеков могут быть заинтересованы в
+ ознакомлении с точкой зрения Михаэля Найдермауэра (Michael
+ Niedermayer)
+ "<ulink url="http://guru.multimedia.cx/?p=10">почему MPEG4-ASP отстой</ulink>".)
+ Аналогично, Вы должны получить лучшее качество с MPEG-4 ASP, по
+ сравнению с MPEG-2 кодеками.
+ </para>
+ <para>
+ Однако, новые кодеки, находящиеся в интенсивной разработке,
+ могут страдать от ещё не замеченных ошибок, которые могут
+ испортить кодирование. Просто это плата за использование
+ передовых технологий.
+ </para>
+ <para>
+ Более существенно то, что для начала использования нового кодека
+ необходимо потратить время на изучение его опций так, чтобы Вы
+ знали, что нужно подстраивать для достижения заданного качества
+ изображения.
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Аппаратная совместимость</emphasis>:
+ Обычно необходимо длительное время для включения поддержки
+ последних видеокодеков в автономные видеоплееры.
+ В итоге, большинство поддерживает только MPEG-1 (наподобие
+ VCD, XVCD и KVCD), MPEG-2 (например, DVD, SVCD и KVCD) и MPEG-4
+ ASP (например, DivX,
+ <systemitem class="library">libavcodec</systemitem> LMP4 и
+ <systemitem class="library">XviD</systemitem>)
+ (Осторожно: обычно поддерживаются не все возможности MPEG-4 ASP).
+ Пожалуйста, обратитесь к технической спецификации Вашего плеера
+ (если она доступна) или к гугл (google) для детальной информации.
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Лучшее соотношение качества и времени кодирования</emphasis>:
+ Кодеки, уже использующиеся определённое время (например,
+ <systemitem class="library">libavcodec</systemitem> MPEG-4 и
+ <systemitem class="library">XviD</systemitem>) обычно сильно
+ оптимизированы всевозможными остроумными алгоритмами и
+ ассемблерным SIMD кодом. Поэтому они обладают тенденцией
+ достижения лучшего соотношения качества к времени кодирования.
+ Однако, у них могут быть некоторые очень продвинутые опции,
+ которые, будучи включенными, сделают кодирование очень медленным
+ ради несущественного выигрыша.
+ </para>
+ <para>
+ Если Вам нужна высокая скорость, примерно придерживайтесь настроек
+ видеокодека по умолчанию (хотя Вам стоит попробовать другие опции,
+ упоминаемые в иных разделах данного руководства).
+ </para>
+ <para>
+ Вы так же можете рассмотреть вариант использования многопоточного
+ кодека, хотя это полезно только для пользователей машин с
+ несколькими процессорами.
+ <systemitem class="library">libavcodec</systemitem> MPEG-4 позволяет
+ это, но выигрыш в скорости ограничен и есть небольшой отрицательный
+ эффект для качества картинки.
+ Многопоточное кодирование <systemitem class="library">XviD</systemitem>,
+ включаемое опцией <option>threads</option>, может использоваться для
+ ускорения кодирования (на примерно 40-60% в типичных случаях)
+ с небольшим ухудшением картинки или вообще без него.
+ <systemitem class="library">x264</systemitem> также позволяет
+ многопоточное кодирование, что обычно ускоряет процесс на 15-30%
+ (в зависимости от настроек кодирования) с уменьшением PSNR примерно
+ на 0.05 дБ.
+ </para></listitem>
+
+ <listitem><para>
+ <emphasis role="bold">Личные предпочтения</emphasis>:
+ Здесь всё становится почти неразумным: из-за тех же причин, по
+ которым одни придерживаются DivX&nbsp;3 в течении лет, в то время
+ как новые кодеки уже творят чудеса, другие люди предпочитают
+ <systemitem class="library">XviD</systemitem> или
+ <systemitem class="library">libavcodec</systemitem> MPEG-4
+ использованиию <systemitem class="library">x264</systemitem>.
+ </para>
+ <para>
+ Вам нужно принимать решение самостоятельно; не слушайте советов
+ людей, признающих только один кодек.
+ Сделайте несколько образцов клипов из искомых источников и
+ сравните разные опции кодирования и кодеки, с целью выбора
+ того, что Вам наиболее подходит.
+ Лучший кодек &mdash; это тот, которым Вы сами овладели, и
+ который выглядит лучше всего для Ваших глаз на Вашем дисплее
+ <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
+ <para>
+ Один и тот же результат кодирования может не выглядеть таким же
+ на чьём-либо другом мониторе или при воспроизведении с помощью
+ другого декодера, так что проверяйте Ваши результаты кодирования
+ на жизнеспособность, воспроизводя их в разных начальных условиях.
+ </para></footnote>!
+ </para></listitem>
+</itemizedlist>
+<para>
+ Пожалуйста, обратитесь к разделу
+ <link linkend="menc-feat-selecting-codec">выбор кодеков и форматов контейнера</link>
+ для получения списка поддерживаемых кодеков.
+</para>
+</sect2>
+
+<sect2 id="menc-feat-dvd-mpeg4-audio">
+<title>Аудио</title>
+
+<para>
+ Аудио &mdash; это гораздо более простая проблема: если Вы
+ беспокоитесь о качестве, просто оставьте всё как есть.
+ Даже потоки AC3 5.1 не более чем 448 Кбит/с и они стоят каждого
+ бита. Вы можете соблазниться перекодированием аудио в
+ высококачественный Vorbis (он же ogg формат), но лишь то, что
+ у Вас сегодня нет A/V приёмника для пропускания AC3, не означает,
+ что у Вас не будет его завтра. Для жизнеспособности Ваших DVD
+ рипов в будущем, сохраняйте поток AC3.
+ Вы можете сохранить поток AC3, копируя его непосредственно в
+ видеопоток <link linkend="menc-feat-mpeg4">в процессе кодирования</link>.
+ Вы также можете извлечь AC3 поток с целью мультиплексирования его
+ в контейнеры наподобие NUT или Matroska (Матрёшка).
+ <screen>
+ mplayer <replaceable>файл_источника.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>звук.ac3</replaceable></screen>
+ сохранит в файл <replaceable>звук.ac3</replaceable> аудиодорожку
+ с номером 129 из файла
+ <replaceable>файл_источника.vob</replaceable> (Обратите внимание:
+ DVD VOB файлы обычно импользуют нумерацию аудио, отличную от
+ стандартной, что означает, что аудиодорожка VOB 129 &mdash; это вторая
+ аудиодорожка файла).
+</para>
+
+<para>
+ Но иногда у Вас действительно нет иного выбора, чем далее сжимать
+ звук для того, чтоб больше битов могло быть потрачено на видео.
+ Большинство людей предпочитают сжимать звук с помощью MP3 или
+ Vorbis аудиокодеков.
+ Последний является очень эффективным, но MP3 лучше поддерживается
+ аппаратными плеерами, хотя эта тенденция меняется.
+</para>
+
+<para>
+ <emphasis>Не</emphasis> используйте <option>-nosound</option> при
+ кодировании файла с аудио, даже если Вы будете позже кодировать и
+ мультеплексировать аудио отдельно.
+ Хотя это может работать в идеальных случаях, использование
+ <option>-nosound</option> обычно скрывает ряд проблем в Ваших
+ настройках кодирования в командной строке.
+ Другими словами, наличие звуковой дорожки в процессе кодирования
+ гарантирует Вам, что в случае отсутствия сообщений, подобных
+ <quote>Слишком много аудиопакетов в буфере</quote>, у Вас будет
+ получена правильная синхронизация.
+</para>
+
+<para>
+ Вам необходим <application>MEncoder</application> для обработки
+ звука.
+ Например, Вы можете копировать исходную звуковую дорожку в
+ процессе кодирования с помощью <option>-oac copy</option> или
+ преобразовать её в "лёгкий" 4 кГц моно WAV PCM с помощью
+ <option>-oac pcm -channels 1 -srate 4000</option>.
+ Иначе, в ряде случаев, будет создаваться видео файл,
+ десинхронизированный с аудио.
+ Такие случаи происходят, когда число кадров видео исходного файла
+ не совпадает с полной длиной кадров аудио, или когда были
+ разрывы/сшивания потока, где появились пропущенные или излишние
+ аудиокадры.
+ Правильным решением подобных проблем является вставка тишины или
+ усечение аудио в таких точках.
+ Однако, <application>MPlayer</application> не может это сделать
+ и если Вы демультиплексируете AC3 аудио и кодируете его отдельным
+ приложением (или создаёте дамп в PCM с помощью
+ <application>MPlayer</application>), сшивания останутся
+ нескорректированными и единственный испособ их исправить &mdash;
+ пропускать/дублировать видеокадры в местах сшивки.
+ Пока <application>MEncoder</application> видит аудио при
+ кодировании видео, он может выполнять этот пропуск/дублирование
+ (что обычно не вызывыет проблем, т.к. происходит при полностью
+ чёрных кадрах или при смене сцен), но если
+ <application>MEncoder</application> не доступно аудио, он просто
+ будет обрабатывать все кадры "как есть" и они не будут совпадать
+ с окончательным аудиопотоком, когда Вы, например, объедините
+ аудио и видео дорожки в Matroska файл.
+</para>
+
+<para>
+ Прежде всего, Вам необходимо преобразовать DVD звук в WAV файл,
+ который может использоваться аудиокодеком в качестве входных
+ данных. Например:
+ <screen>
+ mplayer <replaceable>исходный_файл.vob</replaceable> \
+ -ao pcm:file=<replaceable>звук.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
+ сохранит вторую аудиодорожку из файла
+ <replaceable>исходный_файл.vob</replaceable> в файл
+ <replaceable>звук.wav</replaceable>.
+ Возможно, Вы захотите нормализировать звук перед кодированием,
+ поскольку аудиодорожки DVD обычно записываются с маленькой
+ громкостью.
+ Вы можете использовать, например, утилиту <application>normalize</application>,
+ доступную в большинстве дистрибутивов.
+ Если вы пользуетесь Window$, утилита <application>BeSweet</application>
+ делает то же самое.
+ Вы можете сжать в Vorbis или MP3. Например:
+ <screen>oggenc -q1 <replaceable>звук.wav</replaceable></screen>
+ кодирует <replaceable>звук.wav</replaceable> с качеством 1,
+ что примерно эквивалентно 80 Кб/с и является минимальным качеством,
+ при котором Вам нужно кодировать, если Вы заботитесь о качестве.
+ Пожалуйста, обратите внимание, что <application>MEncoder</application>
+ на данный момент не поддерживает мультиплексирование аудиопотоков
+ Vorbis в выходной файл, поскольку он поддерживает только AVI и
+ MPEG контейнеры для выходных файлов, использование каждого из
+ которых может привести к проблемам A/V синхронизации с
+ некоторыми плеерами, в случае когда AVI файл содержит VBR
+ аудиопотоки наподобие Vorbis.
+ Не беспокойтесь, в данном документе будет рассказано как Вы
+ можете это сделать с помощью сторонних программ.
+</para>
+
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-muxing">
+<title>Мультиплексирование</title>
+<para>
+ Теперь, после того как Вы кодировали видео, скорее всего, Вы
+ захотите мультиплексировать его с одним или несколькими
+ аудиопотоками в такие видео контейнеры как AVI, MPEG,
+ Matroska или NUT.
+ На данный момент встроенная поддержка вывода аудио и видео в
+ <application>MEncoder</application> есть только для форматов
+ контейнеров MPEG и AVI.
+ Например:
+ <screen>
+ mencoder -oac copy -ovc copy -o <replaceable>выходной_фильм.avi</replaceable> \
+ -audiofile <replaceable>исходный_звук.mp2</replaceable> <replaceable>исходное_видео.avi</replaceable></screen>
+ Это объединит видеофайл <replaceable>исходное_видео.avi</replaceable>
+ и аудиофайл <replaceable>исходный_звук.mp2</replaceable>
+ в AVI файл <replaceable>выходной_фильм.avi</replaceable>.
+ Эта команда работает с MPEG-1 слой I, II и III (более
+ известный как MP3) аудио, WAV, а также с некоторыми иными
+ форматами аудио.
+</para>
+
+<para>
+ <application>MEncoder</application>
+ обладает экспериментальной поддержкой
+ <systemitem class="library">libavformat</systemitem> &mdash;
+ библиотеки из проекта FFmpeg, поддерживающей мультиплексирование
+ и демультиплексирование множества контейнеров.
+ Например:
+ <screen>
+ mencoder -oac copy -ovc copy -o <replaceable>выходной_фильм.asf</replaceable> \
+ -audiofile <replaceable>исходный_звук.mp2</replaceable> <replaceable>исходное_видео.avi</replaceable> \
+ -of lavf -lavfopts format=asf</screen>
+ Это сделает то же самое, что и предыдущий пример, но выходным
+ контейнером будет ASF.
+ Пожалуйста, обратите внимание, что эта поддержка весьма
+ экспериментальна (но становится лучше c каждым днём), и будет
+ работать только в случае компиляции <application>MPlayer</application>
+ с включенной поддержкой
+ <systemitem class="library">libavformat</systemitem> (что означает,
+ что в большинстве случаев бинарная версия из пакетов не будет
+ работать).
+</para>
+
+
+<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
+<title>Улучшение мультиплексирования и надёжности A/V синхронизации</title>
+<para>
+ Вы можете столкнуться с некоторыми серьёзными проблемами A/V
+ синхронизации при попытке мультиплексирования вашего видео
+ с некоторыми аудиодорожками, где, как бы Вы не подбирали задержку
+ аудио, никогда не получается правильная синхронизация.
+ Это может происходить при использовании некоторых видеофильтров,
+ пропускающих или дублирующих некоторые кадры, например фильтров
+ обратного телесина.
+ Настоятельно рекомендуется добавлять видеофильтр
+ <option>harddup</option> в конце цепочки фильтров для избежания
+ подобных проблем.
+</para>
+
+<para>
+ Без опции <option>harddup</option>, в случае когда
+ <application>MEncoder</application> хочет дублировать кадр, он
+ полагается на то, что мультиплексор расположит отметку в
+ контейнере таким образом, что последний кадр будет повторен для
+ достижения синхронизации без реальной записи кадра.
+ С опцией <option>harddup</option>, <application>MEncoder</application>
+ вместо этого просто ещё раз поместит последний кадр в цепочку
+ фильтров.
+ Это означает, что кодер получит <emphasis>точно</emphasis>
+ такой же кадр дважды и сожмёт его.
+ Это приведёт у несколько большему файлу, но избавит от проблем
+ при демультиплексировании или ремультиплексировании с другими
+ форматами контейнеров.
+</para>
+
+<para>
+ Также у Вас может не быть иного выбора, как использовать
+ <option>harddup</option> с форматами контейнеров, которые
+ не слишком плотно связаны с
+ <application>MEncoder</application>, например, с форматами,
+ поддерживаемыми с помощью
+ <systemitem class="library">libavformat</systemitem>,
+ которые могут не поддерживать дублирование кадров на уровне
+ контейнера.
+</para>
+</sect3>
+
+
+<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
+<title>Ограничения контейнера AVI</title>
+<para>
+ Хотя это самый широко распостранённый формат контейнера после
+ MPEG-1, он также обладает некоторыми существенными недостатками.
+ Пожалуй, они наиболее очевидны в его избыточности.
+ Для каждой цепочки AVI файла теряется 24 байта на заголовки и
+ индекс.
+ Это приводит к чуть более 5 МБ/час или 1.0-2.5% избыточности
+ для 700 МБ фильма. Это не кажется большим, но может означать
+ разницу между возможностью использования 700 кбит/сек или
+ 714 кбит/сек в случаях, когда каждый бит на счету.
+</para>
+
+<para>
+ В дополнение к малой эффективности, AVI также обладает следующими
+ серьёзными ограничениями:
+</para>
+
+<orderedlist>
+<listitem>
+<para>
+ Может быть сохранено только содержимое с фиксированной частотой
+ кадров. В частности, это особенно ограничивает, когда Ваш
+ исходный материал смешанного содержимого: например, является
+ смесью NTSC видео и киноматериала.
+ В действительности, есть хаки, позволяющие сохранять содержимое
+ с переменным fps в AVI, но они увеличивают (и без того большую)
+ избыточность впятеро или более того и поэтому непрактичны.
+</para>
+</listitem>
+<listitem>
+<para>
+ Аудио в AVI файлах должно быть или с постоянным битпотоком (CBR)
+ или с постоянным размером кадра (т.е. все кадры декодируются
+ в одно и то же число выборок).
+ К сожалению, самый эффективный кодек, Vorbis, не удовлетворяет
+ ни одному из данных требований.
+ Поэтому, если Вы планируете сохранять Ваш фильм в AVI, Вы должны
+ использовать менее эффективный кодек, такой как MP3 или AC3.
+</para>
+</listitem>
+</orderedlist>
+
+<para>
+ Сказав всё это, отметим, что <application>MEncoder</application>
+ на данный момент не поддерживает вывод с переменным fps или
+ Vorbis кодирование.
+ Поэтому Вы можете не рассматривать всё это как ограничения, если
+ <application>MEncoder</application> &mdash; это единственный
+ инструмент, который Вы используете для кодирования.
+ Однако, возможно использовать <application>MEncoder</application>
+ только для кодирования видео и затем использовать внешние
+ утилиты для кодирования аудио и мультиплексирования его в
+ контейнер другого формата.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
+<title>Мультиплексирование в контейнер Matroska (Матрёшка)</title>
+<para>
+ Matroska &mdash; это свободный, открытый стандарт формата
+ контейнера, нацеленный на предоставление большого количества
+ продвинутых возможностей, которые старые контейнеры (наподобие
+ AVI) не поддерживают.
+ Например, Matroska поддерживает аудиосодержимое с переменным
+ битпотоком (VBR), переменные частоты кадров (VFR), разделы,
+ файловые вложения, код обнаружения ошибок (EDC) и современные
+ A/V кодеки, такие как "Продвинутое Аудио Кодирование" ("Advanced
+ Audio Coding", AAC), "Vorbis" или "MPEG-4 AVC" (H.264), также
+ не поддерживаемые AVI.
+</para>
+
+<para>
+ Утилиты, необходимые для создания Matroska файлов, сообща
+ называются <application>mkvtoolnix</application>, и доступны
+ для большиства Unix платформ, так же как и для Window$.
+ Поскольку Matroska &mdash; открытый формат, Вы можете найти
+ иные утилиты, которые лучше Вам подходят, но поскольку
+ <application>mkvtoolnix</application> &mdash; наиболее общие
+ и поддерживаются самой командой разработчиков Matroska, мы
+ будем обсуждать только их использование.
+</para>
+
+<para>
+ Возможно, самым простым способом начать использовать Matroska
+ является использование <application>MMG</application>,
+ графической оболочки, поставляемой с
+ <application>mkvtoolnix</application>. Следуйте
+ <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">руководству к mkvmerge GUI (mmg)</ulink>.
+</para>
+
+<para>
+ Также Вы можете мультиплексировать аудио и видео файлы используя
+ командную строку:
+ <screen>
+ mkvmerge -o <replaceable>выходной_файл.mkv</replaceable> <replaceable>входное_видео.avi</replaceable> \
+ <replaceable>входное_аудио1.mp3</replaceable> <replaceable>входное_аудио2.ac3</replaceable></screen>
+ Это объединит видеофайл <replaceable>входное_видео.avi</replaceable>
+ и два аудиофайла <replaceable>входное_аудио1.mp3</replaceable>
+ и <replaceable>входное_аудио2.ac3</replaceable> в Matroska
+ файл <replaceable>выходной_файл.mkv</replaceable>.
+ Как было отмечено ранее, Matroska способна реализовать гораздо
+ большее, например, множественные аудиодорожки (включая тонкую
+ настройку аудио/видео синхронизации), разделы, субтитры,
+ разбиение и т.д..
+ Пожалуйста, обратитесь к документации на эти приложения для
+ деталей.
+</para>
+
+</sect3>
+
+</sect2>
+
+</sect1>
+
+<sect1 id="menc-feat-telecine">
+<title>How to deal with telecine and interlacing within NTSC DVDs</title>
+
+<sect2 id="menc-feat-telecine-intro">
+<title>Introduction</title>
+<formalpara>
+<title>What is telecine?</title>
+<para>
+ If you do not understand much of what is written in this document,
+ read the
+ <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>.
+ It is an understandable and reasonably comprehensive
+ description of what telecine is.
+</para></formalpara>
+
+<formalpara>
+<title>A note about the numbers.</title>
+<para>
+ Many documents, including the guide linked above, refer to the fields
+ per second value of NTSC video as 59.94 and the corresponding frames
+ per second values as 29.97 (for telecined and interlaced) and 23.976
+ (for progressive). For simplicity, some documents even round these
+ numbers to 60, 30, and 24.
+</para></formalpara>
+
+<para>
+ Strictly speaking, all those numbers are approximations. Black and
+ white NTSC video was exactly 60 fields per second, but 60000/1001
+ was later chosen to accomodate color data while remaining compatible
+ with contemporary black and white televisions. Digital NTSC video
+ (such as on a DVD) is also 60000/1001 fields per second. From this,
+ interlaced and telecined video are derived to be 30000/1001 frames
+ per second; progressive video is 24000/1001 frames per second.
+</para>
+
+<para>
+ Older versions of the <application>MEncoder</application> documentation
+ and many archived mailing list posts refer to 59.94, 29.97, and 23.976.
+ All <application>MEncoder</application> documentation has been updated
+ to use the fractional values, and you should use them too.
+</para>
+
+<para>
+ <option>-ofps 23.976</option> is incorrect.
+ <option>-ofps 24000/1001</option> should be used instead.
+</para>
+
+<formalpara>
+<title>How telecine is used.</title>
+<para>
+ All video intended to be displayed on an NTSC
+ television set must be 60000/1001 fields per second. Made-for-TV movies
+4 and shows are often filmed directly at 60000/1001 fields per second, but
+ the majority of cinema is filmed at 24 or 24000/1001 frames per
+ second. When cinematic movie DVDs are mastered, the video is then
+ converted for television using a process called telecine.
+</para></formalpara>
+
+<para>
+ On a DVD, the video is never actually stored as 60000/1001 fields per
+ second. For video that was originally 60000/1001, each pair of fields is
+ combined to form a frame, resulting in 30000/1001 frames per
+ second. Hardware DVD players then read a flag embedded in the video
+ stream to determine whether the odd- or even-numbered lines should
+ form the first field.
+</para>
+
+<para>
+ Usually, 24000/1001 frames per second content stays as it is when
+ encoded for a DVD, and the DVD player must perform telecining
+ on-the-fly. Sometimes, however, the video is telecined
+ <emphasis>before</emphasis> being stored on the DVD; even though it
+ was originally 24000/1001 frames per second, it becomes 60000/1001 fields per
+ second. When it is stored on the DVD, pairs of fields are combined to form
+ 30000/1001 frames per second.
+</para>
+
+<para>
+ When looking at individual frames formed from 60000/10001 fields per
+ second video, telecined or otherwise, interlacing is clearly visible
+ wherever there is any motion, because one field (say, the
+ even-numbered lines) represents a moment in time 1/(60000/1001)
+ seconds later than the other. Playing interlaced video on a computer
+ looks ugly both because the monitor is higher resolution and because
+ the video is shown frame-after-frame instead of field-after-field.
+</para>
+
+<itemizedlist>
+<title>Notes:</title>
+<listitem><para>
+ This section only applies to NTSC DVDs, and not PAL.
+ </para></listitem>
+<listitem><para>
+ The example <application>MEncoder</application> lines throughout the
+ document are <emphasis role="bold">not</emphasis> intended for
+ actual use. They are simply the bare minimum required to encode the
+ pertaining video category. How to make good DVD rips or fine-tune
+ <systemitem class="library">libavcodec</systemitem> for maximal
+ quality is not within the scope of this document.
+ </para></listitem>
+<listitem><para>
+ There are a couple footnotes specific to this guide, linked like this:
+ <link linkend="menc-feat-telecine-footnotes">[1]</link>
+ </para></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2 id="menc-feat-telecine-ident">
+<title>How to tell what type of video you have</title>
+
+<sect3 id="menc-feat-telecine-ident-progressive">
+<title>Progressive</title>
+<para>
+ Progressive video was originally filmed at 24000/1001 fps, and stored
+ on the DVD without alteration.
+</para>
+
+<para>
+ When you play a progressive DVD in <application>MPlayer</application>,
+ <application>MPlayer</application> will print the following line as
+ soon as the movie begins to play:
+
+ <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
+
+ From this point forward, demux_mpg should never say it finds
+ &quot;30000/1001 fps NTSC content.&quot;
+</para>
+
+<para>
+ When you watch progressive video, you should never see any
+ interlacing. Beware, however, because sometimes there is a tiny bit
+ of telecine mixed in where you would not expect. I have encountered TV
+ show DVDs that have one second of telecine at every scene change, or
+ at seemingly random places. I once watched a DVD that had a
+ progressive first half, and the second half was telecined. If you
+ want to be <emphasis>really</emphasis> thorough, you can scan the
+ entire movie:
+
+ <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
+
+ Using <option>-benchmark</option> makes
+ <application>MPlayer</application> play the movie as quickly as it
+ possibly can; still, depending on your hardware, it can take a
+ while. Every time demux_mpg reports a framerate change, the line
+ immediately above will show you the time at which the change
+ occurred.
+</para>
+
+<para>
+ Sometimes progressive video on DVDs is referred to as
+ &quot;soft-telecine&quot; because it is intended to
+ be telecined by the DVD player.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-telecine-ident-telecined">
+<title>Telecined</title>
+<para>
+ Telecined video was originally filmed at 24000/1001, but was telecined
+ <emphasis>before</emphasis> it was written to the DVD.
+</para>
+
+<para>
+ <application>MPlayer</application> does not (ever) report any
+ framerate changes when it plays telecined video.
+</para>
+
+<para>
+ Watching a telecined video, you will see interlacing artifacts that
+ seem to &quot;blink&quot;: they repeatedly appear and disappear.
+ You can look closely at this by
+ <orderedlist>
+ <listitem>
+ <screen>mplayer dvd://1</screen>
+ </listitem>
+ <listitem><para>
+ Seek to a part with motion.
+ </para></listitem>
+ <listitem><para>
+ Use the <keycap>.</keycap> key to step forward one frame at a time.
+ </para></listitem>
+ <listitem><para>
+ Look at the pattern of interlaced-looking and progressive-looking
+ frames. If the pattern you see is PPPII,PPPII,PPPII,... then the
+ video is telecined. If you see some other pattern, then the video
+ may have been telecined using some non-standard method;
+ <application>MEncoder</application> cannot losslessly convert
+ non-standard telecine to progressive. If you do not see any
+ pattern at all, then it is most likely interlaced.
+ </para></listitem>
+ </orderedlist>
+</para>
+
+<para>
+ Sometimes telecined video on DVDs is referred to as
+ &quot;hard-telecine&quot;. Since hard-telecine is already 60000/1001 fields
+ per second, the DVD player plays the video without any manipulation.
+</para>
+
+<para>
+ Another way to tell if your source is telecined or not is to play
+ the source with the <option>-vf pullup</option> and <option>-v</option>
+ command line options to see how <option>pullup</option> matches frames.
+ If the source is telecined, you should see on the console a 3:2 pattern
+ with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem>
+ alternating.
+ This technique has the advantage that you do not need to watch the
+ source to identify it, which could be useful if you wish to automate
+ the encoding procedure, or to carry out said procedure remotely via
+ a slow connection.
+</para>
+
+</sect3>
+
+<sect3 id="menc-feat-telecine-ident-interlaced">
+<title>Interlaced</title>
+<para>
+ Interlaced video was originally filmed at 60000/1001 fields per second,
+ and stored on the DVD as 30000/1001 frames per second. The interlacing effect
+ (often called &quot;combing&quot;) is a result of combining pairs of
+ fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart,
+ and when they are displayed simultaneously the difference is apparent.
+</para>
+
+<para>
+ As with telecined video, <application>MPlayer</application> should
+ not ever report any framerate changes when playing interlaced content.
+</para>
+
+<para>
+ When you view an interlaced video closely by frame-stepping with the
+ <keycap>.</keycap> key, you will see that every single frame is interlaced.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-telecine-ident-mixedpt">
+<title>Mixed progressive and telecine</title>
+<para>
+ All of a &quot;mixed progressive and telecine&quot; video was originally
+ 24000/1001 frames per second, but some parts of it ended up being telecined.
+</para>
+
+<para>
+ When <application>MPlayer</application> plays this category, it will
+ (often repeatedly) switch back and forth between &quot;30000/1001 fps NTSC&quot;
+ and &quot;24000/1001 fps progressive NTSC&quot;. Watch the bottom of
+ <application>MPlayer</application>'s output to see these messages.
+</para>
+
+<para>
+ You should check the &quot;30000/1001 fps NTSC&quot; sections to make sure
+ they are actually telecine, and not just interlaced.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-telecine-ident-mixedpi">
+<title>Mixed progressive and interlaced</title>
+<para>
+ In &quot;mixed progressive and interlaced&quot; content, progressive
+ and interlaced video have been spliced together.
+</para>
+
+<para>
+ This category looks just like &quot;mixed progressive and telecine&quot;,
+ until you examine the 30000/1001 fps sections and see that they do not have the
+ telecine pattern.
+</para>
+</sect3>
+
+</sect2>
+
+<sect2 id="menc-feat-telecine-encode">
+<title>How to encode each category</title>
+<para>
+ As I mentioned in the beginning, example <application>MEncoder</application>
+ lines below are <emphasis role="bold">not</emphasis> meant to actually be used;
+ they only demonstrate the minimum parameters to properly encode each category.
+</para>
+
+<sect3 id="menc-feat-telecine-encode-progressive">
+<title>Progressive</title>
+<para>
+ Progressive video requires no special filtering to encode. The only
+ parameter you need to be sure to use is
+ <option>-ofps 24000/1001</option>. Otherwise, <application>MEncoder</application>
+ will try to encode at 30000/1001 fps and will duplicate frames.
+</para>
+
+<para>
+ <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
+</para>
+
+<para>
+ It is often the case, however, that a video that looks progressive
+ actually has very short parts of telecine mixed in. Unless you are
+ sure, it is safest to treat the video as
+ <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>.
+ The performance loss is small
+ <link linkend="menc-feat-telecine-footnotes">[3]</link>.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-telecine-encode-telecined">
+<title>Telecined</title>
+<para>
+ Telecine can be reversed to retrieve the original 24000/1001 content,
+ using a process called inverse-telecine.
+ <application>MPlayer</application> contains several filters to
+ accomplish this; the best filter, <option>pullup</option>, is described
+ in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed
+ progressive and telecine</link> section.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-telecine-encode-interlaced">
+<title>Interlaced</title>
+<para>
+ For most practical cases it is not possible to retrieve a complete
+ progressive video from interlaced content. The only way to do so
+ without losing half of the vertical resolution is to double the
+ framerate and try to &quot;guess&quot; what ought to make up the
+ corresponding lines for each field (this has drawbacks - see method
+ 3).
+</para>
+
+<orderedlist>
+<listitem><para>
+
+ Encode the video in interlaced form. Normally, interlacing wreaks
+ havoc with the encoder's ability to compress well, but
+ <systemitem class="library">libavcodec</systemitem> has two
+ parameters specifically for dealing with storing interlaced video a
+ bit better: <option> ildct</option> and <option>ilme</option>. Also,
+ using <option>mbd=2</option> is strongly recommended
+ <link linkend="menc-feat-telecine-footnotes">[2] </link> because it
+ will encode macroblocks as non-interlaced in places where there is
+ no motion. Note that <option>-ofps</option> is NOT needed here.
+
+ <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
+ </para></listitem>
+<listitem><para>
+ Use a deinterlacing filter before encoding. There are several of
+ these filters available to choose from, each with its own advantages
+ and disadvantages. Consult <option>mplayer -pphelp</option> to see
+ what is available (grep for &quot;deint&quot;), and search the
+ <ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">
+ MPlayer mailing lists</ulink> to find many discussions about the
+ various filters. Again, the framerate is not changing, so no
+ <option>-ofps</option>. Also, deinterlacing should be done after
+ cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and
+ before scaling.
+
+ <screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
+ </para></listitem>
+<listitem><para>
+ Unfortunately, this option is buggy with
+ <application>MEncoder</application>; it ought to work well with
+ <application>MEncoder G2</application>, but that is not here yet. You
+ might experience crahes. Anyway, the purpose of <option> -vf
+ tfields</option> is to create a full frame out of each field, which
+ makes the framerate 60000/1001. The advantage of this approach is that no
+ data is ever lost; however, since each frame comes from only one
+ field, the missing lines have to be interpolated somehow. There are
+ no very good methods of generating the missing data, and so the
+ result will look a bit similar to when using some deinterlacing
+ filters. Generating the missing lines creates other issues, as well,
+ simply because the amount of data doubles. So, higher encoding
+ bitrates are required to maintain quality, and more CPU power is
+ used for both encoding and decoding. tfields has several different
+ options for how to create the missing lines of each frame. If you
+ use this method, then Reference the manual, and chose whichever
+ option looks best for your material. Note that when using
+ <option>tfields</option> you
+ <emphasis role="bold">have to</emphasis> specify both
+ <option>-fps</option> and <option>-ofps</option> to be twice the
+ framerate of your original source.
+
+ <screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
+ </para></listitem>
+<listitem><para>
+ If you plan on downscaling dramatically, you can extract and encode
+ only one of the two fields. Of course, you will lose half the vertical
+ resolution, but if you plan on downscaling to at most 1/2 of the
+ original, the loss will not matter much. The result will be a
+ progressive 30000/1001 frames per second file. The procedure is to use
+ <option>-vf field</option>, then crop
+ <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale
+ appropriately. Remember that you will have to adjust the scale to
+ compensate for the vertical resolution being halved.
+ <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
+ </para></listitem>
+</orderedlist>
+</sect3>
+
+<sect3 id="menc-feat-telecine-encode-mixedpt">
+<title>Mixed progressive and telecine</title>
+<para>
+ In order to turn mixed progressive and telecine video into entirely
+ progressive video, the telecined parts have to be
+ inverse-telecined. There are three ways to accomplish this,
+ described below. Note that you should
+ <emphasis role="bold">always</emphasis> inverse-telecine before any
+ rescaling; unless you really know what you are doing,
+ inverse-telecine before cropping, too
+ <link linkend="menc-feat-telecine-footnotes">[1]</link>.
+ <option>-ofps 24000/1001</option> is needed here because the output video
+ will be 24000/1001 frames per second.
+</para>
+
+<itemizedlist>
+<listitem><para>
+ <option>-vf pullup</option> is designed to inverse-telecine
+ telecined material while leaving progressive data alone. In order to
+ work properly, <option>pullup</option> <emphasis role="bold">must</emphasis>
+ be followed by the <option>softskip</option> filter or
+ else <application>MEncoder</application> will crash.
+ <option>pullup</option> is, however, the cleanest and most
+ accurate method available for encoding both telecine and
+ &quot;mixed progressive and telecine&quot;.
+
+ <screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
+ </para>
+
+
+ </listitem>
+ <listitem><para>
+ An older method
+ is to, rather than inverse-telecine the telecined parts, telecine
+ the non-telecined parts and then inverse-telecine the whole
+ video. Sound confusing? softpulldown is a filter that goes through
+ a video and makes the entire file telecined. If we follow
+ softpulldown with either <option>detc</option> or
+ <option>ivtc</option>, the final result will be entirely
+ progressive. <option>-ofps 24000/1001</option> is needed.
+
+ <screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
+ </para>
+ </listitem>
+
+<listitem><para>
+ I have not used <option>-vf filmdint</option> myself, but here is what
+ D Richard Felker III has to say:
+
+ <blockquote><para>It is OK, but IMO it tries to deinterlace rather
+ than doing inverse telecine too often (much like settop DVD
+ players &amp; progressive TVs) which gives ugly flickering and
+ other artifacts. If you are going to use it, you at least need to
+ spend some time tuning the options and watching the output first
+ to make sure it is not messing up.</para></blockquote>
+ </para></listitem>
+</itemizedlist>
+</sect3>
+
+<sect3 id="menc-feat-telecine-encode-mixedpi">
+<title>Mixed progressive and interlaced</title>
+<para>
+ There are two options for dealing with this category, each of
+ which is a compromise. You should decide based on the
+ duration/location of each type.
+</para>
+
+<itemizedlist>
+<listitem><para>
+ Treat it as progressive. The interlaced parts will look interlaced,
+ and some of the interlaced fields will have to be dropped, resulting
+ in a bit of uneven jumpiness. You can use a postprocessing filter if
+ you want to, but it may slightly degrade the progressive parts.
+ </para>
+
+ <para>
+ This option should definitely not be used if you want to eventually
+ display the video on an interlaced device (with a TV card, for
+ example). If you have interlaced frames in a 24000/1001 frames per
+ second video, they will be telecined along with the progressive
+ frames. Half of the interlaced "frames" will be displayed for three
+ fields' duration (3/(60000/1001) seconds), resulting in a flicking
+ &quot;jump back in time&quot; effect that looks quite bad. If you
+ even attempt this, you <emphasis role="bold">must</emphasis> use a
+ deinterlacing filter like <option>lb</option> or
+ <option>l5</option>.
+ </para>
+
+ <para>
+ It may also be a bad idea for progressive display, too. It will drop
+ pairs of consecutive interlaced fields, resulting in a discontinuity
+ that can be more visible than with the second method, which shows
+ some progressive frames twice. 30000/1001 frames per second interlaced
+ video is already a bit choppy because it really should be shown at
+ 60000/1001 fields per second, so the duplicate frames do not stand out as
+ much.
+ </para>
+
+ <para>
+ Either way, it is best to consider your content and how you intend to
+ display it. If your video is 90% progressive and you never intend to
+ show it on a TV, you should favor a progressive approach. If it is
+ only half progressive, you probably want to encode it as if it is all
+ interlaced.
+ </para>
+ </listitem>
+
+<listitem><para>
+ Treat it as interlaced. Some frames of the progressive parts will
+ need to be duplicated, resulting in uneven jumpiness. Again,
+ deinterlacing filters may slightly degrade the progressive parts.
+ </para></listitem>
+
+</itemizedlist>
+</sect3>
+
+</sect2>
+
+<sect2 id="menc-feat-telecine-footnotes">
+<title>Footnotes</title>
+<orderedlist>
+<listitem><formalpara>
+ <title>About cropping:</title>
+ <para>
+ Video data on DVDs are stored in a format called YUV 4:2:0. In YUV
+ video, luma (&quot;brightness&quot;) and chroma (&quot;color&quot;)
+ are stored separately. Because the human eye is somewhat less
+ sensitive to color than it is to brightness, in a YUV 4:2:0 picture
+ there is only one chroma pixel for every four luma pixels. In a
+ progressive picture, each square of four luma pixels (two on each
+ side) has one common chroma pixel. You must crop progressive YUV
+ 4:2:0 to even resolutions, and use even offsets. For example,
+ <option>crop=716:380:2:26</option> is OK but
+ <option>crop=716:380:3:26 </option> is not.
+ </para>
+ </formalpara>
+
+ <para>
+ When you are dealing with interlaced YUV 4:2:0, the situation is a
+ bit more complicated. Instead of every four luma pixels in the
+ <emphasis>frame</emphasis> sharing a chroma pixel, every four luma
+ pixels in each <emphasis> field</emphasis> share a chroma
+ pixel. When fields are interlaced to form a frame, each scanline is
+ one pixel high. Now, instead of all four luma pixels being in a
+ square, there are two pixels side-by-side, and the other two pixels
+ are side-by-side two scanlines down. The two luma pixels in the
+ intermediate scanline are from the other field, and so share a
+ different chroma pixel with two luma pixels two scanlines away. All
+ this confusion makes it necessary to have vertical crop dimensions
+ and offsets be multiples of four. Horizontal can stay even.
+ </para>
+
+ <para>
+ For telecined video, I recommend that cropping take place after
+ inverse telecining. Once the video is progressive you only need to
+ crop by even numbers. If you really want to gain the slight speedup
+ that cropping first may offer, you must crop vertically by multiples
+ of four or else the inverse-telecine filter will not have proper data.
+ </para>
+
+ <para>
+ For interlaced (not telecined) video, you must always crop
+ vertically by multiples of four unless you use <option>-vf
+ field</option> before cropping.
+ </para>
+ </listitem>
+
+<listitem><formalpara>
+ <title>About encoding parameters and quality:</title>
+ <para>
+ Just because I recommend <option>mbd=2</option> here does not mean it
+ should not be used elsewhere. Along with <option>trell</option>,
+ <option>mbd=2</option> is one of the two
+ <systemitem class="library">libavcodec</systemitem> options that
+ increases quality the most, and you should always use at least those
+ two unless the drop in encoding speed is prohibitive (e.g. realtime
+ encoding). There are many other options to
+ <systemitem class="library">libavcodec</systemitem> that increase
+ encoding quality (and decrease encoding speed) but that is beyond
+ the scope of this document.
+ </para>
+ </formalpara>
+ </listitem>
+
+<listitem><formalpara>
+ <title>About the performance of pullup:</title>
+ <para>
+ It is safe to use <option>pullup</option> (along with <option>softskip
+ </option>) on progressive video, and is usually a good idea unless
+ the source has been definitively verified to be entirely progressive.
+ The performace loss is small for most cases. On a bare-minimum encode,
+ <option>pullup</option> causes <application>MEncoder</application> to
+ be 50% slower. Adding sound processing and advanced <option>lavcopts
+ </option> overshadows that difference, bringing the performance
+ decrease of using <option>pullup</option> down to 2%.
+ </para>
+ </formalpara>
+ </listitem>
+
+</orderedlist>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="menc-feat-enc-libavcodec">
+<title>Encoding with the <systemitem class="library">libavcodec</systemitem>
+ codec family</title>
+
+<para>
+<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
+provides simple encoding to a lot of interesting video and audio formats.
+You can encode to the following codecs (more or less up to date):
+</para>
+
+<sect2 id="menc-feat-enc-libavcodec-video-codecs">
+<title><systemitem class="library">libavcodec</systemitem>'s video codecs</title>
+
+<para>
+<informaltable frame="all">
+<tgroup cols="2">
+<thead>
+<row><entry>Video codec name</entry><entry>Description</entry></row>
+</thead>
+<tbody>
+<row><entry>mjpeg</entry><entry>
+ Motion JPEG
+ </entry></row>
+<row><entry>ljpeg</entry><entry>
+ lossless JPEG
+ </entry></row>
+<row><entry>h261</entry><entry>
+ H.261
+ </entry></row>
+<row><entry>h263</entry><entry>
+ H.263
+ </entry></row>
+<row><entry>h263p</entry><entry>
+ H.263+
+ </entry></row>
+<row><entry>mpeg4</entry><entry>
+ ISO standard MPEG-4 (DivX, XviD compatible)
+ </entry></row>
+<row><entry>msmpeg4</entry><entry>
+ pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)
+ </entry></row>
+<row><entry>msmpeg4v2</entry><entry>
+ pre-standard MPEG-4 by MS, v2 (used in old ASF files)
+ </entry></row>
+<row><entry>wmv1</entry><entry>
+ Windows Media Video, version 1 (AKA WMV7)
+ </entry></row>
+<row><entry>wmv2</entry><entry>
+ Windows Media Video, version 2 (AKA WMV8)
+ </entry></row>
+<row><entry>rv10</entry><entry>
+ RealVideo 1.0
+ </entry></row>
+<row><entry>rv20</entry><entry>
+ RealVideo 2.0
+ </entry></row>
+<row><entry>mpeg1video</entry><entry>
+ MPEG-1 video
+ </entry></row>
+<row><entry>mpeg2video</entry><entry>
+ MPEG-2 video
+ </entry></row>
+<row><entry>huffyuv</entry><entry>
+ lossless compression
+ </entry></row>
+<row><entry>asv1</entry><entry>
+ ASUS Video v1
+ </entry></row>
+<row><entry>asv2</entry><entry>
+ ASUS Video v2
+ </entry></row>
+<row><entry>ffv1</entry><entry>
+ FFmpeg's lossless video codec
+ </entry></row>
+<row><entry>svq1</entry><entry>
+ Sorenson video 1
+ </entry></row>
+<row><entry>flv</entry><entry>
+ Sorenson H.263 used in Flash Video
+ </entry></row>
+<row><entry>dvvideo</entry><entry>
+ Sony Digital Video
+ </entry></row>
+<row><entry>snow</entry><entry>
+ FFmpeg's experimental wavelet-based codec
+ </entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+
+The first column contains the codec names that should be passed after the
+<literal>vcodec</literal> config, like: <option>-lavcopts vcodec=msmpeg4</option>
+</para>
+<informalexample>
+<para>
+An example with MJPEG compression:
+<screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
+</para>
+</informalexample>
+</sect2>
+
+<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
+<title><systemitem class="library">libavcodec</systemitem>'s audio codecs</title>
+<para>
+<informaltable frame="all">
+<tgroup cols="2">
+<thead>
+<row><entry>Audio codec name</entry><entry>Description</entry></row>
+</thead>
+<tbody>
+ <row>
+ <entry>mp2</entry>
+ <entry>MPEG Layer 2</entry>
+ </row>
+ <row>
+ <entry>ac3</entry>
+ <entry>AC3, AKA Dolby Digital</entry>
+ </row>
+ <row>
+ <entry>adpcm_ima_wav</entry>
+ <entry>IMA adaptive PCM (4 bits per sample, 4:1 compression)</entry>
+ </row>
+ <row>
+ <entry>sonic</entry>
+ <entry>experimental lossy/lossless codec</entry>
+ </row>
+</tbody>
+</tgroup>
+</informaltable>
+
+The first column contains the codec names that should be passed after the
+<literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option>
+</para>
+
+<informalexample>
+<para>
+An example with AC3 compression:
+<screen>mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
+</para>
+</informalexample>
+
+<para>
+ Contrary to <systemitem class="library">libavcodec</systemitem>'s video
+ codecs, its audio codecs do not make a wise usage of the bits they are
+ given as they lack some minimal psychoacoustic model (if at all)
+ which most other codec implementations feature.
+ However, note that all these audio codecs are very fast and work
+ out-of-the-box everywhere <application>MEncoder</application> has been
+ compiled with <systemitem class="library">libavcodec</systemitem> (which
+ is the case most of time), and do not depend on external libraries.
+</para>
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
+<title>Encoding options of libavcodec</title>
+
+<para>
+ Ideally, you would probably want to be able to just tell the encoder to switch
+ into "high quality" mode and move on.
+ That would probably be nice, but unfortunately hard to implement as different
+ encoding options yield different quality results depending on the source material.
+ That is because compression depends on the visual properties of the video
+ in question.
+ For example, anime and live action have very different properties and
+ thus require different options to obtain optimum encoding.
+ The good news is that some options should never be left out, like
+ <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
+ See below for a detailed description of common encoding options.
+</para>
+
+
+<itemizedlist>
+<title>Options to adjust:</title>
+<listitem><para>
+ <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
+ the movie.
+ Note that if you need to have your encode be decodable by DivX5, you
+ need to activate closed GOP support, using
+ <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option>
+ option, but you need to deactivate scene detection, which
+ is not a good idea as it will hurt encode efficiency a bit.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
+ On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
+ with vb_strategy=1 helps.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
+ and slower.
+ Negative values are a completely different scale.
+ Good values are -1 for a fast encode, or 2-4 for slower.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">predia</emphasis>: motion search pre-pass.
+ Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
+ to really be useful.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
+ motion estimation.
+ Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
+ distortion).
+ 0 is fastest, and sufficient for precmp.
+ For cmp and subcmp, 2 is good for anime, and 3 is good for live action.
+ 6 may or may not be slightly better, but is slow.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
+ take from the previous frame.
+ 1-3 or so help at little speed cost.
+ Higher values are slow for no extra gain.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of macroblocks.
+ Small speed cost for small quality gain.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
+ macroblock's complexity.
+ May help or hurt depending on the video and other options.
+ This can cause artifacts unless you set vqmax to some reasonably small value
+ (6 is good, maybe as low as 4); vqmin=1 should also help.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">qns</emphasis>: very slow, especially when combined
+ with qprd.
+ This option will make the encoder minimize noise due to compression
+ artifacts instead of making the encoded video strictly match the source.
+ Do not use this unless you have already tweaked everything else as far as it
+ will go and the results still are not good enough.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
+ What values are good depends on the movie.
+ You can safely leave this alone if you want.
+ Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
+ them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
+ 0.5-0.7).
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
+ elimination threshold for luminance and chroma planes.
+ These are encoded separately in all MPEG-like algorithms.
+ The idea behind these options is to use some good heuristics to determine
+ when the change in a block is less than the threshold you specify, and in
+ such a case, to just encode the block as "no change".
+ This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
+ seem to be good for live movies, but seem not to help with anime;
+ when encoding animation, you should probably leave them unchanged.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
+ MPEG-4 uses half pixel precision for its motion search by default,
+ therefore this option comes with an overhead as more information will be
+ stored in the encoded file.
+ The compression gain/loss depends on the movie, but it is usually not very
+ effective on anime.
+ qpel always incurs a significant cost in CPU decode time (+25% in
+ practice).
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
+ but writes a log file giving the type/size/quality of each frame, and
+ prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
+</para></listitem>
+
+</itemizedlist>
+
+<itemizedlist>
+<title>Options not recommended to play with:</title>
+<listitem><para>
+ <emphasis role="bold">vme</emphasis>: The default is best.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
+ quantization.
+ You do not want to play with those options if you care about quality.
+ Reasonable values may be effective in your case, but be warned this is very
+ subjective.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
+ artifacts, but postprocessing is better.
+</para></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2 id="menc-feat-mpeg4-lavc-example-settings">
+<title>Encoding setting examples</title>
+
+<para>
+ The following settings are examples of different encoding
+ option combinations that affect the speed vs quality tradeoff
+ at the same target bitrate.
+</para>
+
+<para>
+ All the encoding settings were tested on a 720x448 @30000/1001 fps
+ video sample, the target bitrate was 900kbps, and the machine was an
+ AMD-64 3400+ at 2400 MHz in 64 bits mode.
+ Each encoding setting features the measured encoding speed (in
+ frames per second) and the PSNR loss (in dB) compared to the "very
+ high quality" setting.
+ Please understand that depending on your source, your machine type
+ and development advancements, you may get very different results.
+</para>
+
+<para>
+<informaltable frame="all">
+<tgroup cols="4">
+<thead>
+<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
+</thead>
+<tbody>
+<row>
+ <entry>Very high quality</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
+ <entry>6fps</entry>
+ <entry>0dB</entry>
+</row>
+<row>
+ <entry>High quality</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
+ <entry>15fps</entry>
+ <entry>-0.5dB</entry>
+</row>
+<row>
+ <entry>Fast</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
+ <entry>42fps</entry>
+ <entry>-0.74dB</entry>
+</row>
+<row>
+ <entry>Realtime</entry>
+ <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
+ <entry>54fps</entry>
+ <entry>-1.21dB</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+</sect2>
+
+<sect2 id="custommatrices"><title>Custom inter/intra matrices</title>
+
+<para>
+With this feature of
+<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
+you are able to set custom inter (I-frames/keyframes) and intra
+(P-frames/predicted frames) matrices. It is supported by many of the codecs:
+<systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
+are reported as working.
+</para>
+
+<para>
+A typical usage of this feature is to set the matrices preferred by the
+<ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
+</para>
+
+<para>
+The <emphasis role="bold">KVCD &quot;Notch&quot; Quantization Matrix:</emphasis>
+</para>
+
+<para>
+Intra:
+<screen>
+ 8 9 12 22 26 27 29 34
+ 9 10 14 26 27 29 34 37
+12 14 18 27 29 34 37 38
+22 26 27 31 36 37 38 40
+26 27 29 36 39 38 40 48
+27 29 34 37 38 40 48 58
+29 34 37 38 40 48 58 69
+34 37 38 40 48 58 69 79
+</screen>
+
+Inter:
+<screen>
+16 18 20 22 24 26 28 30
+18 20 22 24 26 28 30 32
+20 22 24 26 28 30 32 34
+22 24 26 30 32 32 34 36
+24 26 28 32 34 34 36 38
+26 28 30 32 34 36 38 40
+28 30 32 34 36 38 42 42
+30 32 34 36 38 40 42 44
+</screen>
+</para>
+
+<para>
+Usage:
+<screen>
+$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
+</screen>
+</para>
+
+<para>
+<screen>
+$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
+vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
+12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
+29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
+:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
+28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
+36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
+</screen>
+</para>
+</sect2>
+
+
+<sect2 id="menc-feat-dvd-mpeg4-example">
+<title>Example</title>
+
+<para>
+ So, you have just bought your shiny new copy of Harry Potter and the Chamber
+ of Secrets (widescreen edition, of course), and you want to rip this DVD
+ so that you can add it to your Home Theatre PC. This is a region 1 DVD,
+ so it is NTSC. The example below will still apply to PAL, except you will
+ omit <option>-ofps 24000/1001</option> (because the output framerate is the
+ same as the input framerate), and of course the crop dimensions will be
+ different.
+</para>
+
+<para>
+ After running <option>mplayer dvd://1</option>, we follow the process
+ detailed in the section <link linkend="menc-feat-telecine">How to deal
+ with telecine and interlacing in NTSC DVDs</link> and discover that it is
+ 24000/1001 fps progressive video, which means that we need not use an inverse
+ telecine filter, such as <option>pullup</option> or
+ <option>filmdint</option>.
+</para>
+
+<para>
+ Next, we want to determine the appropriate crop rectangle, so we use the
+ cropdetect filter:
+
+ <screen>mplayer dvd://1 -vf cropdetect</screen>
+
+ Make sure you seek to a fully filled frame (such as a bright scene), and
+ you will see in <application>MPlayer</application>'s console output:
+
+ <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
+
+ We then play the movie back with this filter to test its correctness:
+
+ <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
+
+ And we see that it looks perfectly fine. Next, we ensure the width and
+ height are a multiple of 16. The width is fine, however the height is
+ not. Since we did not fail 7th grade math, we know that the nearest
+ multiple of 16 lower than 362 is 352.
+</para>
+
+<para>
+ We could just use <option>crop=720:352:0:58</option>, but it would be nice
+ to take a little off the top and a little off the bottom so that we
+ retain the center. We have shrunk the height by 10 pixels, but we do not
+ want to increase the y-offset by 5-pixels since that is an odd number and
+ will adversely affect quality. Instead, we will increase the y-offset by
+ 4 pixels:
+
+ <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
+
+ Another reason to shave pixels from both the top and the bottom is that we
+ ensure we have eliminated any half-black pixels if they exist. Note that if
+ your video is telecined, make sure the <option>pullup</option> filter (or
+ whichever inverse telecine filter you decide to use) appears in the filter
+ chain before you crop. If it is interlaced, deinterlace before cropping.
+ (If you choose to preserve the interlaced video, then make sure your
+ vertical crop offset is a multiple of 4.)
+</para>
+
+<para>
+ If you are really concerned about losing those 10 pixels, you might
+ prefer instead to scale the dimensions down to the nearest multiple of 16.
+ The filter chain would look like:
+
+ <screen>-vf crop=720:362:0:58,scale=720:352</screen>
+
+ Scaling the video down like this will mean that some small amount of
+ detail is lost, though it probably will not be perceptible. Scaling up will
+ result in lower quality (unless you increase the bitrate). Cropping
+ discards those pixels altogether. It is a tradeoff that you will want to
+ consider for each circumstance. For example, if the DVD video was made
+ for television, you might want to avoid vertical scaling, since the line
+ sampling corresponds to the way the content was originally recorded.
+</para>
+
+<para>
+ On inspection, we see that our movie has a fair bit of action and high
+ amounts of detail, so we pick 2400Kbit for our bitrate.
+</para>
+
+<para>
+ We are now ready to do the two pass encode. Pass one:
+
+ <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
+-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
+-o Harry_Potter_2.avi</screen>
+
+ And pass two is the same, except that we specify <option>vpass=2</option>:
+
+ <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
+-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
+-o Harry_Potter_2.avi</screen>
+</para>
+
+<para>
+ The options <option>v4mv:mbd=2:trell</option> will greatly increase the
+ quality at the expense of encoding time. There is little reason to leave
+ these options out when the primary goal is quality. The options
+ <option>cmp=3:subcmp=3:mbcmp=3</option> select a comparison function that
+ yields higher quality than the defaults. You might try experimenting with
+ this parameter (refer to the man page for the possible values) as
+ different functions can have a large impact on quality depending on the
+ source material. For example, if you find
+ <systemitem class="library">libavcodec</systemitem> produces too much
+ blocky artifacting, you could try selecting the experimental NSSE as
+ comparison function via <option>*cmp=10</option>.
+</para>
+
+<para>
+ For this movie, the resulting AVI will be 138 minutes long and nearly
+ 3GB. And because you said that file size does not matter, this is a
+ perfectly acceptable size. However, if you had wanted it smaller, you
+ could try a lower bitrate. Increasing bitrates have diminishing
+ returns, so while we might clearly see an improvement from 1800Kbit to
+ 2000Kbit, it might not be so noticeable above 2000Kbit. Feel
+ free to experiment until you are happy.
+</para>
+
+<para>
+ Because we passed the source video through a denoise filter, you may want
+ to add some of it back during playback. This, along with the
+ <option>spp</option> post-processing filter, drastically improves the
+ perception of quality and helps eliminate blocky artifacts in the video.
+ With <application>MPlayer</application>'s <option>autoq</option> option,
+ you can vary the amount of post-processing done by the spp filter
+ depending on available CPU. Also, at this point, you may want to apply
+ gamma and/or color correction to best suit your display. For example:
+
+ <screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
+
+</para>
+</sect2>
+</sect1>
+
+
+<sect1 id="menc-feat-xvid">
+<title>Encoding with the <systemitem class="library">XviD</systemitem>
+codec</title>
+<para>
+ <systemitem class="library">XviD</systemitem> is a free library for
+ encoding MPEG-4 ASP video streams.
+ Before starting to encode, you need to <link linkend="xvid">
+ set up <application>MEncoder</application> to support it</link>.
+</para>
+<para>
+ This guide mainly aims at featuring the same kind of information
+ as x264's encoding guide.
+ Therefore, please begin by reading
+ <link linkend="menc-feat-x264-encoding-options-intro">the first part</link>
+ of that guide.
+</para>
+
+
+<sect2 id="menc-feat-xvid-intro">
+<title>What options should I use to get the best results?</title>
+
+<para>
+ Please begin by reviewing the
+ <systemitem class="library">XviD</systemitem> section of
+ <application>MPlayer</application>'s man page.
+ This section is intended to be a supplement to the man page.
+</para>
+<para>
+ The XviD default settings are already a good tradeoff between
+ speed and quality, therefore you can safely stick to them if
+ the following section puzzles you.
+</para>
+</sect2>
+
+<sect2 id="menc-feat-xvid-encoding-options">
+<title>Encoding options of <systemitem class="library">XviD</systemitem></title>
+
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">vhq</emphasis>
+ This setting affects the macroblock decision algorithm, where the
+ higher the setting, the wiser the decision.
+ The default setting may be safely used for every encode, while
+ higher settings always help PSNR but are significantly slower.
+ Please note that a better PSNR does not necessarily mean
+ that the picture will look better, but tells you that it is
+ closer to the original.
+ Turning it off will noticeably speed up encoding; if speed is
+ critical for you, the tradeoff may be worth it.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">bvhq</emphasis>
+ This does the same job as vhq, but does it on B-frames.
+ It has a negligible impact on speed, and slightly improves quality
+ (around +0.1dB PSNR).
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">max_bframes</emphasis>
+ A higher number of consecutive allowed B-frames usually improves
+ compressibility, although it may also lead to more blocking artifacts.
+ The default setting is a good tradeoff between compressibility and
+ quality, but you may increase it up to 3 if you are bitrate-starved.
+ You may also decrease it to 1 or 0 if you are aiming at perfect
+ quality, though in that case you should make sure your
+ target bitrate is high enough to ensure that the encoder does not
+ have to increase quantizers to reach it.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">bf_threshold</emphasis>
+ This controls the B-frame sensitivity of the encoder, where a higher
+ value leads to more B-frames being used (and vice versa).
+ This setting is to be used together with <option>max_bframes</option>;
+ if you are bitrate-starved, you should increase both
+ <option>max_bframes</option> and <option>bf_threshold</option>,
+ while you may increase <option>max_bframes</option> and reduce
+ <option>bf_threshold</option> so that the encoder may use more
+ B-frames in places that only <emphasis role="bold">really</emphasis>
+ need them.
+ A low number of <option>max_bframes</option> and a high value of
+ <option>bf_threshold</option> is probably not a wise choice as it
+ will force the encoder to put B-frames in places that would not
+ benefit from them, therefore reducing visual quality.
+ However, if you need to be compatible with standalone players that
+ only support old DivX profiles (which only supports up to 1
+ consecutive B-frame), this would be your only way to
+ increase compressibility through using B-frames.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">trellis</emphasis>
+ Optimizes the quantization process to get an optimal tradeoff
+ between PSNR and bitrate, which allows significant bit saving.
+ These bits will in return be spent elsewhere on the video,
+ raising overall visual quality.
+ You should always leave it on as its impact on quality is huge.
+ Even if you are looking for speed, do not disable it until you
+ have turned down <option>vhq</option> and all other more
+ CPU-hungry options to the minimum.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">hq_ac</emphasis>
+ Activates a better coefficient cost estimation method, which slightly
+ reduces filesize by around 0.15 to 0.19% (which corresponds to less
+ than 0.01dB PSNR increase), while having a negligible impact on speed.
+ It is therefore recommended to always leave it on.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">cartoon</emphasis>
+ Designed to better encode cartoon content, and has no impact on
+ speed as it just tunes the mode decision heuristics for this type
+ of content.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">me_quality</emphasis>
+ This setting is to control the precision of the motion estimation.
+ The higher <option>me_quality</option>, the more
+ precise the estimation of the original motion will be, and the
+ better the resulting clip will capture the original motion.
+ </para>
+ <para>
+ The default setting is best in all cases;
+ thus it is not recommended to turn it down unless you are
+ really looking for speed, as all the bits saved by a good motion
+ estimation would be spent elsewhere, raising overall quality.
+ Therefore, do not go any lower than 5, and even that only as a last
+ resort.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">chroma_me</emphasis>
+ Improves motion estimation by also taking the chroma (color)
+ information into account, whereas <option>me_quality</option>
+ alone only uses luma (grayscale).
+ This slows down encoding by 5-10% but improves visual quality
+ quite a bit by reducing blocking effects and reduces filesize by
+ around 1.3%.
+ If you are looking for speed, you should disable this option before
+ starting to consider reducing <option>me_quality</option>.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">chroma_opt</emphasis>
+ Is intended to increase chroma image quality around pure
+ white/black edges, rather than improving compression.
+ This can help to reduce the "red stairs" effect.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">lumi_mask</emphasis>
+ Tries to give less bitrate to part of the picture that the
+ human eye cannot see very well, which should allow the encoder
+ to spend the saved bits on more important parts of the picture.
+ The quality of the encode yielded by this option highly depends
+ on personal preferences and on the type and monitor settings
+ used to watch it (typically, it will not look as good if it is
+ bright or if it is a TFT monitor).
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">qpel</emphasis>
+ Raise the number of candidate motion vectors by increasing
+ the precision of the motion estimation from halfpel to
+ quarterpel.
+ The idea is to find better motion vectors which will in return
+ reduce bitrate (hence increasing quality).
+ However, motion vectors with quarterpel precision require a
+ few extra bits to code, but the candidate vectors do not always
+ give (much) better results.
+ Quite often, the codec still spends bits on the extra precision,
+ but little or no extra quality is gained in return.
+ Unfortunately, there is no way to foresee the possible gains of
+ <option>qpel</option>, so you need to actually encode with and
+ without it to know for sure.
+ </para><para>
+ <option>qpel</option> can be almost double encoding time, and
+ requires as much as 25% more processing power to decode.
+ It is not supported by all standalone players.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">gmc</emphasis>
+ Tries to save bits on panning scenes by using a single motion
+ vector for the whole frame.
+ This almost always raises PSNR, but significantly slows down
+ encoding (as well as decoding).
+ Therefore, you should only use it when you have turned
+ <option>vhq</option> to the maximum.
+ <systemitem class="library">XviD</systemitem>'s GMC is more
+ sophisticated than DivX's, but is only supported by few
+ standalone players.
+</para></listitem>
+
+</itemizedlist>
+</sect2>
+
+<sect2 id="menc-feat-xvid-encoding-profiles">
+<title>Encoding profiles</title>
+<para>
+ XviD supports encoding profiles through the <option>profile</option> option,
+ which are used to impose restrictions on the properties of the XviD video
+ stream such that it will be playable on anything which supports the
+ chosen profile.
+ The restrictions relate to resolutions, bitrates and certain MPEG-4
+ features.
+ The following table shows what each profile supports.
+</para>
+<informaltable>
+<tgroup cols="16" align="center">
+<colspec colnum="1" colname="col1"/>
+<colspec colnum="2" colname="col2"/>
+<colspec colnum="3" colname="col3"/>
+<colspec colnum="4" colname="col4"/>
+<colspec colnum="5" colname="col5"/>
+<colspec colnum="6" colname="col6"/>
+<colspec colnum="7" colname="col7"/>
+<colspec colnum="8" colname="col8"/>
+<colspec colnum="9" colname="col9"/>
+<colspec colnum="10" colname="col10"/>
+<colspec colnum="11" colname="col11"/>
+<colspec colnum="12" colname="col12"/>
+<colspec colnum="13" colname="col13"/>
+<colspec colnum="14" colname="col14"/>
+<colspec colnum="15" colname="col15"/>
+<colspec colnum="16" colname="col16"/>
+<colspec colnum="17" colname="col17"/>
+<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
+<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
+<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
+ <tbody>
+ <row>
+ <entry></entry>
+ <entry spanname="spa2-5">Simple</entry>
+ <entry spanname="spa6-11">Advanced Simple</entry>
+ <entry spanname="spa12-17">DivX</entry>
+ </row>
+ <row>
+ <entry>Profile name</entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ <entry>3</entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ <entry>3</entry>
+ <entry>4</entry>
+ <entry>5</entry>
+ <entry>Handheld</entry>
+ <entry>Portable NTSC</entry>
+ <entry>Portable PAL</entry>
+ <entry>Home Theater NTSC</entry>
+ <entry>Home Theater PAL</entry>
+ <entry>HDTV</entry>
+ </row>
+ <row>
+ <entry>Width [pixels]</entry>
+ <entry>176</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>176</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>720</entry>
+ <entry>176</entry>
+ <entry>352</entry>
+ <entry>352</entry>
+ <entry>720</entry>
+ <entry>720</entry>
+ <entry>1280</entry>
+ </row>
+ <row>
+ <entry>Height [pixels]</entry>
+ <entry>144</entry>
+ <entry>144</entry>
+ <entry>288</entry>
+ <entry>288</entry>
+ <entry>144</entry>
+ <entry>144</entry>
+ <entry>288</entry>
+ <entry>288</entry>
+ <entry>576</entry>
+ <entry>576</entry>
+ <entry>144</entry>
+ <entry>240</entry>
+ <entry>288</entry>
+ <entry>480</entry>
+ <entry>576</entry>
+ <entry>720</entry>
+ </row>
+ <row>
+ <entry>Frame rate [fps]</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>30</entry>
+ <entry>15</entry>
+ <entry>30</entry>
+ <entry>25</entry>
+ <entry>30</entry>
+ <entry>25</entry>
+ <entry>30</entry>
+ </row>
+ <row>
+ <entry>Max average bitrate [kbps]</entry>
+ <entry>64</entry>
+ <entry>64</entry>
+ <entry>128</entry>
+ <entry>384</entry>
+ <entry>128</entry>
+ <entry>128</entry>
+ <entry>384</entry>
+ <entry>768</entry>
+ <entry>3000</entry>
+ <entry>8000</entry>
+ <entry>537.6</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>4854</entry>
+ <entry>9708.4</entry>
+ </row>
+ <row>
+ <entry>Peak average bitrate over 3 secs [kbps]</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>800</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>8000</entry>
+ <entry>16000</entry>
+ </row>
+ <row>
+ <entry>Max. B-frames</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry>0</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>0</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>1</entry>
+ <entry>2</entry>
+ </row>
+ <row>
+ <entry>MPEG quantization</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>Adaptive quantization</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ </row>
+ <row>
+ <entry>Interlaced encoding</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ </row>
+ <row>
+ <entry>Quaterpixel</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>Global motion compensation</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry>X</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ </tbody>
+</tgroup>
+</informaltable>
+</sect2>
+
+<sect2 id="menc-feat-xvid-example-settings">
+<title>Encoding setting examples</title>
+
+<para>
+ The following settings are examples of different encoding
+ option combinations that affect the speed vs quality tradeoff
+ at the same target bitrate.
+</para>
+
+<para>
+ All the encoding settings were tested on a 720x448 @30000/1001 fps
+ video sample, the target bitrate was 900kbps, and the machine was an
+ AMD-64 3400+ at 2400 MHz in 64 bits mode.
+ Each encoding setting features the measured encoding speed (in
+ frames per second) and the PSNR loss (in dB) compared to the "very
+ high quality" setting.
+ Please understand that depending on your source, your machine type
+ and development advancements, you may get very different results.
+</para>
+
+<para>
+<informaltable frame="all">
+<tgroup cols="4">
+<thead>
+<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
+</thead>
+<tbody>
+<row>
+ <entry>Very high quality</entry>
+ <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
+ <entry>16fps</entry>
+ <entry>0dB</entry>
+</row>
+<row>
+ <entry>High quality</entry>
+ <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
+ <entry>18fps</entry>
+ <entry>-0.1dB</entry>
+</row>
+<row>
+ <entry>Fast</entry>
+ <entry><option>turbo:vhq=0</option></entry>
+ <entry>28fps</entry>
+ <entry>-0.69dB</entry>
+</row>
+<row>
+ <entry>Realtime</entry>
+ <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
+ <entry>38fps</entry>
+ <entry>-1.48dB</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+</sect2>
+
+</sect1>
+
+<sect1 id="menc-feat-x264">
+<title>Encoding with the <systemitem class="library">x264</systemitem> codec</title>
+<para>
+ <systemitem class="library">x264</systemitem> is a free library for
+ encoding H.264/AVC video streams.
+ Before starting to encode, you need to <link linkend="codec-x264-encode">
+ set up <application>MEncoder</application> to support it</link>.
+</para>
+
+<sect2 id="menc-feat-x264-encoding-options">
+<title>Encoding options of x264</title>
+
+<para>
+ Please begin by reviewing the
+ <systemitem class="library">x264</systemitem> section of
+ <application>MPlayer</application>'s man page.
+ This section is intended to be a supplement to the man page.
+ Here you will find quick hints about which options are most
+ likely to interest most people. The man page is more terse,
+ but also more exhaustive, and it sometimes offers much better
+ technical detail.
+</para>
+
+<sect3 id="menc-feat-x264-encoding-options-intro">
+<title>Introduction</title>
+<para>This guide considers two major categories of encoding options:</para>
+
+<orderedlist>
+ <listitem><para>Options which mainly trade off encoding time vs. quality
+ </para></listitem>
+ <listitem><para>Options which may be useful for fulfilling various personal
+ preferences and special requirements</para></listitem>
+</orderedlist>
+
+<para>
+ Ultimately, only you can decide which options are best for your
+ purposes. The decision for the first class of options is the simplest:
+ you only have to decide whether you think the quality differences
+ justify the speed differences. For the second class of options,
+ preferences may be far more subjective, and more factors may be
+ involved. Note that some of the "personal preferences and special
+ requirements" options can still have large impacts on speed or quality,
+ but that is not what they are primarily useful for. A couple of the
+ "personal preference" options may even cause changes that look better
+ to some people, but look worse to others.
+</para>
+
+<para>
+ Before continuing, you need to understand that this guide uses only one
+ quality metric: global PSNR.
+ For a brief explanation of what PSNR is, see
+ <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
+ Global PSNR is the last PSNR number reported when you include
+ the <option>psnr</option> option in <option>x264encopts</option>.
+ Any time you read a claim about PSNR, one of the assumptions
+ behind the claim is that equal bitrates are used.
+</para>
+
+<para>
+ Nearly all of this guide's comments assume you are using
+ two pass.
+ When comparing options, there are two major reasons for using
+ two pass encoding.
+ First, using two pass often gains around 1dB PSNR, which is a
+ very big difference.
+ Secondly, testing options by doing direct quality comparisons
+ with one pass encodes introduces a major confounding
+ factor: bitrate often varies significantly with each encode.
+ It is not always easy to tell whether quality changes are due
+ mainly to changed options, or if they mostly reflect essentially
+ random differences in the achieved bitrate.
+</para>
+
+</sect3>
+
+<sect3 id="menc-feat-x264-encoding-options-speedvquality">
+<title>Options which primarily affect speed and quality</title>
+
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">subq</emphasis>:
+ Of the options which allow you to trade off speed for quality,
+ <option>subq</option> and <option>frameref</option> (see below) are usually
+ by far the most important.
+ If you are interested in tweaking either speed or quality, these
+ are the first options you should consider.
+ On the speed dimension, the <option>frameref</option> and
+ <option>subq</option> options interact with each other fairly
+ strongly.
+ Experience shows that, with one reference frame,
+ <option>subq=5</option> (the default setting) takes about 35% more time than
+ <option>subq=1</option>.
+ With 6 reference frames, the penalty grows to over 60%.
+ <option>subq</option>'s effect on PSNR seems fairly constant
+ regardless of the number of reference frames.
+ Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global
+ PSNR in comparison <option>subq=1</option>.
+ This is usually enough to be visible.
+</para>
+<para>
+ <option>subq=6</option> is the slowest, highest quality mode.
+ In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB
+ global PSNR with speed costs varying from 25%-100%.
+ Unlike other levels of <option>subq</option>, the behavior of
+ <option>subq=6</option> does not depend much on <option>frameref</option>
+ and <option>me</option>. Instead, the effectiveness of <option>subq=6
+ </option> depends mostly upon the number of B-frames used. In normal
+ usage, this means <option>subq=6</option> has a large impact on both speed
+ and quality in complex, high motion scenes, but it may not have much effect
+ in low-motion scenes. Note that it is still recommended to always set
+ <option>bframes</option> to something other than zero (see below).
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">frameref</emphasis>:
+ <option>frameref</option> is set to 1 by default, but this
+ should not be taken to imply that it is reasonable to set it
+ to 1.
+ Merely raising <option>frameref</option> to 2 gains around
+ 0.15dB PSNR with a 5-10% speed penalty; this seems like a
+ good tradeoff.
+ <option>frameref=3</option> gains around 0.25dB PSNR over
+ <option>frameref=1</option>, which should be a visible
+ difference.
+ <option>frameref=3</option> is around 15% slower than
+ <option>frameref=1</option>.
+ Unfortunately, diminishing returns set in rapidly.
+ <option>frameref=6</option> can be expected to gain only
+ 0.05-0.1 dB over <option>frameref=3</option> at an additional
+ 15% speed penalty.
+ Above <option>frameref=6</option>, the quality gains are
+ usually very small (although you should keep in mind throughout
+ this whole discussion that it can vary quite a lot depending on
+ your source).
+ In a fairly typical case, <option>frameref=12</option>
+ will improve global PSNR by a tiny 0.02dB over
+ <option>frameref=6</option>, at a speed cost of 15%-20%.
+ At such high <option>frameref</option> values, the only really
+ good thing that can be said is that increasing it even further will
+ almost certainly never <emphasis role="bold">harm</emphasis>
+ PSNR, but the additional quality benefits are barely even
+ measurable, let alone perceptible.
+</para>
+<note><title>Note:</title>
+<para>
+ Raising <option>frameref</option> to unnecessarily high values
+ <emphasis role="bold">can</emphasis> and
+ <emphasis role="bold">usually does</emphasis>
+ hurt coding efficiency if you turn CABAC off.
+ With CABAC on (the default behavior), the possibility of setting
+ <option>frameref</option> "too high" currently seems too remote
+ to even worry about, and in the future, optimizations may remove
+ the possibility altogether.
+</para>
+</note>
+<para>
+ If you care about speed, a reasonable compromise is to use low
+ <option>subq</option> and <option>frameref</option> values on
+ the first pass, and then raise them on the second pass.
+ Typically, this has a negligible negative effect on the final
+ quality: You will probably lose well under 0.1dB PSNR, which
+ should be much too small of a difference to see.
+ However, different values of <option>frameref</option> can
+ occasionally affect frametype decision.
+ Most likely, these are rare outlying cases, but if you want to
+ be pretty sure, consider whether your video has either
+ fullscreen repetitive flashing patterns or very large temporary
+ occlusions which might force an I-frame.
+ Adjust the first-pass <option>frameref</option> so it is large
+ enough to contain the duration of the flashing cycle (or occlusion).
+ For example, if the scene flashes back and forth between two images
+ over a duration of three frames, set the first pass
+ <option>frameref</option> to 3 or higher.
+ This issue is probably extremely rare in live action video material,
+ but it does sometimes come up in video game captures.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">me</emphasis>:
+ This option is for choosing the motion estimation search method.
+ Altering this option provides a straightforward quality-vs-speed
+ tradeoff. <option>me=dia</option> is only a few percent faster than
+ the default search, at a cost of under 0.1dB global PSNR. The
+ default setting (<option>me=hex</option>) is a reasonable tradeoff
+ between speed and quality. <option>me=umh</option> gains a little under
+ 0.1dB global PSNR, with a speed penalty that varies depending on
+ <option>frameref</option>. At high values of
+ <option>frameref</option> (e.g. 12 or so), <option>me=umh</option>
+ is about 40% slower than the default <option> me=hex</option>. With
+ <option>frameref=3</option>, the speed penalty incurred drops to
+ 25%-30%.
+</para>
+<para>
+ <option>me=esa</option> uses an exhaustive search that is too slow for
+ practical use.
+</para>
+</listitem>
+
+<listitem><para>
+ <emphasis role="bold">partitions=all</emphasis>:
+ This option enables the use of 8x4, 4x8 and 4x4 subpartitions in
+ predicted macroblocks (in addition to the default partitions).
+ Enabling it results in a fairly consistent
+ 10%-15% loss of speed. This option is rather useless in source
+ containing only low motion, however in some high-motion source,
+ particularly source with lots of small moving objects, gains of
+ about 0.1dB can be expected.
+</para>
+</listitem>
+
+<listitem><para>
+ <emphasis role="bold">bframes</emphasis>:
+ If you are used to encoding with other codecs, you may have found
+ that B-frames are not always useful.
+ In H.264, this has changed: there are new techniques and block
+ types that are possible in B-frames.
+ Usually, even a naive B-frame choice algorithm can have a
+ significant PSNR benefit.
+ It is interesting to note that using B-frames usually speeds up
+ the second pass somewhat, and may also speed up a single
+ pass encode if adaptive B-frame decision is turned off.
+</para>
+<para>
+ With adaptive B-frame decision turned off
+ (<option>x264encopts</option>'s <option>nob_adapt</option>),
+ the optimal value for this setting is usually no more than
+ <option>bframes=1</option>, or else high-motion scenes can suffer.
+ With adaptive B-frame decision on (the default behavior), it is
+ safe to use higher values; the encoder will reduce the use of
+ B-frames in scenes where they would hurt compression.
+ The encoder rarely chooses to use more than 3 or 4 B-frames;
+ setting this option any higher will have little effect.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">b_adapt</emphasis>:
+ Note: This is on by default.
+</para>
+<para>
+ With this option enabled, the encoder will use a reasonably fast
+ decision process to reduce the number of B-frames used in scenes that
+ might not benefit from them as much.
+ You can use <option>b_bias</option> to tweak how B-frame-happy
+ the encoder is.
+ The speed penalty of adaptive B-frames is currently rather modest,
+ but so is the potential quality gain.
+ It usually does not hurt, however.
+ Note that this only affects speed and frametype decision on the
+ first pass.
+ <option>b_adapt</option> and <option>b_bias</option> have no
+ effect on subsequent passes.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">b_pyramid</emphasis>:
+ You might as well enable this option if you are using >=2 B-frames;
+ as the man page says, you get a little quality improvement at no
+ speed cost.
+ Note that these videos cannot be read by libavcodec-based decoders
+ older than about March 5, 2005.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">weight_b</emphasis>:
+ In typical cases, there is not much gain with this option.
+ However, in crossfades or fade-to-black scenes, weighted
+ prediction gives rather large bitrate savings.
+ In MPEG-4 ASP, a fade-to-black is usually best coded as a series
+ of expensive I-frames; using weighted prediction in B-frames
+ makes it possible to turn at least some of these into much smaller
+ B-frames.
+ Encoding time cost is minimal, as no extra decisions need to be made.
+ Also, contrary to what some people seem to guess, the decoder
+ CPU requirements are not much affected by weighted prediction,
+ all else being equal.
+</para>
+<para>
+ Unfortunately, the current adaptive B-frame decision algorithm
+ has a strong tendency to avoid B-frames during fades.
+ Until this changes, it may be a good idea to add
+ <option>nob_adapt</option> to your x264encopts, if you expect
+ fades to have a large effect in your particular video
+ clip.
+</para></listitem>
+</itemizedlist>
+</sect3>
+
+<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
+<title>Options pertaining to miscellaneous preferences</title>
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">Two pass encoding</emphasis>:
+ Above, it was suggested to always use two pass encoding, but there
+ are still reasons for not using it. For instance, if you are capturing
+ live TV and encoding in realtime, you are forced to use single-pass.
+ Also, one pass is obviously faster than two passes; if you use the
+ exact same set of options on both passes, two pass encoding is almost
+ twice as slow.
+</para>
+<para>
+ Still, there are very good reasons for using two pass encoding. For
+ one thing, single pass ratecontrol is not psychic, and it often makes
+ unreasonable choices because it cannot see the big picture. For example,
+ suppose you have a two minute long video consisting of two distinct
+ halves. The first half is a very high-motion scene lasting 60 seconds
+ which, in isolation, requires about 2500kbps in order to look decent.
+ Immediately following it is a much less demanding 60-second scene
+ that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
+ that this is enough to accomodate both scenes. Single pass ratecontrol
+ will make a couple of "mistakes" in such a case. First of all, it
+ will target 1400kbps in both segments. The first segment may end up
+ heavily overquantized, causing it to look unacceptably and unreasonably
+ blocky. The second segment will be heavily underquantized; it may look
+ perfect, but the bitrate cost of that perfection will be completely
+ unreasonable. What is even harder to avoid is the problem at the
+ transition between the two scenes. The first seconds of the low motion
+ half will be hugely over-quantized, because the ratecontrol is still
+ expecting the kind of bitrate requirements it met in the first half
+ of the video. This "error period" of heavily over-quantized low motion
+ will look jarringly bad, and will actually use less than the 300kbps
+ it would have taken to make it look decent. There are ways to
+ mitigate the pitfalls of single-pass encoding, but they may tend to
+ increase bitrate misprediction.
+</para>
+<para>
+ Multipass ratecontrol can offer huge advantages over a single pass.
+ Using the statistics gathered from the first pass encode, the encoder
+ can estimate, with reasonable accuracy, the "cost" (in bits) of
+ encoding any given frame, at any given quantizer. This allows for
+ a much more rational, better planned allocation of bits between the
+ expensive (high-motion) and cheap (low-motion) scenes. See
+ <option>qcomp</option> below for some ideas on how to tweak this
+ allocation to your liking.
+</para>
+<para>
+ Moreover, two passes need not take twice as long as one pass. You can
+ tweak the options in the first pass for higher speed and lower quality.
+ If you choose your options well, you can get a very fast first pass.
+ The resulting quality in the second pass will be slightly lower because size
+ prediction is less accurate, but the quality difference is normally much
+ too small to be visible. Try, for example, adding
+ <option>subq=1:frameref=1</option> to the first pass
+ <option>x264encopts</option>. Then, on the second pass, use slower,
+ higher-quality options:
+ <option>subq=6:frameref=15:partitions=all:me=umh</option>
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">Three pass encoding</emphasis>?
+
+ x264 offers the ability to make an arbitrary number of consecutive
+ passes. If you specify <option>pass=1</option> on the first pass,
+ then use <option>pass=3</option> on a subsequent pass, the subsequent
+ pass will both read the statistics from the previous pass, and write
+ its own statistics. An additional pass following this one will have
+ a very good base from which to make highly accurate predictions of
+ framesizes at a chosen quantizer. In practice, the overall quality
+ gain from this is usually close to zero, and quite possibly a third
+ pass will result in slightly worse global PSNR than the pass before
+ it. In typical usage, three passes help if you get either bad bitrate
+ prediction or bad looking scene transitions when using only two passes.
+ This is somewhat likely to happen on extremely short clips. There are
+ also a few special cases in which three (or more) passes are handy
+ for advanced users, but for brevity, this guide omits discussing those
+ special cases.
+
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">qcomp</emphasis>:
+ <option>qcomp</option> trades off the number of bits allocated
+ to "expensive" high-motion versus "cheap" low-motion frames. At
+ one extreme, <option>qcomp=0</option> aims for true constant
+ bitrate. Typically this would make high-motion scenes look completely
+ awful, while low-motion scenes would probably look absolutely
+ perfect, but would also use many times more bitrate than they
+ would need in order to look merely excellent. At the other extreme,
+ <option>qcomp=1</option> achieves nearly constant quantization parameter
+ (QP). Constant QP does not look bad, but most people think it is more
+ reasonable to shave some bitrate off of the extremely expensive scenes
+ (where the loss of quality is not as noticeable) and reallocate it to
+ the scenes that are easier to encode at excellent quality.
+ <option>qcomp</option> is set to 0.6 by default, which may be slightly
+ low for many peoples' taste (0.7-0.8 are also commonly used).
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">keyint</emphasis>:
+ <option>keyint</option> is solely for trading off file seekability against
+ coding efficiency. By default, <option>keyint</option> is set to 250. In
+ 25fps material, this guarantees the ability to seek to within 10 seconds
+ precision. If you think it would be important and useful to be able to
+ seek within 5 seconds of precision, set <option>keyint=125</option>;
+ this will hurt quality/bitrate slightly. If you care only about quality
+ and not about seekability, you can set it to much higher values
+ (understanding that there are diminishing returns which may become
+ vanishingly low, or even zero). The video stream will still have seekable
+ points as long as there are some scene changes.
+</para></listitem>
+<listitem><para>
+ <emphasis role="bold">deblock</emphasis>:
+ This topic is going to be a bit controversial.
+</para>
+<para>
+ H.264 defines a simple deblocking procedure on I-blocks that uses
+ pre-set strengths and thresholds depending on the QP of the block
+ in question.
+ By default, high QP blocks are filtered heavily, and low QP blocks
+ are not deblocked at all.
+ The pre-set strengths defined by the standard are well-chosen and
+ the odds are very good that they are PSNR-optimal for whatever
+ video you are trying to encode.
+ The <option>deblock</option> allow you to specify offsets to the preset deblocking
+ thresholds.
+</para>
+<para>
+ Many people seem to think it is a good idea to lower the deblocking
+ filter strength by large amounts (say, -3).
+ This is however almost never a good idea, and in most cases,
+ people who are doing this do not understand very well how
+ deblocking works by default.
+</para>
+<para>
+ The first and most important thing to know about the in-loop
+ deblocking filter is that the default thresholds are almost always
+ PSNR-optimal.
+ In the rare cases that they are not optimal, the ideal offset is
+ plus or minus 1.
+ Adjusting deblocking parameters by a larger amount is almost
+ guaranteed to hurt PSNR.
+ Strengthening the filter will smear more details; weakening the
+ filter will increase the appearance of blockiness.
+</para>
+<para>
+ It is definitely a bad idea to lower the deblocking thresholds if
+ your source is mainly low in spacial complexity (i.e., not a lot
+ of detail or noise).
+ The in-loop filter does a rather excellent job of concealing
+ the artifacts that occur.
+ If the source is high in spacial complexity, however, artifacts
+ are less noticeable.
+ This is because the ringing tends to look like detail or noise.
+ Human visual perception easily notices when detail is removed,
+ but it does not so easily notice when the noise is wrongly
+ represented.
+ When it comes to subjective quality, noise and detail are somewhat
+ interchangeable.
+ By lowering the deblocking filter strength, you are most likely
+ increasing error by adding ringing artifacts, but the eye does
+ not notice because it confuses the artifacts with detail.
+</para>
+
+<para>
+ This <emphasis role="bold">still</emphasis> does not justify
+ lowering the deblocking filter strength, however.
+ You can generally get better quality noise from postprocessing.
+ If your H.264 encodes look too blurry or smeared, try playing with
+ <option>-vf noise</option> when you play your encoded movie.
+ <option>-vf noise=8a:4a</option> should conceal most mild
+ artifacting.
+ It will almost certainly look better than the results you
+ would have gotten just by fiddling with the deblocking filter.
+</para></listitem>
+</itemizedlist>
+</sect3>
+</sect2>
+
+<sect2 id="menc-feat-x264-example-settings">
+<title>Encoding setting examples</title>
+
+<para>
+ The following settings are examples of different encoding
+ option combinations that affect the speed vs quality tradeoff
+ at the same target bitrate.
+</para>
+
+<para>
+ All the encoding settings were tested on a 720x448 @30000/1001 fps
+ video sample, the target bitrate was 900kbps, and the machine was an
+ AMD-64 3400+ at 2400 MHz in 64 bits mode.
+ Each encoding setting features the measured encoding speed (in
+ frames per second) and the PSNR loss (in dB) compared to the "very
+ high quality" setting.
+ Please understand that depending on your source, your machine type
+ and development advancements, you may get very different results.
+</para>
+
+<para>
+<informaltable frame="all">
+<tgroup cols="4">
+<thead>
+<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
+</thead>
+<tbody>
+<row>
+ <entry>Very high quality</entry>
+ <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
+ <entry>6fps</entry>
+ <entry>0dB</entry>
+</row>
+<row>
+ <entry>High quality</entry>
+ <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
+ <entry>13fps</entry>
+ <entry>-0.89dB</entry>
+</row>
+<row>
+ <entry>Fast</entry>
+ <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
+ <entry>17fps</entry>
+ <entry>-1.48dB</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+</sect2>
+
+</sect1>
+
+<sect1 id="menc-feat-video-for-windows">
+<title>Encoding with the <systemitem class="library">Video For Windows</systemitem> codec family</title>
+
+<para>
+Video for Windows provides simple encoding by means of binary video codecs.
+You can encode with the following codecs (if you have more, please tell us!)
+</para>
+<para>
+Note that support for this is very experimental and some codecs may not work
+correctly. Some codecs will only work in certain colorspaces, try
+<option>-vf format=bgr24</option> and <option>-vf format=yuy2</option>
+if a codec fails or gives wrong output.
+</para>
+
+<sect2 id="menc-feat-enc-vfw-video-codecs">
+<title>Video for Windows supported codecs</title>
+
+<para>
+<informaltable frame="all">
+<tgroup cols="4">
+<thead>
+<row>
+<entry>Video codec file name</entry>
+<entry>Description (FourCC)</entry>
+<entry>md5sum</entry>
+<entry>Comment</entry>
+</row>
+</thead>
+<tbody>
+<row>
+ <entry>aslcodec_vfw.dll</entry>
+ <entry>Alparysoft lossless codec vfw (ASLC)</entry>
+ <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>avimszh.dll</entry>
+ <entry>AVImszh (MSZH)</entry>
+ <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
+ <entry>needs <option>-vf format</option></entry>
+</row>
+<row>
+ <entry>avizlib.dll</entry>
+ <entry>AVIzlib (ZLIB)</entry>
+ <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>divx.dll</entry>
+ <entry>DivX4Windows-VFW</entry>
+ <entry>acf35b2fc004a89c829531555d73f1e6</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>huffyuv.dll</entry>
+ <entry>HuffYUV (lossless) (HFYU)</entry>
+ <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>iccvid.dll</entry>
+ <entry>Cinepak Video (cvid)</entry>
+ <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>icmw_32.dll</entry>
+ <entry>Motion Wavelets (MWV1)</entry>
+ <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>jp2avi.dll</entry>
+ <entry>ImagePower MJPEG2000 (IPJ2)</entry>
+ <entry>d860a11766da0d0ea064672c6833768b</entry>
+ <entry><option>-vf flip</option></entry>
+</row>
+<row>
+ <entry>m3jp2k32.dll</entry>
+ <entry>Morgan MJPEG2000 (MJ2C)</entry>
+ <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>m3jpeg32.dll</entry>
+ <entry>Morgan Motion JPEG Codec (MJPG)</entry>
+ <entry>1cd13fff5960aa2aae43790242c323b1</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>mpg4c32.dll</entry>
+ <entry>Microsoft MPEG-4 v1/v2</entry>
+ <entry>b5791ea23f33010d37ab8314681f1256</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>tsccvid.dll</entry>
+ <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
+ <entry>8230d8560c41d444f249802a2700d1d5</entry>
+ <entry>shareware error on windows</entry>
+</row>
+<row>
+ <entry>vp31vfw.dll</entry>
+ <entry>On2 Open Source VP3 Codec (VP31)</entry>
+ <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>vp4vfw.dll</entry>
+ <entry>On2 VP4 Personal Codec (VP40)</entry>
+ <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>vp6vfw.dll</entry>
+ <entry>On2 VP6 Personal Codec (VP60)</entry>
+ <entry>04d635a364243013898fd09484f913fb</entry>
+ <entry>crashing on Linux</entry>
+</row>
+<row>
+ <entry>vp7vfw.dll</entry>
+ <entry>On2 VP7 Personal Codec (VP70)</entry>
+ <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
+ <entry>wrong FourCC?</entry>
+</row>
+<row>
+ <entry>ViVD2.dll</entry>
+ <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
+ <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
+ <entry></entry>
+</row>
+<row>
+ <entry>msulvc06.DLL</entry>
+ <entry>MSU Lossless codec (MSUD)</entry>
+ <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
+ <entry>
+ Decodable by <application>Window Media Player</application>,
+ not <application>MPlayer</application> (yet).
+ </entry>
+</row>
+<row>
+ <entry>camcodec.dll</entry>
+ <entry>CamStudio lossless video codec (CSCD)</entry>
+ <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
+ <entry>sf.net/projects/camstudio</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+The first column contains the codec names that should be passed after the
+<literal>codec</literal> parameter, like: <option>-xvfwopts codec=divx.dll</option>
+The FourCC code used by each codec is given in the parentheses.
+</para>
+<informalexample>
+<para>
+An example with VP3 compression:
+<screen>mencoder dvd://2 -o title2.avi -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy</screen>
+</para>
+</informalexample>
+</sect2>
+</sect1>
+
+
+<sect1 id="menc-feat-vcd-dvd">
+<title>Using <application>MEncoder</application> to create VCD/SVCD/DVD-compliant files.</title>
+
+<sect2 id="menc-feat-vcd-dvd-constraints">
+<title>Format Constraints</title>
+<para>
+ <application>MEncoder</application> is capable of creating VCD, SCVD
+ and DVD format MPEG files using the
+ <systemitem class="library">libavcodec</systemitem> library.
+ These files can then be used in conjunction with
+ <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
+ or
+ <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
+ to create discs that will play on a standard set-top player.
+</para>
+
+<para>
+ The DVD, SVCD, and VCD formats are subject to heavy constraints.
+ Only a small selection of encoded picture sizes and aspect ratios are
+ available.
+ If your movie does not already meet these requirements, you may have
+ to scale,crop or add black borders to the picture to make it
+ compliant.
+</para>
+
+<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
+<title>Format Constraints</title>
+
+<informaltable frame="all">
+<tgroup cols="9">
+<thead>
+ <row>
+ <entry>Format</entry>
+ <entry>Resolution</entry>
+ <entry>V. Codec</entry>
+ <entry>V. Bitrate</entry>
+ <entry>Sample Rate</entry>
+ <entry>A. Codec</entry>
+ <entry>A. Bitrate</entry>
+ <entry>FPS</entry>
+ <entry>Aspect</entry>
+ </row>
+</thead>
+<tbody>
+ <row>
+ <entry>NTSC DVD</entry>
+ <entry>720x480, 704x480, 352x480, 352x240</entry>
+ <entry>MPEG-2</entry>
+ <entry>9800 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>30000/1001, 24000/1001</entry>
+ <entry>4:3, 16:9 (only for 720x480)</entry>
+ </row>
+ <row>
+ <entry>NTSC DVD</entry>
+ <entry>352x240<footnote id='fn-rare-resolutions'><para>
+ These resolutions are rarely used for DVDs because
+ they are fairly low quality.</para></footnote></entry>
+ <entry>MPEG-1</entry>
+ <entry>1856 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>30000/1001, 24000/1001</entry>
+ <entry>4:3, 16:9</entry>
+ </row>
+ <row>
+ <entry>NTSC SVCD</entry>
+ <entry>480x480</entry>
+ <entry>MPEG-2</entry>
+ <entry>2600 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>384 kbps (max)</entry>
+ <entry>30000/1001</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>NTSC VCD</entry>
+ <entry>352x240</entry>
+ <entry>MPEG-1</entry>
+ <entry>1150 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>224 kbps</entry>
+ <entry>24000/1001, 30000/1001</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>PAL DVD</entry>
+ <entry>720x576, 704x576, 352x576, 352x288</entry>
+ <entry>MPEG-2</entry>
+ <entry>9800 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>MP2,AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3, 16:9 (only for 720x576)</entry>
+ </row>
+ <row>
+ <entry>PAL DVD</entry>
+ <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
+ <entry>MPEG-1</entry>
+ <entry>1856 kbps</entry>
+ <entry>48000 Hz</entry>
+ <entry>MP2,AC3,PCM</entry>
+ <entry>1536 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3, 16:9</entry>
+ </row>
+ <row>
+ <entry>PAL SVCD</entry>
+ <entry>480x576</entry>
+ <entry>MPEG-2</entry>
+ <entry>2600 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>384 kbps (max)</entry>
+ <entry>25</entry>
+ <entry>4:3</entry>
+ </row>
+ <row>
+ <entry>PAL VCD</entry>
+ <entry>352x288</entry>
+ <entry>MPEG-1</entry>
+ <entry>1152 kbps</entry>
+ <entry>44100 Hz</entry>
+ <entry>MP2</entry>
+ <entry>224 kbps</entry>
+ <entry>25</entry>
+ <entry>4:3</entry>
+ </row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>
+ If your movie has 2.35:1 aspect (most recent action movies), you will
+ have to add black borders or crop the movie down to 16:9 to make a DVD
+ or VCD.
+ If you add black borders, try to align them at 16-pixel boundaries in
+ order to minimize the impact on encoding performance.
+ Thankfully DVD has sufficiently excessive bitrate that you do not have
+ to worry too much about encoding efficiency, but SVCD and VCD are
+ highly bitrate-starved and require effort to obtain acceptable quality.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-constraints-gop">
+<title>GOP Size Constraints</title>
+<para>
+ DVD, VCD, and SVCD also constrain you to relatively low
+ GOP (Group of Pictures) sizes.
+ For 30 fps material the largest allowed GOP size is 18.
+ For 25 or 24 fps, the maximum is 15.
+ The GOP size is set using the <option>keyint</option> option.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
+<title>Bitrate Constraints</title>
+<para>
+ VCD video is required to be CBR at 1152 kbps.
+ This highly limiting constraint also comes along with an extremly low vbv
+ buffer size of 327 kilobits.
+ SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
+ restrictive vbv buffer size of 917 kilobits is allowed.
+ DVD video bitrates may range anywhere up to 9800 kbps (though typical
+ bitrates are about half that), and the vbv buffer size is 1835 kilobits.
+</para>
+</sect3>
+</sect2>
+
+<sect2 id="menc-feat-vcd-dvd-output">
+<title>Output Options</title>
+<para>
+ <application>MEncoder</application> has options to control the output
+ format.
+ Using these options we can instruct it to create the correct type of
+ file.
+</para>
+
+<para>
+ The options for VCD and SVCD are called xvcd and xsvcd, because they
+ are extended formats.
+ They are not strictly compliant, mainly because the output does not
+ contain scan offsets.
+ If you need to generate an SVCD image, you should pass the output file
+ to
+ <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
+</para>
+
+<para>
+ VCD:
+ <screen>
+ -of mpeg -mpegopts format=xvcd
+ </screen>
+</para>
+
+<para>
+ SVCD:
+ <screen>
+ -of mpeg -mpegopts format=xsvcd
+ </screen>
+</para>
+
+<para>
+ DVD (with timestamps on every frame, if possible):
+ <screen>
+ -of mpeg -mpegopts format=dvd:tsaf
+ </screen>
+</para>
+
+<para>
+ DVD with NTSC Pullup:
+ <screen>
+ -of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001
+ </screen>
+ This allows 24000/1001 fps progressive content to be encoded at 30000/1001
+ fps whilst maintaing DVD-compliance.
+</para>
+
+<sect3 id="menc-feat-vcd-dvd-output-aspect">
+<title>Aspect Ratio</title>
+<para>
+ The aspect argument of <option>-lavcopts</option> is used to encode
+ the aspect ratio of the file.
+ During playback the aspect ratio is used to restore the video to the
+ correct size.
+</para>
+
+<para>
+ 16:9 or "Widescreen"
+ <screen>
+ -lavcopts aspect=16/9
+ </screen>
+</para>
+
+<para>
+ 4:3 or "Fullscreen"
+ <screen>
+ -lavcopts aspect=4/3
+ </screen>
+</para>
+
+<para>
+ 2.35:1 or "Cinemascope" NTSC
+ <screen>
+ -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
+ </screen>
+ To calculate the correct scaling size, use the expanded NTSC width of
+ 854/2.35 = 368
+</para>
+
+<para>
+ 2.35:1 or "Cinemascope" PAL
+ <screen>
+ -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
+ </screen>
+ To calculate the correct scaling size, use the expanded PAL width of
+ 1024/2.35 = 432
+</para>
+
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-a-v-sync">
+<title>Maintaining A/V sync</title>
+<para>
+ In order to maintain audio/video synchronization throughout the encode,
+ <application>MEncoder</application> has to drop or duplicate frames.
+ This works rather well when muxing into an AVI file, but is almost
+ guaranteed to fail to maintain A/V sync with other muxers such as MPEG.
+ This is why it is necessary to append the
+ <option>harddup</option> video filter at the end of the filter chain
+ to avoid this kind of problem.
+ You can find more technical information about <option>harddup</option>
+ in the section
+ <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link>
+ or in the manual page.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-output-srate">
+<title>Sample Rate Conversion</title>
+<para>
+ If the audio sample rate in the original file is not the same as
+ required by the target format, sample rate conversion is required.
+ This is achieved using the <option>-srate</option> option and
+ the <option>-af lavcresample</option> audio filter together.
+ </para>
+ <para>
+ DVD:
+ <screen>
+ -srate 48000 -af lavcresample=48000
+ </screen>
+</para>
+<para>
+ VCD and SVCD:
+ <screen>
+ -srate 44100 -af lavcresample=44100
+ </screen>
+ </para>
+</sect3>
+</sect2>
+
+<sect2 id="menc-feat-vcd-dvd-lavc">
+<title>Using libavcodec for VCD/SVCD/DVD Encoding</title>
+
+<sect3 id="menc-feat-vcd-dvd-lavc-intro">
+<title>Introduction</title>
+<para>
+ <systemitem class="library">libavcodec</systemitem> can be used to
+ create VCD/SVCD/DVD compliant video by using the appropriate options.
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-lavc-options">
+<title>lavcopts</title>
+<para>
+ This is a list of fields in <option>-lavcopts</option> that you may
+ be required to change in order to make a complaint movie for VCD, SVCD,
+ or DVD:
+</para>
+
+<itemizedlist>
+<listitem><para>
+ <emphasis role="bold">acodec</emphasis>:
+ <option>mp2</option> for VCD, SVCD, or PAL DVD;
+ <option>ac3</option> is most commonly used for DVD.
+ PCM audio may also be used for DVD, but this is mostly a big waste of
+ space.
+ Note that MP3 audio is not compliant for any of these formats, but
+ players often have no problem playing it anyway.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">abitrate</emphasis>:
+ 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly
+ used values range from 192 kbps for stereo to 384 kbps for 5.1 channel
+ sound.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vcodec</emphasis>:
+ <option>mpeg1video</option> for VCD;
+ <option>mpeg2video</option> for SVCD;
+ <option>mpeg2video</option> is usually used for DVD but you may also use
+ <option>mpeg1video</option> for CIF resolutions.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">keyint</emphasis>:
+ Used to set the GOP size.
+ 18 for 30fps material, or 15 for 25/24 fps material.
+ Commercial producers seem to prefer keyframe intervals of 12.
+ It is possible to make this much larger and still retain compatibility
+ with most players.
+ A <option>keyint</option> of 25 should never cause any problems.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vrc_buf_size</emphasis>:
+ 327 for VCD, 917 for SVCD, and 1835 for DVD.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vrc_minrate</emphasis>:
+ 1152, for VCD. May be left alone for SVCD and DVD.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vrc_maxrate</emphasis>:
+ 1152 for VCD; 2500 for SVCD; 9800 for DVD.
+ For SVCD and DVD, you might wish to use lower values depending on your
+ own personal preferences and requirements.
+</para></listitem>
+
+<listitem><para>
+ <emphasis role="bold">vbitrate</emphasis>:
+ 1152 for VCD;
+ up to 2500 for SVCD;
+ up to 9800 for DVD.
+ For the latter two formats, vbitrate should be set based on personal
+ preference.
+ For instance, if you insist on fitting 20 or so hours on a DVD, you
+ could use vbitrate=400.
+ The resulting video quality would probably be quite bad.
+ If you are trying to squeeze out the maximum possible quality on a DVD,
+ use vbitrate=9800, but be warned that this could constrain you to less
+ than an hour of video on a single-layer DVD.
+</para></listitem>
+</itemizedlist>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-lavc-examples">
+<title>Examples</title>
+<para>
+ This is a typical minimum set of <option>-lavcopts</option> for
+ encoding video:
+</para>
+<para>
+ VCD:
+ <screen>
+ -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
+ vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
+ </screen>
+</para>
+
+<para>
+ SVCD:
+ <screen>
+ -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
+ keyint=15:acodec=mp2
+ </screen>
+</para>
+
+<para>
+ DVD:
+ <screen>
+ -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
+ keyint=15:acodec=ac3
+ </screen>
+</para>
+
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
+<title>Advanced Options</title>
+<para>
+ For higher quality encoding, you may also wish to add quality-enhancing
+ options to lavcopts, such as <option>trell</option>,
+ <option>mbd=2</option>, and others.
+ Note that <option>qpel</option> and <option>v4mv</option>, while often
+ useful with MPEG-4, are not usable with MPEG-1 or MPEG-2.
+ Also, if you are trying to make a very high quality DVD encode, it may
+ be useful to add <option>dc=10</option> to lavcopts.
+ Doing so may help reduce the appearance of blocks in flat-colored areas.
+ Putting it all together, this is an example of a set of lavcopts for a
+ higher quality DVD:
+</para>
+
+<para>
+ <screen>
+ -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
+ keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
+ vqmin=1:lmin=1:dc=10
+ </screen>
+</para>
+
+</sect3>
+</sect2>
+
+<sect2 id="menc-feat-vcd-dvd-audio">
+<title>Encoding Audio</title>
+<para>
+ VCD and SVCD support MPEG-1 layer II audio, using one of
+ <systemitem class="library">toolame</systemitem>,
+ <systemitem class="library">twolame</systemitem>,
+ or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder.
+ The libavcodec MP2 is far from being as good as the other two libraries,
+ however it should always be available to use.
+ VCD only supports constant bitrate audio (CBR) whereas SVCD supports
+ variable bitrate (VBR), too.
+ Be careful when using VBR because some bad standalone players might not
+ support it too well.
+</para>
+
+<para>
+ For DVD audio, <systemitem class="library">libavcodec</systemitem>'s
+ AC3 codec is used.
+</para>
+
+<sect3 id="menc-feat-vcd-dvd-audio-toolame">
+<title>toolame</title>
+<para>
+ For VCD and SVCD:
+ <screen>
+ -oac toolame -toolameopts br=224
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-audio-twolame">
+<title>twolame</title>
+<para>
+ For VCD and SVCD:
+ <screen>
+ -oac twolame -twolameopts br=224
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-audio-lavc">
+<title>libavcodec</title>
+<para>
+ For DVD with 2 channel sound:
+ <screen>
+ -oac lavc -lavcopts acodec=ac3:abitrate=192
+ </screen>
+</para>
+<para>
+ For DVD with 5.1 channel sound:
+ <screen>
+ -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
+ </screen>
+</para>
+<para>
+ For VCD and SVCD:
+ <screen>
+ -oac lavc -lavcopts acodec=mp2:abitrate=224
+ </screen>
+</para>
+</sect3>
+
+</sect2>
+
+<sect2 id="menc-feat-vcd-dvd-all">
+<title>Putting it all Together</title>
+<para>
+ This section shows some complete commands for creating VCD/SVCD/DVD
+ compliant videos.
+</para>
+
+<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
+<title>PAL DVD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
+ harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
+ vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
+ abitrate=192:aspect=16/9 -ofps 25 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
+<title>NTSC DVD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:480,\
+ harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
+ vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:\
+ abitrate=192:aspect=16/9 -ofps 30000/1001 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
+<title>PAL AVI Containing AC3 Audio to DVD</title>
+<para>
+ If the source already has AC3 audio, use -oac copy instead of re-encoding it.
+ <screen>
+ mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
+ harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
+ vbitrate=5000:keyint=15:aspect=16/9 -ofps 25 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
+<title>NTSC AVI Containing AC3 Audio to DVD</title>
+<para>
+ If the source already has AC3 audio, and is NTSC @ 24000/1001 fps:
+ <screen>
+ mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
+ -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
+ vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9 -ofps 24000/1001 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
+<title>PAL SVCD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
+ vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
+ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
+<title>NTSC SVCD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
+ scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
+ vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
+ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
+<title>PAL VCD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
+ vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
+ vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
+<title>NTSC VCD</title>
+<para>
+ <screen>
+ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
+ scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
+ vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
+ vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
+ -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
+ </screen>
+</para>
+</sect3>
+
+</sect2>
+
+</sect1>
+
+</chapter>