1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>10.1. Создание высококачественного MPEG-4 ("DivX") рипа из DVD фильма</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Медиа Проигрыватель"><link rel="up" href="encoding-guide.html" title="Глава 10. Кодирование с MEncoder"><link rel="prev" href="encoding-guide.html" title="Глава 10. Кодирование с MEncoder"><link rel="next" href="menc-feat-telecine.html" title="10.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD"><link rel="preface" href="howtoread.html" title="Как читать эту документацию"><link rel="chapter" href="intro.html" title="Глава 1. Введение"><link rel="chapter" href="install.html" title="Глава 2. Установка"><link rel="chapter" href="usage.html" title="Глава 3. Использование"><link rel="chapter" href="cd-dvd.html" title="Глава 4. Использование CD/DVD"><link rel="chapter" href="tv.html" title="Глава 5. TV"><link rel="chapter" href="radio.html" title="Глава 6. Радио"><link rel="chapter" href="video.html" title="Глава 7. Устройства вывода видео"><link rel="chapter" href="ports.html" title="Глава 8. Портинг"><link rel="chapter" href="mencoder.html" title="Глава 9. Основы использования MEncoder"><link rel="chapter" href="encoding-guide.html" title="Глава 10. Кодирование с MEncoder"><link rel="chapter" href="faq.html" title="Глава 11. Часто Задаваемые вопросы"><link rel="appendix" href="bugreports.html" title="Приложение A. Как сообщать об ошибках"><link rel="appendix" href="skin.html" title="Приложение B. Формат скинов MPlayer"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-preparing-encode" title="10.1.1. Подготовка к кодированию: Идентификация исходного материала и кадровой частоты"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-2pass" title="10.1.2. Постоянный квантователь в сравнении с многопроходностью"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-constraints" title="10.1.3. Ограничения для эффективного кодирования"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-crop" title="10.1.4. Усечение и масштабирование"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-resolution-bitrate" title="10.1.5. Выбор разрешения и битпотока"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-filtering" title="10.1.6. Фильтрация"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-interlacing" title="10.1.7. Чересстрочная развёртка и телесин"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-encoding-interlaced" title="10.1.8. Кодирование чересстрочного видео"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-av-sync" title="10.1.9. Замечания об аудио/видео синхронизации"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-codec" title="10.1.10. Выбор видеокодека"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-audio" title="10.1.11. Аудио"><link rel="subsection" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-muxing" title="10.1.12. Мультиплексирование"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.1. Создание высококачественного MPEG-4 ("DivX") рипа из DVD фильма</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="encoding-guide.html">Пред.</a> </td><th width="60%" align="center">Глава 10. Кодирование с <span class="application">MEncoder</span></th><td width="20%" align="right"> <a accesskey="n" href="menc-feat-telecine.html">След.</a></td></tr></table><hr></div><div class="sect1" title='10.1. Создание высококачественного MPEG-4 ("DivX") рипа из DVD фильма'><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-dvd-mpeg4"></a>10.1. Создание высококачественного MPEG-4 ("DivX") рипа из DVD фильма</h2></div></div></div><p>
2
Одним часто задаваемым вопросом является "Как мне сделать рип самого высокого
3
качества для заданного размера?". Другой вопрос "Как мне создать DVD рип с самым
4
высоким возможным качеством? Я не беспокоюсь о размере файла, мне нужно лишь
7
Последний вопрос, похоже, отчасти неверно сформулирован. В конце концов, если
8
Вы не беспокоитесь о размере файла, почему бы просто не скопировать весь MPEG-2
9
видео поток с DVD? Конечно, Ваш AVI файл будет занимать около 5GB,
10
но если Вы желаете наилучшее качество и не волнуетесь о размере, то это,
11
несомненно, лучшее решение.
13
В действительности, причиной, по которой Вы хотите перекодировать DVD в MPEG-4,
14
является именно Ваше <span class="bold"><strong>беспокойство</strong></span>
17
Сложно дать универсальный рецепт о создании DVD рипа очень высокого
18
качества. Необходимо рассмотреть несколько факторов, и Вы должны
19
понимать эти детали, иначе Вы, скорее всего, разочаруетесь своими
20
результатами. Ниже мы исследуем некоторые из этих вопросов, а затем
21
рассмотрим пример. Мы предполагаем, что Вы используете
22
<code class="systemitem">libavcodec</code> для кодирования видео,
23
хотя теория также применима и к другим кодекам.
25
Если это кажется для Вас слишком сложным, то Вам, пожалуй, следует использовать
26
один из многочисленных неплохих фронтендов, указанных в
27
<a class="ulink" href="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends" target="_top">разделе MEncoder</a>
28
нашей страницы родственных проектов.
29
Так Вы должны получить высококачественные рипы без особых размышлений,
30
поскольку большинство этих утилит разработаны для принятия умных решений за Вас.
31
</p><div class="sect2" title="10.1.1. Подготовка к кодированию: Идентификация исходного материала и кадровой частоты"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-preparing-encode"></a>10.1.1. Подготовка к кодированию: Идентификация исходного материала и кадровой
32
частоты</h3></div></div></div><p>
33
Прежде, чем даже задумываться о кодировании фильма, Вам необходимо выполнить
34
некоторые предварительные действия.
36
Первым и наиболее важным шагом перед кодированием должно быть определение
37
типа содержимого, с которым Вы работаете.
38
Если источником Ваших исходных материалов является DVD или
39
широковещательное/кабельное/спутниковое TV, оно будет содержаться в одном из
40
двух форматов: NTSC для Северной Америки и Японии, PAL для Европы и т.д..
41
Однако, важно понимать, что это только форматирование для показа на
42
телевидении, и оно часто
43
<span class="bold"><strong>не</strong></span> соответствует
44
исходному формату фильма.
45
Опыт показывает, что NTSC материал существенно более сложен для кодирования,
46
т.к. в нём содержится больше элементов, которые нужно идентифицировать.
47
Для проведения удачного кодирования, Вам необходимо знать исходный формат.
48
Отказ от принятия этого во внимание приведёт к различным дефектам в Вашем
49
кодировании, включая безобразные гребешки (артефакты чересстрочной развёртки)
50
и повторяющиеся или даже потерянные кадры.
51
Кроме ухудшения картинки, артефакты так же уменьшают эффективность кодирования:
52
Вы получите худшее качество на единицу битпотока.
53
</p><div class="sect3" title="10.1.1.1. Определение кадровой частоты источника"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-preparing-encode-fps"></a>10.1.1.1. Определение кадровой частоты источника</h4></div></div></div><p>
54
Вот список, содержащий общие типы исходных материалов, где они,
55
преимущественно, встречаются и их свойства:
56
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
57
<span class="bold"><strong>Стандартный фильм</strong></span>: Производятся
58
для театральных показов на 24 fps [кадр/сек].
59
</p></li><li class="listitem"><p>
60
<span class="bold"><strong>PAL видео</strong></span>: Записывается с помощью
61
PAL видеокамеры при 50 полях в секунду.
62
Поле состоит только из чётных или нечётных линий кадра.
63
Телевидение было разработано для обновления этих полей попеременно,
64
что используется как вид дешёвого аналогового сжатия.
65
Человеческий глаз, предположительно, компенсирует это, но однажды
66
поняв чересстрочную развёртку, Вы научитесь видеть её и на TV и
67
Вам больше никогда не понравится телевидение.
68
Два поля <span class="bold"><strong>не</strong></span> составляют
69
целый кадр, поскольку они снимаются с задержкой в 1/50 секунды
70
и, следовательно, не формируют одно изображение, за исключением случая
71
полного отсутствия движения.
72
</p></li><li class="listitem"><p>
73
<span class="bold"><strong>NTSC видео</strong></span>: Записывается с помощью
74
NTSC видеокамеры при 60000/1001 полях в секунду, или 60 полях в секунду
75
в эпоху чёрно-белого TV.
76
В других отношениях аналогично PAL.
77
</p></li><li class="listitem"><p>
78
<span class="bold"><strong>Анимация</strong></span>: Обычно рисуется на 24 fps,
79
но также существуют разновидности со смешанной кадровой частотой.
80
</p></li><li class="listitem"><p>
81
<span class="bold"><strong>Компьютерная графика (CG)</strong></span>: Может
82
быть с любой частотой кадров, но некоторые встречаются чаще остальных;
83
24 и 30 кадров в секунду типичны для NTSC, и 25 fps типично для PAL.
84
</p></li><li class="listitem"><p>
85
<span class="bold"><strong>Старый фильм</strong></span>: Различные низкие
87
</p></li></ul></div></div><div class="sect3" title="10.1.1.2. Идентификация исходного материала"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-preparing-encode-material"></a>10.1.1.2. Идентификация исходного материала</h4></div></div></div><p>
88
Фильмы, состоящие из кадров, называются фильмами с построчной (или прогрессивной)
89
развёрткой, а состоящие из независимых полей — фильмами с чересстрочной
90
развёрткой или просто видео; однако, последний термин двусмысленный.
92
Из-за дальнейших усложнений, некоторые фильмы будут смесью
93
нескольких, указанных выше.
95
Наиболее важным различием между всеми этими форматами является
96
то, что одни из них основаны на кадрах, а другие — на полях.
97
<span class="bold"><strong>Любой</strong></span> фильм, подготовленный для
98
просмотра на телевидении (включая DVD), преобразуется в формат,
101
Различные методы, с помощью которых это может быть сделано, совокупно
102
называются "телесин" (англ. telecine), одним из вариантов которого
103
является отвратительный NTSC "3:2 пулдаун" (англ. pulldown).
104
За исключением случаев, когда формат исходного материала был
105
также основан на полях (и с такой же частотой полей), Вы получите
106
фильм в формате отличном от исходного.
107
</p><div class="itemizedlist" title="Существует несколько общих типов пулдауна:"><p class="title"><b>Существует несколько общих типов пулдауна:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
108
<span class="bold"><strong>PAL 2:2 пулдаун</strong></span>: Наилучший из всех.
109
Каждый кадр показывается за время длительности двух полей путем
110
извлечения чётных и нечётных строк и их попеременного показа.
111
Если в исходном материале 24 fps, то это ускоряет воспроизведение фильма
113
</p></li><li class="listitem"><p>
114
<span class="bold"><strong>PAL 2:2:2:2:2:2:2:2:2:2:2:3 пулдаун</strong></span>:
115
Каждый 12-й кадр показывается за время длительности трёх полей,
117
Это помогает избежать проблемы 4%-го ускорения, но делает обращение
118
процесса существенно более сложным.
119
Такие вещи обычно наблюдаются в музыкальных произведениях, где
120
изменение скорости на 4% существенно повредит музыкальную партитуру.
121
</p></li><li class="listitem"><p>
122
<span class="bold"><strong>NTSC 3:2 телесин</strong></span>: Кадры показываются
123
попеременно за время длительности 3-х полей или 2-х полей.
124
Это даёт частоту полей в 2.5 раза больше исходной частоты кадров.
125
Результат также очень незначительно замедляется от 60 до 60000/1001
126
полей в секунду для поддержания частоты полей NTSC.
127
</p></li><li class="listitem"><p>
128
<span class="bold"><strong>NTSC 2:2 пулдаун</strong></span>: Используется
129
для отображения материала с 30 fps на NTSC.
130
Так же мил, как и 2:2 PAL пулдаун.
131
</p></li></ul></div><p>
132
Так же существуют методы для преобразования между NTSC и PAL видео,
133
но подобные темы выходят за рамки данного руководства.
134
Если Вам попался такой фильм, и Вы хотите кодировать его,
135
лучшим решением будет найти копию в исходном формате.
136
Преобразование между этими двумя форматами вносит большие потери
137
и не может быть точно обращено, так что Ваше кодирование
138
существенно пострадает, если оно делается из преобразованного
141
Когда видео находится на DVD, последовательные пары полей
142
группируются как кадр, даже если они не предназначены для
143
одновременного отображения.
144
Стандарт MPEG-2, используемый на DVD и цифровом TV предоставляет
145
возможность одновременно кодировать исходные кадры с построчной
146
развёрткой и сохранять число полей, в течении которых кадр
147
должен быть показан, в его заголовке.
148
Если был использован такой метод, фильм часто будет называться
149
как "мягкий телесин", т.к. процесс только указывает DVD-плееру
150
о необходимости применения пулдауна к фильму, не изменяя при этом
152
Этот случай существенно предпочтителен, т.к. он может быть легко обращён
153
(в действительности, проигнорирован) кодером и т.к. он сохраняет
154
максимальное качество.
155
Однако, многие широковещательные и DVD студии не используют
156
надлежащую технологию кодирования и вместо этого производят
157
фильмы с "жёстким телесином", где поля в действительности
158
повторяются в кодированном MPEG-2.
160
Порядок действия в таких случаях будет описан
161
<a class="link" href="menc-feat-telecine.html" title="10.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD">позже в данном руководстве</a>.
162
Сейчас мы дадим Вам несколько советов по идентификации типа
163
материала, с которым Вы работаете:
164
</p><div class="itemizedlist" title="Регионы NTSC:"><p class="title"><b>Регионы NTSC:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
165
Если при просмотре Вашего фильма <span class="application">MPlayer</span>
166
выводит, что частота кадров была изменена до 24000/1001 и она
167
никогда не меняется обратно, то это почти наверняка содержимое
168
с построчной развёрткой, которое было подвергнуто
170
</p></li><li class="listitem"><p>
171
Если <span class="application">MPlayer</span> отображает попеременные
172
переключения частоты кадров между 24000/1001 и 30000/1001, и Вы
173
иногда видите "гребешки", есть несколько возможностей.
174
Сегменты с 24000/1001 fps почти наверняка являются "мягко
175
телесиненным" содержимым с построчной развёрткой, но части с
176
30000/1001 fps могут быть как "жёстко телесиненым" содержимым
177
с 24000/1001 fps, так и NTSC видео с 60000/1001 полями в секунду.
178
Используйте два нижеследующих руководства для определения того,
179
с каким случаем Вы имеете дело.
180
</p></li><li class="listitem"><p>
181
Если <span class="application">MPlayer</span> никогда не показывает
182
изменения кадровой частоты и каждый отдельный кадр, где есть
183
движение, оказывается гребёнкой, Ваш фильм есть NTSC видео с
184
60000/1001 полями в секунду.
185
</p></li><li class="listitem"><p>
186
Если <span class="application">MPlayer</span> никогда не показывает
187
изменения кадровой частоты и два кадра из каждых пяти оказываются
188
гребёнкой, Ваш фильм представляет собой "жёстко телесиненное"
189
содержимое с 24000/1001 fps.
190
</p></li></ul></div><div class="itemizedlist" title="Регионы PAL:"><p class="title"><b>Регионы PAL:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
191
Если Вы не видите никакой гребёнки, Ваш фильм есть 2:2 пулдаун.
192
</p></li><li class="listitem"><p>
193
Если Вы видите попеременную гребёнку каждые полсекунды,
194
Ваш фильм представляет собой 2:2:2:2:2:2:2:2:2:2:2:3 пулдаун.
195
</p></li><li class="listitem"><p>
196
Если Вы всегда видите гребёнки во время движения, значит Ваш
197
фильм является PAL видео с 50 полями в секунду.
198
</p></li></ul></div><div class="note" title="Подсказка:" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Подсказка:</h3><p>
199
<span class="application">MPlayer</span> может замедлить воспроизведение
200
фильма с опцией -speed или воспроизводить его покадрово.
201
Попробуйте использовать опцию <tt class="option">-speed 0.2</tt> для
202
очень медленного просмотра фильма или нажимайте
203
клавишу "<span class="keycap"><b>.</b></span>" для воспроизведения одного кадра
204
за раз и идетнифицируйте образец, если не можете его увидеть на
206
</p></div></div></div><div class="sect2" title="10.1.2. Постоянный квантователь в сравнении с многопроходностью"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-2pass"></a>10.1.2. Постоянный квантователь в сравнении с многопроходностью</h3></div></div></div><p>
207
Возможно кодировать Ваш фильм, широко варьируя качество.
208
С современными видеокодерами и небольшим сжатием перед кодированием
209
(уменьшением размера и шумов) возможно достичь очень хорошего
210
качества при размере 700 МБ для 90-110-минутного широкоэкранного фильма.
211
Более того, всё, кроме самых длинных фильмов, может быть кодировано
212
с почти безупречным качеством на 1400 МБ.
214
Есть три подхода при кодировании видео: постоянный битпоток (CBR),
215
постоянный квантователь и многопроходность (ABR или усреднённый битпоток).
217
Сложность кадров фильма и, таким образом, число битов, нужных для их
218
сжатия может существенно отличаться от одной сцены к другой.
219
Современные видеокодеры могут подстраиваться под это в процессе
220
работы и варьировать битпоток.
221
Однако, в таких простых режимах как CBR кодеры не знают загруженность
222
битпотока в последующих сценах и т.о. не могут превысить затребованный
223
битпоток для больших промежутков времени.
224
Более совершенные режимы, такие как многопроходный режим, могут
225
учитывать статистику предыдущих проходов; это решает проблему,
227
</p><div class="note" title="Замечание:" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Замечание:</h3><p>
228
Большинство кодеков, поддерживающих ABR кодирование, поддерживают
229
только двупроходный режим, в то время как некоторые другие, такие
230
как <code class="systemitem">x264</code>,
231
<code class="systemitem">Xvid</code>
232
и <code class="systemitem">libavcodec</code> поддерживают
233
многопроходность, несколько улучшающую качество на каждом проходе,
234
однако, это улучшение не измеримо и не заметно после 4-го прохода
236
Поэтому, в данном разделе дву- и многопроходность будут
237
использоваться взаимозаменяемо.
239
В каждом из этих режимов видеокодек (такой как
240
<code class="systemitem">libavcodec</code>)
241
разбивает видеокадр на макроблоки размером 16х16 пикселей и потом
242
применяет квантователь к каждому макроблоку. Чем меньше квантоваль,
243
тем лучше качество и выше битпоток.
244
Метод, используемый видео кодером для определения того, какой
245
квантователь использовать для данного макроблока, варьируется и
246
подлежит тонкой настройке. (Это крайнее упрощение реального
247
процесса, но основная концепция полезна для понимания.)
249
Когда Вы указываете постоянный битпоток, видеокодек будет кодировать
250
видео, отбрасывая детали столько, сколько необходимо и настолько мало,
251
насколько это возможно с целью оставаться ниже заданного битпотока.
252
Если Вас действительно не волнует размер файла, Вы можете также
253
использовать CBR и указать бесконечный битпоток. (На практике это
254
означает значение, достаточно большое для обозначения отсутствия
255
предела, например, 10000 Кбит.) В результате, без реального ограничения
256
битпотока, кодек использует наименьший возможный квантователь для
257
каждого макроблока (как указано опцией
258
<tt class="option">vqmin</tt> для
259
<code class="systemitem">libavcodec</code>, равной 2 по умолчанию).
260
Как только Вы укажите настолько низкий битпоток, что кодек будет
261
вынужден использовать более высокий квантователь, Вы почти наверняка
262
испортите качество Вашего видео.
263
Чтобы избежать этого, Вам, вероятно, придётся уменьшить размеры
264
Вашего видео, согласно методу, описанному далее в этом руководстве.
265
В общем, Вам следует избегать CBR совсем, если Вы заботитесь о качестве.
267
С постоянным квантователем кодек использует для всех макроблоков
268
один и тот же квантователь, указанный в опции
269
<tt class="option">vqscale</tt> (для
270
<code class="systemitem">libavcodec</code>).
271
Если Вы хотите рип наивысшего возможного качества, снова не взирая
272
на битпоток, Вы можете использовать
273
<tt class="option">vqscale=2</tt>.
274
Это приведёт к тому же битпотоку и PSNR (пику отношения сигнала к шуму),
276
<tt class="option">vbitrate</tt>=бесконечности и значением по умолчанию
277
<tt class="option">vqmin</tt>, равным 2.
279
Проблема с постоянным квантованием заключается в том, что кодек использует
280
заданный квантователь вне зависимости от того, требуется это для
281
макроблока или нет. То есть возможно использование большего квантователя
282
для макроблока без ухудшения видимого качества. Зачем тратить биты на
283
излишне низкий квантователь? У Вашего процессора есть столько тактов,
284
сколько есть времени, но имеется лишь ограниченное число битов на
287
При двупроходном кодировании первый проход создаст рип фильма так,
288
как будто это был CBR, но сохранит лог свойств для каждого кадра.
289
Эта информация затем будет использована во время второго прохода
290
для принятия интеллектуальных решений о том, какой квантователь
291
следует использовать. Во время быстрого движения или сцен с
292
высокой детализацией с большой вероятностью будут использованы
293
б<span class="emphasis"><em>о</em></span>льшие квантователи, а во время медленного движения или сцен
294
с низкой детализацией — меньшие.
295
Обычно количество движения играет существенно более важную роль,
296
чем количество деталей.
298
Если Вы используете <tt class="option">vqscale=2</tt>, то Вы теряете биты.
299
Если Вы используете <tt class="option">vqscale=3</tt>, то Вы не получаете
300
рип наивысшего качества. Предположим, Вы делаете рип DVD, используя
301
<tt class="option">vqscale=3</tt>, результат получается 1800 Кбит.
302
Если Вы сделаете двупроходное кодирование с
303
<tt class="option">vbitrate=1800</tt>, получившееся видео будет обладать
304
<span class="bold"><strong>лучшим качеством</strong></span> для
305
<span class="bold"><strong>того же битпотока</strong></span>.
307
После того, как Вы сейчас убедились, что два прохода — это путь
308
к действию, возникает вопрос о том, какой битпоток использовать?
309
Ответ таков, что нет единого ответа. В идеале, Вы хотите выбрать
310
битпоток, при котором достигается наилучший баланс между качеством
311
и размером файла. Здесь возможны вариации в зависимости от
312
исходного видеоматериала.
314
Если размер не важен, хорошей отправной точкой для рипа очень высокого
315
качества будет 2000 Кбит +/- 200 Кбит.
316
Для видеоматериала с быстрым движением или высокой детализацией
317
или просто если у Вас очень разборчивый глаз, Вы можете использовать
319
Для некоторых DVD Вы не заметите разницы на 1400 Кбит. Хорошей идеей
320
является экспериментирование со сценами на разных битпотоках, чтобы
321
почувствовать разницу.
323
Если Вашей целью является определённый размер, Вам нужно как-нибудь
324
вычислить битпоток. Но перед этим, Вам нужно знать, сколько места
325
нужно зарезервировать по аудио дорожку(и), так что Вам необходимо
326
сперва <a class="link" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-audio" title="10.1.11. Аудио">извлечь их</a>.
327
Вы можете рассчитать битпоток с помощью следующей формулы:
328
<code class="systemitem">битпоток = (конечный_размер_в_МБайт - размер_звука_в_МБайт) *
329
1024 * 1024 / длительность_в_секундах * 8 / 1000</code>.
330
Например, для сжатия двухчасового фильма в 702 МБ CD, с 60 МБ
331
аудио дорожкой, битпоток видео должен составлять:
332
<code class="systemitem">(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
333
= 740 кбит/сек</code>.
334
</p></div><div class="sect2" title="10.1.3. Ограничения для эффективного кодирования"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-constraints"></a>10.1.3. Ограничения для эффективного кодирования</h3></div></div></div><p>
335
Из-за особенностей MPEG-подобного сжатия, существуют различные
336
ограничения, которым Вы должны следовать для достижения
337
максимального качества.
338
MPEG разбивает видео на квадраты 16х16, называемые макроблоками.
339
Каждый макроблок состоит из 4 блоков 8х8 с информацией о люме
340
(интенсивности) и двух блоков 8х8 с информацией о хроме (цвете)
341
половинного разрешения (один для красно-бирюзовой оси и другой
342
для жёлто-голубой оси).
343
Даже если ширина и высота Вашего фильма не кратны 16, кодер
344
всё равно использует нужное количество макроблоков 16х16 для покрытия
345
всей области картинки, дополнительная область будет впустую потрачена.
346
Так что в интересах максимизации качества при фиксированном размере
347
файла, не стоит использовать размеры, не кратные 16.
349
У большинства DVD также есть определённое подобие чёрных полос на
350
краях. Если Вы их оставите, это может
351
<span class="bold"><strong>сильно</strong></span> повредить качество
353
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
354
MPEG-подобное сжатие очень чувствительно к преобразованиям
355
частотных интервалов, в частности, к дискретному косинусному
356
преобразованию (DCT), которое аналогично преобразованию Фурье.
357
Этот вид сжатия эффективен для представления образов и сглаженных
358
переходов, но у него возникают проблемы с острыми краями.
359
Для кодирования последних Вам нужно гораздо больше битов, а иначе
360
у Вас появится артефакт, известный как ореолы.
362
Частотные преобразования (DCT) выполняются независимо для каждого
363
макроблока (на самом деле, для каждого блока), так что эта проблема
364
возникает только в случае попадания острого края внутрь блока.
365
Если Ваши чёрные поля возникают точно на границах, кратных 16
366
пикселям, это не проблема.
367
Однако, чёрные полосы на DVD редко хорошо расположены, так что
368
на практике Вам всегда придётся усекать стороны для избежания
370
</p></li></ol></div><p>
371
В дополнение к преобразованиям частотных интервалов, MPEG-подобное
372
сжатие использует векторы движения для отображения изменений от
373
одного кадра к другому. Векторы движения, естественно, работают
374
существенно менее эффективно для новых объектов, идущих от
375
краёв картинки, поскольку они отсутствуют в предыдущих кадрах.
376
Пока картинка простирается вплоть до края кодируемой области,
377
у векторов движения не возникает проблем с движением объектов
378
за пределы картинки. Однако, при наличии черных полей
379
могут возникнуть проблемы:
380
</p><div class="orderedlist"><ol class="orderedlist" start="2" type="1"><li class="listitem"><p>
381
Для каждого макроблока MPEG-подобное сжатие сохраняет вектор,
382
определяющий какая часть предыдущего кадра должна быть скопирована
383
в этот макроблок как основа для предсказания следующего кадра.
384
Кодированию подлежит только оставшаяся разность. Если макроблок
385
простирается до края картинки и содержит часть чёрной полосы,
386
то векторы движения других частей картинки перепишут чёрную полосу.
387
Это означает, что много битов нужно потратить либо на повторное
388
чернение переписанной полосы, либо (что более вероятно) вектор
389
движения не будет использован вовсе и все изменения для этого
390
макроблока будут явно кодированы. Так или иначе, эффективность
391
кодирования существенно уменьшается.
393
Ещё раз, эта проблема возникает только в случае, если чёрные полосы
394
не укладываются в границы, кратные 16.
395
</p></li><li class="listitem"><p>
396
Наконец, предположим, что у нас есть находящийся внутри картинки
397
макроблок и объект движется в этот блок от края изображения.
398
MPEG-подобное кодирование не может сказать "скопируй ту часть,
399
что внутри картинки, но не чёрную полосу". Так что чёрная полоса
400
также будет скопирована внутрь, в результате чего масса битов
401
будет потрачена на кодирование части изображения, которое должно
402
быть на месте полосы.
404
Для случаев, когда всё изображение движется к краю кодируемой
405
области, у MPEG есть специальные оптимизации для повторяющегося
406
копирования пикселей к краю картинки, когда вектор движения
407
идёт извне области кодирования. Эта возможность становится
408
бесполезной, если у фильма есть чёрные полосы. В отличии от
409
случаев 1 и 2, выравнивание границ до кратности 16 здесь
411
</p></li><li class="listitem"><p>
412
Несмотря на то, что границы полностью чёрные и никогда не изменяются,
413
существуют, как минимум, определённые накладные расходы, связанные
414
с наличием большего числа макроблоков.
415
</p></li></ol></div><p>
416
Благодаря всем этим причинам, рекомендуется полностью урезать
417
чёрные полосы. Более того, если есть области шумов/искажений
418
на краях картинки, то их урезание также поспособствует улучшению
419
качества кодирования. Видеофилы, желающие сохранить оригинал как
420
можно более точно, могут возражать против такого усечения; но
421
если Вы не планируете кодировать при постоянном квантователе,
422
качество, полученное при усечении, существенно превысит потери
424
</p></div><div class="sect2" title="10.1.4. Усечение и масштабирование"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-crop"></a>10.1.4. Усечение и масштабирование</h3></div></div></div><p>
425
Вспомните из предыдущего раздела, что конечный размер картинки,
426
подлежащей кодированию, должен быть кратен 16 (как высота, так
427
и ширина). Это может быть достигнуто усечением, масштабированием
428
или комбинацией того и другого.
430
Есть несколько рекомендаций для усечения, которым необходимо следовать
431
для избежания повреждения фильма.
432
Обычный формат YUV, 4:2:0, сохраняет цветность (информацию о цвете)
433
половинной дискретизации, т.е. цветность сохраняется в два раза реже
434
в каждом направлении, чем яркостность (информация об интенсивности).
435
Рассмотрите следующую диаграмму, где L обозначает точки дискретизации
436
яркостности и C — цветности.
437
</p><div class="informaltable"><table border="1" width="40%"><colgroup><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr></tbody></table></div><p>
438
Как Вы видите, строки и столбцы изображения естественным образом
439
идут в парах. Поэтому смещения и размеры усечения
440
<span class="emphasis"><em>должны</em></span> быть чётными числами.
441
Иначе цветность перестанет правильно соответствовать яркостности.
442
Теоретически возможно усечение с нечётными смещениями, но оно
443
потребует переквантования цветности, что потенциально является
444
операцией с потерей качества и не поддерживается фильтром
445
усечения сторон crop.
447
Более того, видео с чересстрочной развёрткой дискретизируется
449
</p><div class="informaltable"><table border="1" width="80%"><colgroup><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="8" align="center">Верхнее поле</td><td colspan="8" align="center">Нижнее поле</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr><tr><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td><td colspan="2" align="center">C</td></tr><tr><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center"> </td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td><td align="center">L</td></tr></tbody></table></div><p>
450
Как Вы видите, структура повторяется только после 4 строк.
451
Так что для чересстрочного видео Ваше y-смещение и высота
452
усечения должны быть кратны 4.
454
Естественные разрешения DVD составляют 720x480 для NTSC и 720x576
455
для PAL, но существует флаг соотношения сторон, который указывает
456
является ли видео полноэкранным (4:3) или широкоэкранным (16:9).
457
Многие (если не большинство) широкоэкранных DVD не точно соответствуют
458
формату 16:9 и могут быть как 1.85:1, так и 2.35:1 (кинематографический формат).
459
Это означает, что в видео будут чёрные полосы, которые нужно усечь.
461
<span class="application">MPlayer</span> предоставляет фильтр обнаружения
462
усечения, который определяет прямоугольник, до которго нужно усечь
463
(<tt class="option">-vf cropdetect</tt>).
464
Запустите <span class="application">MPlayer</span> с
465
<tt class="option">-vf cropdetect</tt> и он выдаст настройки
466
усечения для удаления полей.
467
С целью получения точных параметров усечения, Вы должны проигрывать
468
фильм достаточно долго для того, чтоб была использована вся область
471
Затем проверьте значения, полученные с помощью
472
<span class="application">MPlayer</span>, используя командную строку,
473
выведенную <tt class="option">cropdetect</tt>, и подстройте прямоугольник
475
Фильтр <tt class="option">rectangle</tt> может быть полезен, позволив
476
Вам интерактивно менять прямоугольник усечения для Вашего фильма.
477
Не забывайте следовать указанным выше руководствам по делимости,
478
чтобы не испортить выравнивание цветности.
480
В ряде случаев масштабирование может быть нежелательным.
481
Масштабирование по вертикальному направлению затруднено для
482
чересстрочного видео, и если Вы хотите сохранить чересстрочность,
483
Вам, как правило, будет необходимо воздерживаться от масштабирования.
484
Если Вы не будете масштабировать, но всё ещё желаете размеры,
485
кратные 16, то Вам придётся проводить излишнее усечение.
486
Не проводите неполное усечение, поскольку чёрные полосы очень
487
плохи для кодирования!
489
Поскольку MPEG-4 использует макроблоки 16х16, Вы должны убедиться,
490
что каждое измерение кодируемого видео кратно 16; иначе Вы ухудшите
491
качество, особенно на малых битпотоках. Вы можете сделать это,
492
округлив ширину и высоту прямоугольника усечения до ближайшего
493
меньшего целого, кратного 16.
494
Как указано выше, при усечении Вам необходимо увеличить смещение по
495
Y на половину разности старой и новой высоты, так что полученное
496
видео будет браться из центра кадра.
497
И из-за способа дискретизации DVD видео, убедитесь, что смещение
498
есть чётное число. (Фактически, возьмите за правило никогда не
499
использовать нечётные величины для любых параметров усечения или
500
масштабирования видео.) Если Вы беспокоитесь из-за нескольких
501
излишне отброшенных битов, возможно, Вы предпочтёте взамен
502
масштабировать видео. Мы рассмотрим это ниже в нашем примере.
503
В действительности, Вы можете доверить фильтру
504
<tt class="option">cropdetect</tt> сделать для Вас всё вышеупомянутое,
505
т.к. у него есть необязательный параметр округления
506
<tt class="option">round</tt>, равный 16 по умолчанию.
508
Также будьте осторожны с "полутёмными" пикселями на краях. Убедитесь,
509
что они тоже отрезаются, иначе Вы будете тратить биты, которым есть
512
После всего выше сказанного и сделанного, Вы, вероятно, получите
513
видео не точно формата 1:85.1 или 2.35:1, а с чем-то близким
514
к этому. Вы можете вычислить новый коэффициент соотношения
515
сторон вручную, но <span class="application">MEncoder</span>
516
предоставляет опцию для <code class="systemitem">libavcodec</code>,
517
называемую <tt class="option">autoaspect</tt>, которая сделает это для
518
Вас. Ни в коем случае не увеличивайте размер этого видео с целью
519
квадратизации пикселей, если Вы не желаете впустую потратить
520
место на жёстком диске.
521
Масштабирование должно выполняться при воспроизведении, и плеер
522
использует коэффициент соотношения сторон, сохранённый в AVI, для
523
определения правильного разрешения.
524
К сожалению, не все плееры используют эту информацию автомасштабирования,
525
поэтому Вам всё ещё может быть необходимо перемасштабирование.
526
</p></div><div class="sect2" title="10.1.5. Выбор разрешения и битпотока"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-resolution-bitrate"></a>10.1.5. Выбор разрешения и битпотока</h3></div></div></div><p>
527
Если Вы не собираетесь кодировать в режиме постоянного квантователя,
528
Вам нужно выбрать битпоток.
529
Понятие битпотока очень просто: это среднее число битов, которые
530
будут использованы для сохранения Вашего фильма, в секунду.
531
Обычно битпоток измеряется в килобитах (1000 бит) в секунду.
532
Размер Вашего фильма на диске есть битпоток, умноженный на
533
длительность фильма, плюс небольшие накладные расходы
535
<a class="link" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-muxing-avi-limitations" title="10.1.12.2. Ограничения контейнера AVI">контейнер AVI</a>
537
Остальные параметры, такие как масштабирование, усечение и т.п.
538
<span class="bold"><strong>не</strong></span> изменят размер файла, пока
539
Вы также не измените битпоток!
541
Битпоток изменяется <span class="bold"><strong>не</strong></span>
542
пропорционально разрешению.
543
То есть файл разрешением 320х240 с 200 кбит/сек не будет
544
того же качества, что этот же фильм разрешением 640х480
546
Для этого есть две причины:
547
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
548
<span class="bold"><strong>Восприятие</strong></span>: Вы сильнее
549
замечаете MPEG артефакты, если они больше!
550
Артефакты возникают на масштабе блоков (8х8).
551
Ваш глаз не увидит ошибки в 4800 маленьких блоков так же
552
легко, как и в 1200 больших блоков (предполагая
553
масштабирование обоих фильмов на полный экран).
554
</p></li><li class="listitem"><p>
555
<span class="bold"><strong>Теоретическая</strong></span>: Когда Вы
556
уменьшаете размер изображения, но продолжаете использовать
557
блоки того же размера (8х8) для пространственных частотных
558
преобразований, Вы перемещаете больше данных в высокочастотные
559
полосы. Грубо говоря, каждый пиксель содержит больше деталей,
561
Так что несмотря на то, что Ваша картинка с уменьшенным
562
масштабом содержит 1/4 информации в пространственных направлениях,
563
она всё ещё может содержать большУю часть информации в
564
частотных интервалах (предполагая, что высокие частоты были
565
не использованы в оригинальном 640х480 изображении).
566
</p></li></ol></div><p>
568
Последние руководства рекомендовали выбор битпотока и разрешения,
569
основываясь на приближении "бит на пиксель", но это обычно не
570
верно из-за упомянутых выше причин.
571
Похоже, лучшей оценкой является рост битпотока пропорционально
572
квадратному корню разрешения, так что 320х240 и 400 кбит/сек
573
должно быть сравнимо с 640х480 и 800 кбит/сек.
574
Однако, это не было строго проверено теоретически или эмпирически.
575
Кроме того, из-за существенного отличия фильмов по уровню шума,
576
деталей, количества движения и т.п., тщетно давать общие рекомендации
577
для "битов на длину диагонали" (аналог битов на пиксель, используя
580
Таким образом, мы обсудили сложность выбора битпотока и разрешения.
581
</p><div class="sect3" title="10.1.5.1. Расчёт разрешения"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-resolution-bitrate-compute"></a>10.1.5.1. Расчёт разрешения</h4></div></div></div><p>
582
Следующие шаги помогут Вам рассчитать разрешение для Вашего
583
кодирования без слишком сильного искажения видео, учитывая
584
несколько видов информации об исходном видео.
585
Прежде всего, Вам необходимо рассчитать коэффициент соотношения
586
сторон для кодированного видео:
587
<code class="systemitem">ARc = (Wc x (ARa / PRdvd )) / Hc</code>
589
</p><div class="itemizedlist" title="где:"><p class="title"><b>где:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>
590
Wc и Hc — ширина и высота усечённого видео,
591
</p></li><li class="listitem"><p>
592
ARa — коэффициент соотношения сторон изображения, обычно 4/3 или 16/9,
593
</p></li><li class="listitem"><p>
594
PRdvd — отношение пикселей DVD, что равно 1.25=(720/576) для PAL
595
DVD и 1.5=(720/480) для NTSC DVD.
596
</p></li></ul></div><p>
598
Затем Вы можете рассчитать разрешение по X и Y, согласно определённому
599
фактору качества сжатия (CQ):
600
<code class="systemitem">ResY = INT(SQRT( 1000*Битпоток/25/ARc/CQ )/16) * 16</code>
601
и <code class="systemitem">ResX = INT( ResY * ARc / 16) * 16</code>.
603
Хорошо, но что такое CQ?
604
CQ соответствует числу битов на пиксель и на кадр для кодирования.
605
Грубо говоря, чем больше CQ, тем меньше вероятность увидеть
606
артефакты кодирования.
607
Однако, если у Вас есть заданный размер для Вашего фильма
608
(например, 1 или 2 CD), есть ограниченное общее число битов,
609
которые Вы можете потратить; поэтому важно найти хороший
610
компромисс между сжимаемостью и качеством.
612
CQ зависит от битпотока, эффективности видеокодека и разрешения фильма.
613
Обычно, в целях увеличения CQ, Вам нужно будет уменьшить размер
614
фильма, при условии, что битпоток, вычисленный как функция конечного
615
размера, и длина фильма постоянны.
616
С MPEG-4 ASP кодеками, такими как <code class="systemitem">Xvid</code>
617
и <code class="systemitem">libavcodec</code>, CQ
618
меньше 0.18 обычно приводит к изображению с большим числом
619
сегментов "квадратиками", из-за недостаточного числа битов для
620
кодирования информации в каждом макроблоке.
621
(MPEG4, как и многие другие кодеки, группирует пиксели в блоки по
622
несколько пикселей для сжатия изображения; если битов не хватает,
623
границы этих блоков заметны.)
624
Следовательно, благоразумно выбрать CQ в диапазоне от 0.20 до 0.22
625
для рипа на 1 CD и 0.26-0.28 для рипа на 2 CD при использовании
626
стандартных опций кодирования.
627
Более продвинутые опции кодирования, такие как указанные для
628
<a class="link" href="menc-feat-enc-libavcodec.html#menc-feat-mpeg4-lavc-example-settings" title="10.3.4. Примеры настроек кодирования"><code class="systemitem">libavcodec</code></a>
630
<a class="link" href="menc-feat-xvid.html#menc-feat-xvid-example-settings" title="10.4.4. Примеры настроек кодирования"><code class="systemitem">Xvid</code></a>
631
должны сделать возможным получение того же качества с CQ в диапазоне
632
от 0.18 до 0.20 для рипа на 1 CD и 0.24-0.26 для рипа на 2 CD.
633
Используя MPEG-4 AVC кодеки, такие как
634
<code class="systemitem">x264</code>, Вы можете использовать
635
CQ в диапазоне от 0.14 до 0.16 со стандартными опциями кодирования
636
и должны суметь достичь таких низких значений, как 0.10 — 0.12
638
<a class="link" href="menc-feat-x264.html#menc-feat-x264-example-settings" title="10.5.2. Примеры настроек кодирования">продвинутых опций кодирования <code class="systemitem">x264</code></a>.
640
Пожалуйста, обратите внимание, что CQ — лишь показательная величина,
641
т.к. она зависит от кодируемого содержимого; CQ 0.18 может хорошо
642
смотреться для Бергмана (Bergman), в отличии от такого фильма как
643
Матрица (The Matrix), содержащего много сцен с быстрым движением.
644
С другой стороны, бесполезно увеличивать CQ выше 0.30, т.к. Вы
645
будете тратить биты без заметного увеличения качества.
646
Так же обратите внимание, что, как было указано выше в данном
647
руководстве, фильмам с низким разрешением (например, по сравнению с DVD)
648
необходим более высокий CQ для того, чтоб они выглядели хорошо.
649
</p></div></div><div class="sect2" title="10.1.6. Фильтрация"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-filtering"></a>10.1.6. Фильтрация</h3></div></div></div><p>
650
Изучение использования видео фильтров <span class="application">MEncoder</span>
651
важно для получения хороших результатов кодирования.
652
Вся обработка видео выполняется посредством фильтров: усечение,
653
масштабирование, подстройка цвета, удаление шума, увеличение
654
чёткости, деинтерлейс (преобразование видео из чересстрочной
655
развёртки в построчную), телесин, обратный телесин и удаление
656
блочной сегментации — и это лишь некоторые из них.
657
Вместе с огромным количеством поддерживаемых входных форматов,
658
разнообразие фильтров, доступных в <span class="application">MEncoder</span>,
659
является одним из его основных достоинств над другими аналогичными
662
Фильтры загружаются в цепочку с помощью опции -vf:
664
</p><pre class="screen">-vf фильтр1=опции,фильтр2=опции,...</pre><p>
666
Большинство фильтров используют численные значения опций,
667
разделённые двоеточиями, но синтаксис этих параметров различается
668
у разных фильтров, так что читайте мануал для детальной
669
информации о фильтрах, которые Вы желаете использовать.
671
Фильтры действуют на видео в порядке их загрузки.
672
Например, следующая цепочка:
674
</p><pre class="screen">-vf crop=688:464:12:4,scale=640:464</pre><p>
676
сперва усечёт область изображения до 688х464 с верхним левым
677
углом (12,4), а затем масштабирует результат до 640х464.
679
Некоторые фильтры нужно загружать в начале цепочки фильтров (или
680
рядом с ним) с целью получения преимущества от использования
681
информации после видеодекодера, которая будет потеряна или
682
искажена другими фильтрами.
683
Важнейшими примерами являются: <tt class="option">pp</tt> (постобработка,
684
только при выполнении операций удаления блочной сегментации
685
(deblocking) или увеличения чёткости краёв (deringing)),
686
<tt class="option">spp</tt> (другой фильтр постобработки, служащий для
687
удаления артефактов MPEG), <tt class="option">pullup</tt> (обратный
688
телесин), и <tt class="option">softpulldown</tt> (для преобразования
689
мягкого телесина в жёсткий).
691
В общем случае, Вам следует делать настолько мало фильтрации,
692
насколько это возможно, для того чтоб остаться близко к оригинальному
693
DVD источнику. Усечение часто необходимо (как описано выше), но
694
избегайте масштабирования видео. Несмотря на то, что уменьшение
695
размера иногда предпочтительно использованию бОльших
696
квантователей, нужно избегать и того, и другого: помните,
697
что мы с самого начала решили обменять биты на качество.
699
Также не корректируйте гамму, контрастность, яркость и т.п.. То,
700
что хорошо выглядит на Вашем мониторе, может плохо выглядеть
701
на других. Эти коррекции должны выполняться только при
704
Однако, есть одна вещь, которую Вы, быть может, захотите сделать —
705
это пропустить видео через очень слабый фильтр удаления шумов,
706
такой как <tt class="option">-vf hqdn3d=2:1:2</tt>.
707
Ещё раз, причиной этому является то, что этим битам можно найти
708
лучшее применение: зачем тратить их, кодируя шум, если Вы просто
709
можете вернуть этот шум в процессе воспроизведения?
710
Увеличение параметров для <tt class="option">hqdn3d</tt> дополнительно
711
улучшит сжимаемость, но увеличив значения слишком сильно, Вы рискуете
712
ухудшить различимость изображения.
713
Рекомендованные выше значения (<tt class="option">2:1:2</tt>) слегка
714
консервативны; не бойтесь экспериментировать с более высокими
715
значениями и самостоятельно оценивать результаты.
716
</p></div><div class="sect2" title="10.1.7. Чересстрочная развёртка и телесин"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-interlacing"></a>10.1.7. Чересстрочная развёртка и телесин</h3></div></div></div><p>
717
Почти все фильмы снимаются при 24 fps [кадр/сек]. Поскольку
718
в NTSC используется 30000/1001 fps, нужно выполнить некоторую
719
обработку для такого 24 fps видео, чтобы оно корректно
720
воспроизводилось при кадровой частоте NTSC. Этот процесс называется
721
3:2 пулдаун, обычно называемый телесин (поскольку пулдаун часто
722
применяется в процессе показа телевизионного фильма, англ. telecine);
723
и в упрощенном описании это работает путём замедления фильма до
724
24000/1001 fps и повтора каждого четвёртого кадра.
726
Однако, никакой специальной обработки не выполняется для видео
727
на PAL DVD, которое воспроизводится при 25 fps. (Технически PAL
728
может быть подверженным телесину, называемому 2:2 пулдаун, но на
729
практике это не применяется).
730
24 fps фильм просто проигрывается на 25 fps. В результате фильм
731
воспроизводится слегка быстрее, но если Вы не пришелец, то,
732
вероятно, не заметите разницы.
733
У большинства PAL DVD аудио скорректировано по высоте звука так,
734
что, воспроизводясь при 25 fps, оно звучит нормально, несмотря на
735
то, что аудиодорожка (и, следовательно, весь фильм) проигрываются
736
на 4% быстрее, чем NTSC DVD.
738
Поскольку видео на PAL DVD не переделывается, Вам не стоит
739
беспокоится о частоте кадров. У источника 25 fps и у Вашего
740
рипа будет 25 fps. Однако, если Вы делаете рип NTSC DVD фильма,
741
Вам, быть может, придётся выполнить обратный телесин.
743
Для фильмов, снятых на 24 fps, видео на NTSC DVD идёт либо с телесином
744
30000/1001, либо с построчной развёрткой 24000/1001 fps и
745
предназначается для телесина на лету с помощью DVD плеера.
746
С другой стороны, TV сериалы идут обычно только с чересстрочной развёрткой,
747
но без телесина. Это не строгое правило: есть сериалы с
748
чересстрочной развёрткой (например, Баффи, Убийца Вампиров
749
[Buffy the Vampire Slayer]), в то время как другие представляют
750
собой смесь построчной и чересстрочной развёртки (такие как
751
Ангел [Angel] или 24).
753
Настоятельно рекомендуется прочитать раздел о
754
<a class="link" href="menc-feat-telecine.html" title="10.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD">работе с телесином и чересстрочной развёрткой в NTSC DVD</a>
755
для изучения способов обработки в разных ситуациях.
757
Однако, если Вы преимущественно делаете рипы фильмов, Вы, скорее
758
всего, имеете дело с 24 fps видео либо с построчной развёрткой,
759
либо с подвергнутым телесину; в последнем случае Вы можете использовать
760
<tt class="option">pullup</tt> фильтр: <tt class="option">-vf
761
pullup,softskip</tt>.
762
</p></div><div class="sect2" title="10.1.8. Кодирование чересстрочного видео"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-encoding-interlaced"></a>10.1.8. Кодирование чересстрочного видео</h3></div></div></div><p>
763
Если Вы желаете кодировать фильм с чересстрочной развёрткой
764
(NTSC или PAL видео), Вам нужно решить, будете ли Вы его
765
преобразовывать в построчную развёртку или нет.
766
Хотя такое преобразование (деинтерлейс) сделает Ваш фильм
767
пригодным для дисплеев с построчной развёрткой, таких как
768
компьютерные мониторы и проекторы, это будет иметь свою цену:
769
частота полей уменьшится вдвое от 50 или 60000/1001 до 25 или
770
30000/1001 поля в секунду, и примерно половина информации в
771
Вашем фильме будет потеряна в сценах со значительным движением.
773
Поэтому, если Вы кодируете для высококачественных архивных целей,
774
не рекомендуется делать деинтерлейс. Вы всегда можете преобразовать
775
развёртку фильма в процессе воспроизведения (при воспроизведении
776
на устройствах с построчной развёрткой).
777
Мощность современных компьютеров вынуждает плееры использовать
778
фильтр деинтерлейса, что слегка ухудшает качество изображения.
779
Но плееры будущего будут способны имитировать дисплей TV с
780
чересстрочной развёрткой, выполняя деинтерлейс на полной частоте
781
полей и интерполируя 50 или 60000/1001 кадров в секунду для
782
чересстрочного видео.
784
С чересстрочным видео нужно работать особым образом:
785
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
786
Высота усечения и смещение по оси y должны быть кратны 4.
787
</p></li><li class="listitem"><p>
788
Любое вертикальное масштабирование должно выполняться в режиме
789
чересстрочной развёртки.
790
</p></li><li class="listitem"><p>
791
Фильтры постобработки и удаления шума могут не работать как
792
ожидается, только если Вы особо не позаботитесь об их
793
применении к одному полю за раз, иначе они могут
794
повредить видео при неверном использовании.
795
</p></li></ol></div><p>
796
Учитывая вышесказанное, вот наш первый пример:
797
</p><pre class="screen">
798
mencoder <em class="replaceable"><code>захват.avi</code></em> -mc 0 -oac lavc -ovc lavc -lavcopts \
799
vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
801
Обратите внимание на опции <tt class="option">ilme</tt> и <tt class="option">ildct</tt>.
802
</p></div><div class="sect2" title="10.1.9. Замечания об аудио/видео синхронизации"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-av-sync"></a>10.1.9. Замечания об аудио/видео синхронизации</h3></div></div></div><p>
803
Алгоритмы аудио/видео (A/V) синхронизации <span class="application">MEncoder</span>
804
были разработаны с целью восстановления файлов с повреждённой
806
Однако, в ряде случаев они могут привести к ненужному пропуску
807
или повторению кадров и, возможно, к лёгкой A/V рассинхронизации
808
корректных входных данных (конечно, проблемы A/V синхронизации
809
возникают только при обработке или копировании аудиотрека при
810
кодировании видео, что настоятельно рекомендуется).
811
Поэтому Вы можете переключиться на базовую A/V синхронизацию
812
с помощью опции <tt class="option">-mc 0</tt> или разместить это в
813
конфигурационном файле <code class="systemitem">~/.mplayer/mencoder</code>,
814
если Вы работаете только с хорошими источниками (DVD, TV-захват,
815
высококачественные MPEG-4 рипы и т.п.), а не с повреждёнными
818
Если Вы хотите дополнительно защититься от странных пропусков
819
и повторений кадров, Вы можете одновременно использовать опции
820
<tt class="option">-mc 0</tt> и <tt class="option">-noskip</tt>.
821
Это предотвратит <span class="emphasis"><em>любую</em></span> A/V коррекцию, и
822
будет копировать кадры один в один, так что Вы не сможете это
823
использовать, если будете применять какие-либо фильтры, которые
824
непредсказуемо добавляют или отбрасывают кадры, либо если у
825
Вашего входного файла переменный битопоток!
826
Поэтому использование <tt class="option">-noskip</tt> в общем случае не
829
Сообщалось о том, что так называемое трёхпроходное аудиокодирование,
830
поддерживаемое <span class="application">MEncoder</span>, вызывало
831
A/V рассинхронизацию.
832
Это наверняка произойдёт при использовании совместно с некоторыми
833
фильтрами, поэтому сейчас <span class="emphasis"><em>не</em></span> рекомендуется
834
использовать трёхпроходный аудио режим.
835
Эта возможность оставлена только для совместимости и для опытных
836
пользователей, понимающих когда это безопасно, а когда нет.
837
Если Вы ранее никогда не слышали о трёхпроходном режиме, забудьте
838
даже о том, что мы его упоминали!
840
Также были сообщения об A/V рассинхронизации при кодировании
841
со стандартного ввода (stdin) с помощью <span class="application">MEncoder</span>.
842
Не делайте этого! Всегда взамен используйте файл или CD/DVD и т.п.
844
</p></div><div class="sect2" title="10.1.10. Выбор видеокодека"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-codec"></a>10.1.10. Выбор видеокодека</h3></div></div></div><p>
845
То, какой видеокодек лучше выбрать, зависит от нескольких
846
факторов, таких как размер, качество, устойчивость к ошибкам,
847
практичность и распространённость, многие из которых сильно
848
зависят от личных предпочтений и технических ограничений.
849
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
850
<span class="bold"><strong>Эффективность сжатия</strong></span>:
851
Достаточно очевидно, что большинство кодеков нового поколения
852
разработаны для увеличения качества и степени сжатия.
853
Поэтому, авторы данного руководства и многие другие люди полагают,
854
что Вы не можете ошибиться
855
<sup>[<a name="fn-menc-feat-dvd-mpeg4-codec-cpu" href="#ftn.fn-menc-feat-dvd-mpeg4-codec-cpu" class="footnote">1</a>]</sup>,
856
выбирая MPEG-4 AVC кодеки (например,
857
<code class="systemitem">x264</code>)
858
вместо таких MPEG-4 ASP кодеков, как
859
<code class="systemitem">libavcodec</code> MPEG-4 или
860
<code class="systemitem">Xvid</code>.
861
(Опытные разработчики кодеков могут быть заинтересованы в
862
ознакомлении с точкой зрения Михаэля Нидермайера (Michael
864
"<a class="ulink" href="http://guru.multimedia.cx/?p=10" target="_top">почему MPEG4-ASP отстой</a>".)
865
Аналогично, Вы должны получить лучшее качество с MPEG-4 ASP, по
866
сравнению с MPEG-2 кодеками.
868
Однако, новые кодеки, находящиеся в интенсивной разработке,
869
могут страдать от ещё не замеченных ошибок, которые могут
870
испортить кодирование. Просто это плата за использование
871
передовых технологий.
873
Более существенно то, что для начала использования нового кодека
874
необходимо потратить время на изучение его опций так, чтобы Вы
875
знали, что нужно подстраивать для достижения заданного качества
877
</p></li><li class="listitem"><p>
878
<span class="bold"><strong>Аппаратная совместимость</strong></span>:
879
Обычно необходимо длительное время для включения поддержки
880
последних видеокодеков в автономные видеоплееры.
881
В итоге, большинство поддерживает только MPEG-1 (наподобие
882
VCD, XVCD и KVCD), MPEG-2 (например, DVD, SVCD и KVCD) и MPEG-4
884
<code class="systemitem">libavcodec</code> LMP4 и
885
<code class="systemitem">Xvid</code>)
886
(Осторожно: обычно поддерживаются не все возможности MPEG-4 ASP).
887
Пожалуйста, обратитесь к технической спецификации Вашего плеера
888
(если она доступна) или к гугл (google) для детальной информации.
889
</p></li><li class="listitem"><p>
890
<span class="bold"><strong>Лучшее соотношение качества и времени кодирования</strong></span>:
891
Кодеки, уже использующиеся определённое время (например,
892
<code class="systemitem">libavcodec</code> MPEG-4 и
893
<code class="systemitem">Xvid</code>) обычно сильно
894
оптимизированы всевозможными остроумными алгоритмами и
895
ассемблерным SIMD кодом. Поэтому они обладают тенденцией
896
достижения лучшего соотношения качества к времени кодирования.
897
Однако, у них могут быть некоторые очень продвинутые опции,
898
которые, будучи включенными, сделают кодирование очень медленным
899
ради несущественного выигрыша.
901
Если Вам нужна высокая скорость, примерно придерживайтесь настроек
902
видеокодека по умолчанию (хотя Вам стоит попробовать другие опции,
903
упоминаемые в иных разделах данного руководства).
905
Вы так же можете рассмотреть вариант использования многопоточного
906
кодека, хотя это полезно только для пользователей машин с
907
несколькими процессорами.
908
<code class="systemitem">libavcodec</code> MPEG-4 позволяет
909
это, но выигрыш в скорости ограничен и есть небольшой отрицательный
910
эффект для качества картинки.
911
Многопоточное кодирование <code class="systemitem">Xvid</code>,
912
включаемое опцией <tt class="option">threads</tt>, может использоваться для
913
ускорения кодирования (на примерно 40-60% в типичных случаях)
914
с небольшим ухудшением картинки или вообще без него.
915
<code class="systemitem">x264</code> также позволяет
916
многопоточное кодирование, что обычно ускоряет процесс на 94%
917
для каждого CPU ядра с уменьшением PSNR от 0.005 дБ до 0.01 дБ при типичных
919
</p></li><li class="listitem"><p>
920
<span class="bold"><strong>Личные предпочтения</strong></span>:
921
Здесь всё становится почти неразумным: из-за тех же причин, по
922
которым одни придерживаются DivX 3 в течении лет, в то время
923
как новые кодеки уже творят чудеса, другие люди предпочитают
924
<code class="systemitem">Xvid</code> или
925
<code class="systemitem">libavcodec</code> MPEG-4
926
использованию <code class="systemitem">x264</code>.
928
Вам нужно принимать решение самостоятельно; не слушайте советов
929
людей, признающих только один кодек.
930
Сделайте несколько образцов клипов из искомых источников и
931
сравните разные опции кодирования и кодеки, с целью выбора
932
того, что Вам наиболее подходит.
933
Лучший кодек — это тот, которым Вы сами овладели, и
934
который выглядит лучше всего для Ваших глаз на Вашем дисплее
935
<sup>[<a name="fn-menc-feat-dvd-mpeg4-codec-playback" href="#ftn.fn-menc-feat-dvd-mpeg4-codec-playback" class="footnote">2</a>]</sup>!
936
</p></li></ul></div><p>
937
Пожалуйста, обратитесь к разделу
938
<a class="link" href="menc-feat-selecting-codec.html" title="9.1. Выбор кодеков и формата файлов">выбор кодеков и форматов контейнера</a>
939
для получения списка поддерживаемых кодеков.
940
</p></div><div class="sect2" title="10.1.11. Аудио"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-audio"></a>10.1.11. Аудио</h3></div></div></div><p>
941
Аудио — это гораздо более простая проблема: если Вы
942
беспокоитесь о качестве, просто оставьте всё как есть.
943
Даже потоки AC-3 5.1 не более чем 448 Кбит/с и они стоят каждого
944
бита. Вы можете соблазниться перекодированием аудио в
945
высококачественный Vorbis (он же ogg формат), но лишь то, что
946
у Вас сегодня нет A/V приёмника для пропускания AC-3, не означает,
947
что у Вас не будет его завтра. Для жизнеспособности Ваших DVD
948
рипов в будущем, сохраняйте поток AC-3.
949
Вы можете сохранить поток AC-3, копируя его непосредственно в
950
видеопоток <a class="link" href="menc-feat-mpeg4.html" title='9.3. Двухпроходное кодирование MPEG-4 ("DivX")'>в процессе кодирования</a>.
951
Вы также можете извлечь AC-3 поток с целью мультиплексирования его
952
в контейнеры наподобие NUT или Matroska (Матрёшка).
953
</p><pre class="screen">
954
mplayer <em class="replaceable"><code>файл_источника.vob</code></em> -aid 129 -dumpaudio -dumpfile <em class="replaceable"><code>звук.ac3</code></em></pre><p>
955
сохранит в файл <em class="replaceable"><code>звук.ac3</code></em> аудиодорожку
956
с номером 129 из файла
957
<em class="replaceable"><code>файл_источника.vob</code></em> (Обратите внимание:
958
DVD VOB файлы обычно используют нумерацию аудио, отличную от
959
стандартной, что означает, что аудиодорожка VOB 129 — это вторая
962
Но иногда у Вас действительно нет иного выбора, чем далее сжимать
963
звук для того, чтоб больше битов могло быть потрачено на видео.
964
Большинство людей предпочитают сжимать звук с помощью MP3 или
966
Последний является очень эффективным, но MP3 лучше поддерживается
967
аппаратными плеерами, хотя эта тенденция меняется.
969
<span class="emphasis"><em>Не</em></span> используйте <tt class="option">-nosound</tt> при
970
кодировании файла с аудио, даже если позже Вы будете отдельно
971
кодировать и мультеплексировать аудио.
972
Хотя это может работать в идеальных случаях, использование
973
<tt class="option">-nosound</tt> обычно скрывает ряд проблем в Ваших
974
настройках кодирования в командной строке.
975
Другими словами, наличие звуковой дорожки в процессе кодирования
976
гарантирует Вам, что в случае отсутствия сообщений, подобных
977
<span class="quote">«<span class="quote">Слишком много аудиопакетов в буфере</span>»</span>, у Вас будет
978
получена правильная синхронизация.
980
Вам необходимо обработать звук с помощью
981
<span class="application">MEncoder</span>.
982
Например, Вы можете копировать исходную звуковую дорожку в
983
процессе кодирования с помощью <tt class="option">-oac copy</tt> или
984
преобразовать её в "лёгкий" 4 кГц моно WAV PCM с помощью
985
<tt class="option">-oac pcm -channels 1 -srate 4000</tt>.
986
Иначе, в ряде случаев, будет создаваться видео файл,
987
рассинхронизированный с аудио.
988
Такие случаи происходят, когда число кадров видео исходного файла
989
не совпадает с полной длиной кадров аудио, или когда были
990
разрывы/сшивания потока, где появились пропущенные или излишние
992
Правильным решением подобных проблем является вставка тишины или
993
усечение аудио в таких точках.
994
Однако, <span class="application">MPlayer</span> не может это сделать
995
и если Вы демультиплексируете AC-3 аудио и кодируете его отдельным
996
приложением (или создаёте дамп в PCM с помощью
997
<span class="application">MPlayer</span>), сшивания останутся
998
нескорректированными и единственный испособ их исправить —
999
пропускать/дублировать видеокадры в местах сшивки.
1000
Пока <span class="application">MEncoder</span> видит аудио при
1001
кодировании видео, он может выполнять этот пропуск/дублирование
1002
(что обычно не вызывыет проблем, т.к. происходит при полностью
1003
чёрных кадрах или при смене сцен), но если
1004
<span class="application">MEncoder</span> не доступно аудио, он просто
1005
будет обрабатывать все кадры "как есть" и они не будут совпадать
1006
с окончательным аудиопотоком, когда Вы, например, объедините
1007
аудио и видео дорожки в Matroska файл.
1009
Прежде всего, Вам необходимо преобразовать DVD звук в WAV файл,
1010
который может использоваться аудиокодеком в качестве входных
1012
</p><pre class="screen">
1013
mplayer <em class="replaceable"><code>исходный_файл.vob</code></em> -ao pcm:file=<em class="replaceable"><code>звук.wav</code></em>
1014
-vc dummy -aid 1 -vo null
1016
сохранит вторую аудиодорожку из файла
1017
<em class="replaceable"><code>исходный_файл.vob</code></em> в файл
1018
<em class="replaceable"><code>звук.wav</code></em>.
1019
Возможно, Вы захотите нормализовать звук перед кодированием,
1020
поскольку аудиодорожки DVD обычно записываются с маленькой
1022
Вы можете использовать, например, утилиту <span class="application">normalize</span>,
1023
доступную в большинстве дистрибутивов.
1024
Если Вы пользуетесь Window$, утилита <span class="application">BeSweet</span>
1026
Вы можете сжать в Vorbis или MP3. Например:
1027
</p><pre class="screen">oggenc -q1 <em class="replaceable"><code>звук.wav</code></em></pre><p>
1028
кодирует <em class="replaceable"><code>звук.wav</code></em> с качеством 1,
1029
что примерно эквивалентно 80 Кб/с и является минимальным качеством,
1030
при котором Вам нужно кодировать, если Вы заботитесь о качестве.
1031
Пожалуйста, обратите внимание, что <span class="application">MEncoder</span>
1032
на данный момент не поддерживает мультиплексирование аудиопотоков
1033
Vorbis в выходной файл, поскольку он поддерживает только AVI и
1034
MPEG контейнеры для выходных файлов, использование каждого из
1035
которых может привести к проблемам A/V синхронизации с
1036
некоторыми плеерами, в случае когда AVI файл содержит VBR
1037
аудиопотоки наподобие Vorbis.
1038
Не беспокойтесь, в данном документе будет рассказано как Вы
1039
можете это сделать с помощью сторонних программ.
1040
</p></div><div class="sect2" title="10.1.12. Мультиплексирование"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-muxing"></a>10.1.12. Мультиплексирование</h3></div></div></div><p>
1041
Теперь, после того как Вы кодировали видео, скорее всего, Вы
1042
захотите мультиплексировать его с одним или несколькими
1043
аудиопотоками в такие видео контейнеры как AVI, MPEG,
1045
На данный момент встроенная поддержка вывода аудио и видео в
1046
<span class="application">MEncoder</span> есть только для форматов
1047
контейнеров MPEG и AVI.
1049
</p><pre class="screen">
1050
mencoder -oac copy -ovc copy -o <em class="replaceable"><code>выходной_фильм.avi</code></em> \
1051
-audiofile <em class="replaceable"><code>исходный_звук.mp2</code></em> <em class="replaceable"><code>исходное_видео.avi</code></em>
1053
Это объединит видеофайл <em class="replaceable"><code>исходное_видео.avi</code></em>
1054
и аудиофайл <em class="replaceable"><code>исходный_звук.mp2</code></em>
1055
в AVI файл <em class="replaceable"><code>выходной_фильм.avi</code></em>.
1056
Эта команда работает с MPEG-1 слой I, II и III (более
1057
известный как MP3) аудио, WAV, а также с некоторыми иными
1060
<span class="application">MEncoder</span>
1061
обладает экспериментальной поддержкой
1062
<code class="systemitem">libavformat</code> —
1063
библиотеки из проекта FFmpeg, поддерживающей мультиплексирование
1064
и демультиплексирование множества контейнеров.
1066
</p><pre class="screen">
1067
mencoder -oac copy -ovc copy -o <em class="replaceable"><code>выходной_фильм.asf</code></em> \
1068
-audiofile <em class="replaceable"><code>исходный_звук.mp2</code></em> <em class="replaceable"><code>исходное_видео.avi</code></em> \
1069
-of lavf -lavfopts format=asf
1071
Это сделает то же самое, что и предыдущий пример, но выходным
1072
контейнером будет ASF.
1073
Пожалуйста, обратите внимание, что эта поддержка весьма
1074
экспериментальна (но становится лучше c каждым днём), и будет
1075
работать только в случае компиляции <span class="application">MPlayer</span>
1076
с включенной поддержкой
1077
<code class="systemitem">libavformat</code> (что означает,
1078
что в большинстве случаев бинарная версия из пакетов не будет
1080
</p><div class="sect3" title="10.1.12.1. Улучшение мультиплексирования и надёжности A/V синхронизации"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-muxing-filter-issues"></a>10.1.12.1. Улучшение мультиплексирования и надёжности A/V синхронизации</h4></div></div></div><p>
1081
Вы можете столкнуться с некоторыми серьёзными проблемами A/V
1082
синхронизации при попытке мультиплексирования Вашего видео
1083
с некоторыми аудиодорожками, где, как бы Вы не подбирали задержку
1084
аудио, никогда не получается правильная синхронизация.
1085
Это может происходить при использовании некоторых видеофильтров,
1086
пропускающих или дублирующих некоторые кадры, например фильтров
1088
Настоятельно рекомендуется добавлять видеофильтр
1089
<tt class="option">harddup</tt> в конце цепочки фильтров для избежания
1092
Без опции <tt class="option">harddup</tt>, в случае когда
1093
<span class="application">MEncoder</span> хочет дублировать кадр, он
1094
полагается на то, что мультиплексор расположит отметку в
1095
контейнере таким образом, что последний кадр будет повторен для
1096
достижения синхронизации без реальной записи кадра.
1097
С опцией <tt class="option">harddup</tt>, <span class="application">MEncoder</span>
1098
вместо этого просто ещё раз поместит последний кадр в цепочку
1100
Это означает, что кодер получит <span class="emphasis"><em>точно</em></span>
1101
такой же кадр дважды и сожмёт его.
1102
Это приведёт у несколько большему файлу, но избавит от проблем
1103
при демультиплексировании или ремультиплексировании с другими
1104
форматами контейнеров.
1106
Также у Вас может не быть иного выбора, как использовать
1107
<tt class="option">harddup</tt> с форматами контейнеров, которые
1108
не слишком плотно связаны с
1109
<span class="application">MEncoder</span>, например, с форматами,
1110
поддерживаемыми с помощью
1111
<code class="systemitem">libavformat</code>,
1112
которые могут не поддерживать дублирование кадров на уровне
1114
</p></div><div class="sect3" title="10.1.12.2. Ограничения контейнера AVI"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-muxing-avi-limitations"></a>10.1.12.2. Ограничения контейнера AVI</h4></div></div></div><p>
1115
Хотя это самый широко распространённый формат контейнера после
1116
MPEG-1, он также обладает некоторыми существенными недостатками.
1117
Пожалуй, они наиболее очевидны в его избыточности.
1118
Для каждой цепочки AVI файла теряется 24 байта на заголовки и
1120
Это приводит к чуть более 5 МБ/час или 1.0-2.5% избыточности
1121
для 700 МБ фильма. Это не кажется большим, но может означать
1122
разницу между возможностью использования 700 кбит/сек или
1123
714 кбит/сек в случаях, когда каждый бит на счету.
1125
В дополнение к малой эффективности, AVI также обладает следующими
1126
серьёзными ограничениями:
1127
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1128
Может быть сохранено только содержимое с фиксированной частотой
1129
кадров. В частности, это особенно ограничивает, когда Ваш
1130
исходный материал смешанного содержимого: например, является
1131
смесью NTSC видео и киноматериала.
1132
В действительности, есть хаки, позволяющие сохранять содержимое
1133
с переменным fps в AVI, но они увеличивают (и без того большую)
1134
избыточность впятеро или более того и поэтому непрактичны.
1135
</p></li><li class="listitem"><p>
1136
Аудио в AVI файлах должно быть или с постоянным битпотоком (CBR)
1137
или с постоянным размером кадра (т.е. все кадры декодируются
1138
в одно и то же число выборок).
1139
К сожалению, самый эффективный кодек, Vorbis, не удовлетворяет
1140
ни одному из данных требований.
1141
Поэтому, если Вы планируете сохранять Ваш фильм в AVI, Вы должны
1142
использовать менее эффективный кодек, такой как MP3 или AC-3.
1143
</p></li></ol></div><p>
1144
Сказав всё это, отметим, что <span class="application">MEncoder</span>
1145
на данный момент не поддерживает вывод с переменным fps или
1147
Поэтому Вы можете не рассматривать всё это как ограничения, если
1148
<span class="application">MEncoder</span> — это единственный
1149
инструмент, который Вы используете для кодирования.
1150
Однако, возможно использовать <span class="application">MEncoder</span>
1151
только для кодирования видео и затем использовать внешние
1152
утилиты для кодирования аудио и мультиплексирования его в
1153
контейнер другого формата.
1154
</p></div><div class="sect3" title="10.1.12.3. Мультиплексирование в контейнер Matroska (Матрёшка)"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-dvd-mpeg4-muxing-matroska"></a>10.1.12.3. Мультиплексирование в контейнер Matroska (Матрёшка)</h4></div></div></div><p>
1155
Matroska — это свободный, открытый стандарт формата
1156
контейнера, нацеленный на предоставление большого количества
1157
продвинутых возможностей, которые старые контейнеры (наподобие
1158
AVI) не поддерживают.
1159
Например, Matroska поддерживает аудиосодержимое с переменным
1160
битпотоком (VBR), переменные частоты кадров (VFR), разделы,
1161
файловые вложения, код обнаружения ошибок (EDC) и современные
1162
A/V кодеки, такие как "Продвинутое Аудио Кодирование" ("Advanced
1163
Audio Coding", AAC), "Vorbis" или "MPEG-4 AVC" (H.264), также
1164
не поддерживаемые AVI.
1166
Утилиты, необходимые для создания Matroska файлов, сообща
1167
называются <span class="application">mkvtoolnix</span>, и доступны
1168
для большинства Unix платформ, так же как и для Window$.
1169
Поскольку Matroska — открытый формат, Вы можете найти
1170
иные утилиты, которые лучше Вам подходят, но поскольку
1171
<span class="application">mkvtoolnix</span> — наиболее общие
1172
и поддерживаются самой командой разработчиков Matroska, мы
1173
будем обсуждать только их использование.
1175
Возможно, самым простым способом начать использовать Matroska
1176
является использование <span class="application">MMG</span>,
1177
графической оболочки, поставляемой с
1178
<span class="application">mkvtoolnix</span>. Следуйте
1179
<a class="ulink" href="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html" target="_top">руководству к mkvmerge GUI (mmg)</a>.
1181
Также Вы можете мультиплексировать аудио и видео файлы используя
1183
</p><pre class="screen">
1184
mkvmerge -o <em class="replaceable"><code>выходной_файл.mkv</code></em> <em class="replaceable"><code>входное_видео.avi</code></em> <em class="replaceable"><code>входное_аудио1.mp3</code></em> <em class="replaceable"><code>входное_аудио2.ac3</code></em>
1186
Это объединит видеофайл <em class="replaceable"><code>входное_видео.avi</code></em>
1187
и два аудиофайла <em class="replaceable"><code>входное_аудио1.mp3</code></em>
1188
и <em class="replaceable"><code>входное_аудио2.ac3</code></em> в Matroska
1189
файл <em class="replaceable"><code>выходной_файл.mkv</code></em>.
1190
Как было отмечено ранее, Matroska способна реализовать гораздо
1191
большее, например, множественные аудиодорожки (включая тонкую
1192
настройку аудио/видео синхронизации), разделы, субтитры,
1194
Пожалуйста, обратитесь к документации на эти приложения для
1196
</p></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.fn-menc-feat-dvd-mpeg4-codec-cpu" href="#fn-menc-feat-dvd-mpeg4-codec-cpu" class="para">1</a>] </sup>
1197
Несмотря на это, будьте осторожны: для декодирования MPEG-4 AVC
1198
видео с DVD разрешением необходима быстрая машина (например,
1199
Pentium 4 свыше 1.5 ГГц или Pentium M свыше 1 ГГц).
1200
</p></div><div class="footnote"><p><sup>[<a name="ftn.fn-menc-feat-dvd-mpeg4-codec-playback" href="#fn-menc-feat-dvd-mpeg4-codec-playback" class="para">2</a>] </sup>
1201
Один и тот же результат кодирования может не выглядеть таким же
1202
на чьём-либо другом мониторе или при воспроизведении с помощью
1203
другого декодера, так что проверяйте Ваши результаты кодирования
1204
на жизнеспособность, воспроизводя их в разных начальных условиях.
1205
</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="encoding-guide.html">Пред.</a> </td><td width="20%" align="center"><a accesskey="u" href="encoding-guide.html">Уровень выше</a></td><td width="40%" align="right"> <a accesskey="n" href="menc-feat-telecine.html">След.</a></td></tr><tr><td width="40%" align="left" valign="top">Глава 10. Кодирование с <span class="application">MEncoder</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Начало</a></td><td width="40%" align="right" valign="top"> 10.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD</td></tr></table></div></body></html>