~ubuntu-branches/debian/squeeze/mplayer/squeeze

« back to all changes in this revision

Viewing changes to DOCS/HTML/ru/menc-feat-dvd-mpeg4.html

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2010-07-31 23:44:52 UTC
  • mfrom: (1.1.4 upstream) (8.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100731234452-j7yyrgsh1wustazr
Tags: 2:1.0~rc3++final.dfsg1-1
* upload to unstable
* enable mencoder and mplayer-gui package
* build again against the system FFmpeg 0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
высоким возможным качеством? Я не беспокоюсь о размере файла, мне нужно лишь
 
5
наилучшее качество.".
 
6
</p><p>
 
7
Последний вопрос, похоже, отчасти неверно сформулирован. В конце концов, если
 
8
Вы не беспокоитесь о размере файла, почему бы просто не скопировать весь MPEG-2
 
9
видео поток с DVD? Конечно, Ваш AVI файл будет занимать около 5GB,
 
10
но если Вы желаете наилучшее качество и не волнуетесь о размере, то это,
 
11
несомненно, лучшее решение.
 
12
</p><p>
 
13
В действительности, причиной, по которой Вы хотите перекодировать DVD в MPEG-4,
 
14
является именно Ваше <span class="bold"><strong>беспокойство</strong></span>
 
15
о размере файла.
 
16
</p><p>
 
17
Сложно дать универсальный рецепт о создании DVD рипа очень высокого
 
18
качества. Необходимо рассмотреть несколько факторов, и Вы должны
 
19
понимать эти детали, иначе Вы, скорее всего, разочаруетесь своими
 
20
результатами. Ниже мы исследуем некоторые из этих вопросов, а затем
 
21
рассмотрим пример. Мы предполагаем, что Вы используете
 
22
<code class="systemitem">libavcodec</code> для кодирования видео,
 
23
хотя теория также применима и к другим кодекам.
 
24
</p><p>
 
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
некоторые предварительные действия.
 
35
</p><p>
 
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>: Различные низкие
 
86
  кадровые частоты.
 
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
развёрткой или просто видео; однако, последний термин двусмысленный.
 
91
</p><p>
 
92
Из-за дальнейших усложнений, некоторые фильмы будут смесью
 
93
нескольких, указанных выше.
 
94
</p><p>
 
95
Наиболее важным различием между всеми этими форматами является
 
96
то, что одни из них основаны на кадрах, а другие — на полях.
 
97
<span class="bold"><strong>Любой</strong></span> фильм, подготовленный для
 
98
просмотра на телевидении (включая DVD), преобразуется в формат,
 
99
основанный на полях.
 
100
 
 
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, то это ускоряет воспроизведение фильма
 
112
  на 4%.
 
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-й кадр показывается за время длительности трёх полей,
 
116
  вместо двух.
 
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
существенно пострадает, если оно делается из преобразованного
 
139
источника.
 
140
</p><p>
 
141
Когда видео находится на DVD, последовательные пары полей
 
142
группируются как кадр, даже если они не предназначены для
 
143
одновременного отображения.
 
144
Стандарт MPEG-2, используемый на DVD и цифровом TV предоставляет
 
145
возможность одновременно кодировать исходные кадры с построчной
 
146
развёрткой и сохранять число полей, в течении которых кадр
 
147
должен быть показан, в его заголовке.
 
148
Если был использован такой метод, фильм часто будет называться
 
149
как "мягкий телесин", т.к. процесс только указывает DVD-плееру
 
150
о необходимости применения пулдауна к фильму, не изменяя при этом
 
151
сам фильм.
 
152
Этот случай существенно предпочтителен, т.к. он может быть легко обращён
 
153
(в действительности, проигнорирован) кодером и т.к. он сохраняет
 
154
максимальное качество.
 
155
Однако, многие широковещательные и DVD студии не используют
 
156
надлежащую технологию кодирования и вместо этого производят
 
157
фильмы с "жёстким телесином", где поля в действительности
 
158
повторяются в кодированном MPEG-2.
 
159
</p><p>
 
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
  с построчной развёрткой, которое было подвергнуто
 
169
  "мягкому телесину".
 
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
  за раз и идетнифицируйте образец, если не можете его увидеть на
 
205
  полной скорости.
 
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 МБ.
 
213
</p><p>
 
214
Есть три подхода при кодировании видео: постоянный битпоток (CBR),
 
215
постоянный квантователь и многопроходность (ABR или усреднённый битпоток).
 
216
</p><p>
 
217
Сложность кадров фильма и, таким образом, число битов, нужных для их
 
218
сжатия может существенно отличаться от одной сцены к другой.
 
219
Современные видеокодеры могут подстраиваться под это в процессе
 
220
работы и варьировать битпоток.
 
221
Однако, в таких простых режимах как CBR кодеры не знают загруженность
 
222
битпотока в последующих сценах и т.о. не могут превысить затребованный
 
223
битпоток для больших промежутков времени.
 
224
Более совершенные режимы, такие как многопроходный режим, могут
 
225
учитывать статистику предыдущих проходов; это решает проблему,
 
226
упомянутую выше.
 
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-го прохода
 
235
или около того.
 
236
Поэтому, в данном разделе дву- и многопроходность будут
 
237
использоваться взаимозаменяемо.
 
238
</p></div><p>
 
239
В каждом из этих режимов видеокодек (такой как
 
240
<code class="systemitem">libavcodec</code>)
 
241
разбивает видеокадр на макроблоки размером 16х16 пикселей и потом
 
242
применяет квантователь к каждому макроблоку. Чем меньше квантоваль,
 
243
тем лучше качество и выше битпоток.
 
244
Метод, используемый видео кодером для определения того, какой
 
245
квантователь использовать для данного макроблока, варьируется и
 
246
подлежит тонкой настройке. (Это крайнее упрощение реального
 
247
процесса, но основная концепция полезна для понимания.)
 
248
</p><p>
 
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 совсем, если Вы заботитесь о качестве.
 
266
</p><p>
 
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 (пику отношения сигнала к шуму),
 
275
что и CBR с
 
276
<tt class="option">vbitrate</tt>=бесконечности и значением по умолчанию
 
277
<tt class="option">vqmin</tt>, равным 2.
 
278
</p><p>
 
279
Проблема с постоянным квантованием заключается в том, что кодек использует
 
280
заданный квантователь вне зависимости от того, требуется это для
 
281
макроблока или нет. То есть возможно использование большего квантователя
 
282
для макроблока без ухудшения видимого качества. Зачем тратить биты на
 
283
излишне низкий квантователь? У Вашего процессора есть столько тактов,
 
284
сколько есть времени, но имеется лишь ограниченное число битов на
 
285
жёстком диске.
 
286
</p><p>
 
287
При двупроходном кодировании первый проход создаст рип фильма так,
 
288
как будто это был CBR, но сохранит лог свойств для каждого кадра.
 
289
Эта информация затем будет использована во время второго прохода
 
290
для принятия интеллектуальных решений о том, какой квантователь
 
291
следует использовать. Во время быстрого движения или сцен с
 
292
высокой детализацией с большой вероятностью будут использованы
 
293
б<span class="emphasis"><em>о</em></span>льшие квантователи, а во время медленного движения или сцен
 
294
с низкой детализацией — меньшие.
 
295
Обычно количество движения играет существенно более важную роль,
 
296
чем количество деталей.
 
297
</p><p>
 
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>.
 
306
</p><p>
 
307
После того, как Вы сейчас убедились, что два прохода — это путь
 
308
к действию, возникает вопрос о том, какой битпоток использовать?
 
309
Ответ таков, что нет единого ответа. В идеале, Вы хотите выбрать
 
310
битпоток, при котором достигается наилучший баланс между качеством
 
311
и размером файла. Здесь возможны вариации в зависимости от
 
312
исходного видеоматериала.
 
313
</p><p>
 
314
Если размер не важен, хорошей отправной точкой для рипа очень высокого
 
315
качества будет 2000 Кбит +/- 200 Кбит.
 
316
Для видеоматериала с быстрым движением или высокой детализацией
 
317
или просто если у Вас очень разборчивый глаз, Вы можете использовать
 
318
2400 или 2600.
 
319
Для некоторых DVD Вы не заметите разницы на 1400 Кбит. Хорошей идеей
 
320
является экспериментирование со сценами на разных битпотоках, чтобы
 
321
почувствовать разницу.
 
322
</p><p>
 
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.
 
348
</p><p>
 
349
У большинства DVD также есть определённое подобие чёрных полос на
 
350
краях. Если Вы их оставите, это может
 
351
<span class="bold"><strong>сильно</strong></span> повредить качество
 
352
несколькими путями.
 
353
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
 
354
  MPEG-подобное сжатие очень чувствительно к преобразованиям
 
355
  частотных интервалов, в частности, к дискретному косинусному
 
356
  преобразованию (DCT), которое аналогично преобразованию Фурье.
 
357
  Этот вид сжатия эффективен для представления образов и сглаженных
 
358
  переходов, но у него возникают проблемы с острыми краями.
 
359
  Для кодирования последних Вам нужно гораздо больше битов, а иначе
 
360
  у Вас появится артефакт, известный как ореолы.
 
361
  </p><p>
 
362
  Частотные преобразования (DCT) выполняются независимо для каждого
 
363
  макроблока (на самом деле, для каждого блока), так что эта проблема
 
364
  возникает только в случае попадания острого края внутрь блока.
 
365
  Если Ваши чёрные поля возникают точно на границах, кратных 16
 
366
  пикселям, это не проблема.
 
367
  Однако, чёрные полосы на DVD редко хорошо расположены, так что
 
368
  на практике Вам всегда придётся усекать стороны для избежания
 
369
  этих проблем.
 
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
  кодирования существенно уменьшается.
 
392
  </p><p>
 
393
  Ещё раз, эта проблема возникает только в случае, если чёрные полосы
 
394
  не укладываются в границы, кратные 16.
 
395
  </p></li><li class="listitem"><p>
 
396
  Наконец, предположим, что у нас есть находящийся внутри картинки
 
397
  макроблок и объект движется в этот блок от края изображения.
 
398
  MPEG-подобное кодирование не может сказать "скопируй ту часть,
 
399
  что внутри картинки, но не чёрную полосу". Так что чёрная полоса
 
400
  также будет скопирована внутрь, в результате чего масса битов
 
401
  будет потрачена на кодирование части изображения, которое должно
 
402
  быть на месте полосы.
 
403
  </p><p>
 
404
  Для случаев, когда всё изображение движется к краю кодируемой
 
405
  области, у MPEG есть специальные оптимизации для повторяющегося
 
406
  копирования пикселей к краю картинки, когда вектор движения
 
407
  идёт извне области кодирования. Эта возможность становится
 
408
  бесполезной, если у фильма есть чёрные полосы. В отличии от
 
409
  случаев 1 и 2, выравнивание границ до кратности 16 здесь
 
410
  не поможет.
 
411
  </p></li><li class="listitem"><p>
 
412
  Несмотря на то, что границы полностью чёрные и никогда не изменяются,
 
413
  существуют, как минимум, определённые накладные расходы, связанные
 
414
  с наличием большего числа макроблоков.
 
415
</p></li></ol></div><p>
 
416
Благодаря всем этим причинам, рекомендуется полностью урезать
 
417
чёрные полосы. Более того, если есть области шумов/искажений
 
418
на краях картинки, то их урезание также поспособствует улучшению
 
419
качества кодирования. Видеофилы, желающие сохранить оригинал как
 
420
можно более точно, могут возражать против такого усечения; но
 
421
если Вы не планируете кодировать при постоянном квантователе,
 
422
качество, полученное при усечении, существенно превысит потери
 
423
информации на краях.
 
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
или комбинацией того и другого.
 
429
</p><p>
 
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.
 
446
</p><p>
 
447
Более того, видео с чересстрочной развёрткой дискретизируется
 
448
следующим образом:
 
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.
 
453
</p><p>
 
454
Естественные разрешения DVD составляют 720x480 для NTSC и 720x576
 
455
для PAL, но существует флаг соотношения сторон, который указывает
 
456
является ли видео полноэкранным (4:3) или широкоэкранным (16:9).
 
457
Многие (если не большинство) широкоэкранных DVD не точно соответствуют
 
458
формату 16:9 и могут быть как 1.85:1, так и 2.35:1 (кинематографический формат).
 
459
Это означает, что в видео будут чёрные полосы, которые нужно усечь.
 
460
</p><p>
 
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
фильм достаточно долго для того, чтоб была использована вся область
 
469
изображения.
 
470
</p><p>
 
471
Затем проверьте значения, полученные с помощью
 
472
<span class="application">MPlayer</span>, используя командную строку,
 
473
выведенную <tt class="option">cropdetect</tt>, и подстройте прямоугольник
 
474
при необходимости.
 
475
Фильтр <tt class="option">rectangle</tt> может быть полезен, позволив
 
476
Вам интерактивно менять прямоугольник усечения для Вашего фильма.
 
477
Не забывайте следовать указанным выше руководствам по делимости,
 
478
чтобы не испортить выравнивание цветности.
 
479
</p><p>
 
480
В ряде случаев масштабирование может быть нежелательным.
 
481
Масштабирование по вертикальному направлению затруднено для
 
482
чересстрочного видео, и если Вы хотите сохранить чересстрочность,
 
483
Вам, как правило, будет необходимо воздерживаться от масштабирования.
 
484
Если Вы не будете масштабировать, но всё ещё желаете размеры,
 
485
кратные 16, то Вам придётся проводить излишнее усечение.
 
486
Не проводите неполное усечение, поскольку чёрные полосы очень
 
487
плохи для кодирования!
 
488
</p><p>
 
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 по умолчанию.
 
507
</p><p>
 
508
Также будьте осторожны с "полутёмными" пикселями на краях. Убедитесь,
 
509
что они тоже отрезаются, иначе Вы будете тратить биты, которым есть
 
510
лучшее применение.
 
511
</p><p>
 
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
длительность фильма, плюс небольшие накладные расходы
 
534
(см. раздел
 
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>
 
536
для примера).
 
537
Остальные параметры, такие как масштабирование, усечение и т.п.
 
538
<span class="bold"><strong>не</strong></span> изменят размер файла, пока
 
539
Вы также не измените битпоток!
 
540
</p><p>
 
541
Битпоток изменяется <span class="bold"><strong>не</strong></span>
 
542
пропорционально разрешению.
 
543
То есть файл разрешением 320х240 с 200 кбит/сек не будет
 
544
того же качества, что этот же фильм разрешением 640х480
 
545
и 800 кбит/сек!
 
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
  полосы. Грубо говоря, каждый пиксель содержит больше деталей,
 
560
  чем раньше.
 
561
  Так что несмотря на то, что Ваша картинка с уменьшенным
 
562
  масштабом содержит 1/4 информации в пространственных направлениях,
 
563
  она всё ещё может содержать большУю часть информации в
 
564
  частотных интервалах (предполагая, что высокие частоты были
 
565
  не использованы в оригинальном 640х480 изображении).
 
566
</p></li></ol></div><p>
 
567
</p><p>
 
568
Последние руководства рекомендовали выбор битпотока и разрешения,
 
569
основываясь на приближении "бит на пиксель", но это обычно не
 
570
верно из-за упомянутых выше причин.
 
571
Похоже, лучшей оценкой является рост битпотока пропорционально
 
572
квадратному корню разрешения, так что 320х240 и 400 кбит/сек
 
573
должно быть сравнимо с 640х480 и 800 кбит/сек.
 
574
Однако, это не было строго проверено теоретически или эмпирически.
 
575
Кроме того, из-за существенного отличия фильмов по уровню шума,
 
576
деталей, количества движения и т.п., тщетно давать общие рекомендации
 
577
для "битов на длину диагонали" (аналог битов на пиксель, используя
 
578
квадратный корень).
 
579
</p><p>
 
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>
 
588
 
 
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>
 
597
</p><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>.
 
602
</p><p>
 
603
Хорошо, но что такое CQ?
 
604
CQ соответствует числу битов на пиксель и на кадр для кодирования.
 
605
Грубо говоря, чем больше CQ, тем меньше вероятность увидеть
 
606
артефакты кодирования.
 
607
Однако, если у Вас есть заданный размер для Вашего фильма
 
608
(например, 1 или 2 CD), есть ограниченное общее число битов,
 
609
которые Вы можете потратить; поэтому важно найти хороший
 
610
компромисс между сжимаемостью и качеством.
 
611
</p><p>
 
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>
 
629
  и
 
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
 
637
с помощью
 
638
<a class="link" href="menc-feat-x264.html#menc-feat-x264-example-settings" title="10.5.2. Примеры настроек кодирования">продвинутых опций кодирования <code class="systemitem">x264</code></a>.
 
639
</p><p>
 
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
является одним из его основных достоинств над другими аналогичными
 
660
программами.
 
661
</p><p>
 
662
Фильтры загружаются в цепочку с помощью опции -vf:
 
663
 
 
664
</p><pre class="screen">-vf фильтр1=опции,фильтр2=опции,...</pre><p>
 
665
 
 
666
Большинство фильтров используют численные значения опций,
 
667
разделённые двоеточиями, но синтаксис этих параметров различается
 
668
у разных фильтров, так что читайте мануал для детальной
 
669
информации о фильтрах, которые Вы желаете использовать.
 
670
</p><p>
 
671
Фильтры действуют на видео в порядке их загрузки.
 
672
Например, следующая цепочка:
 
673
 
 
674
</p><pre class="screen">-vf crop=688:464:12:4,scale=640:464</pre><p>
 
675
 
 
676
сперва усечёт область изображения до 688х464 с верхним левым
 
677
углом (12,4), а затем масштабирует результат до 640х464.
 
678
</p><p>
 
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
мягкого телесина в жёсткий).
 
690
</p><p>
 
691
В общем случае, Вам следует делать настолько мало фильтрации,
 
692
насколько это возможно, для того чтоб остаться близко к оригинальному
 
693
DVD источнику. Усечение часто необходимо (как описано выше), но
 
694
избегайте масштабирования видео. Несмотря на то, что уменьшение
 
695
размера иногда предпочтительно использованию бОльших
 
696
квантователей, нужно избегать и того, и другого: помните,
 
697
что мы с самого начала решили обменять биты на качество.
 
698
</p><p>
 
699
Также не корректируйте гамму, контрастность, яркость и т.п.. То,
 
700
что хорошо выглядит на Вашем мониторе, может плохо выглядеть
 
701
на других. Эти коррекции должны выполняться только при
 
702
воспроизведении.
 
703
</p><p>
 
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 и повтора каждого четвёртого кадра.
 
725
</p><p>
 
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.
 
737
</p><p>
 
738
Поскольку видео на PAL DVD не переделывается, Вам не стоит
 
739
беспокоится о частоте кадров. У источника 25 fps и у Вашего
 
740
рипа будет 25 fps. Однако, если Вы делаете рип NTSC DVD фильма,
 
741
Вам, быть может, придётся выполнить обратный телесин.
 
742
</p><p>
 
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).
 
752
</p><p>
 
753
Настоятельно рекомендуется прочитать раздел о
 
754
<a class="link" href="menc-feat-telecine.html" title="10.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD">работе с телесином и чересстрочной развёрткой в NTSC DVD</a>
 
755
для изучения способов обработки в разных ситуациях.
 
756
</p><p>
 
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
Вашем фильме будет потеряна в сценах со значительным движением.
 
772
</p><p>
 
773
Поэтому, если Вы кодируете для высококачественных архивных целей,
 
774
не рекомендуется делать деинтерлейс. Вы всегда можете преобразовать
 
775
развёртку фильма в процессе воспроизведения (при воспроизведении
 
776
на устройствах с построчной развёрткой).
 
777
Мощность современных компьютеров вынуждает плееры использовать
 
778
фильтр деинтерлейса, что слегка ухудшает качество изображения.
 
779
Но плееры будущего будут способны имитировать дисплей TV с
 
780
чересстрочной развёрткой, выполняя деинтерлейс на полной частоте
 
781
полей и интерполируя 50 или 60000/1001 кадров в секунду для
 
782
чересстрочного видео.
 
783
</p><p>
 
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
 
800
</pre><p>
 
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
были разработаны с целью восстановления файлов с повреждённой
 
805
синхронизацией.
 
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 рипы и т.п.), а не с повреждёнными
 
816
файлами ASF/RM/MOV.
 
817
</p><p>
 
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> в общем случае не
 
827
рекомендуется.
 
828
</p><p>
 
829
Сообщалось о том, что так называемое трёхпроходное аудиокодирование,
 
830
поддерживаемое <span class="application">MEncoder</span>, вызывало
 
831
A/V рассинхронизацию.
 
832
Это наверняка произойдёт при использовании совместно с некоторыми
 
833
фильтрами, поэтому сейчас <span class="emphasis"><em>не</em></span> рекомендуется
 
834
использовать трёхпроходный аудио режим.
 
835
Эта возможность оставлена только для совместимости и для опытных
 
836
пользователей, понимающих когда это безопасно, а когда нет.
 
837
Если Вы ранее никогда не слышали о трёхпроходном режиме, забудьте
 
838
даже о том, что мы его упоминали!
 
839
</p><p>
 
840
Также были сообщения об A/V рассинхронизации при кодировании
 
841
со стандартного ввода (stdin) с помощью <span class="application">MEncoder</span>.
 
842
Не делайте этого! Всегда взамен используйте файл или CD/DVD и т.п.
 
843
устройство.
 
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
 
863
  Niedermayer)
 
864
  "<a class="ulink" href="http://guru.multimedia.cx/?p=10" target="_top">почему MPEG4-ASP отстой</a>".)
 
865
  Аналогично, Вы должны получить лучшее качество с MPEG-4 ASP, по
 
866
  сравнению с MPEG-2 кодеками.
 
867
  </p><p>
 
868
  Однако, новые кодеки, находящиеся в интенсивной разработке,
 
869
  могут страдать от ещё не замеченных ошибок, которые могут
 
870
  испортить кодирование. Просто это плата за использование
 
871
  передовых технологий.
 
872
  </p><p>
 
873
  Более существенно то, что для начала использования нового кодека
 
874
  необходимо потратить время на изучение его опций так, чтобы Вы
 
875
  знали, что нужно подстраивать для достижения заданного качества
 
876
  изображения.
 
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
 
883
  ASP (например, DivX,
 
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
  ради несущественного выигрыша.
 
900
  </p><p>
 
901
  Если Вам нужна высокая скорость, примерно придерживайтесь настроек
 
902
  видеокодека по умолчанию (хотя Вам стоит попробовать другие опции,
 
903
  упоминаемые в иных разделах данного руководства).
 
904
  </p><p>
 
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 дБ при типичных
 
918
  настройках.
 
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>.
 
927
  </p><p>
 
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 — это вторая
 
960
аудиодорожка файла).
 
961
</p><p>
 
962
Но иногда у Вас действительно нет иного выбора, чем далее сжимать
 
963
звук для того, чтоб больше битов могло быть потрачено на видео.
 
964
Большинство людей предпочитают сжимать звук с помощью MP3 или
 
965
Vorbis аудиокодеков.
 
966
Последний является очень эффективным, но MP3 лучше поддерживается
 
967
аппаратными плеерами, хотя эта тенденция меняется.
 
968
</p><p>
 
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
получена правильная синхронизация.
 
979
</p><p>
 
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
разрывы/сшивания потока, где появились пропущенные или излишние
 
991
аудиокадры.
 
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 файл.
 
1008
</p><p>
 
1009
Прежде всего, Вам необходимо преобразовать DVD звук в WAV файл,
 
1010
который может использоваться аудиокодеком в качестве входных
 
1011
данных. Например:
 
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
 
1015
</pre><p>
 
1016
сохранит вторую аудиодорожку из файла
 
1017
<em class="replaceable"><code>исходный_файл.vob</code></em> в файл
 
1018
<em class="replaceable"><code>звук.wav</code></em>.
 
1019
Возможно, Вы захотите нормализовать звук перед кодированием,
 
1020
поскольку аудиодорожки DVD обычно записываются с маленькой
 
1021
громкостью.
 
1022
Вы можете использовать, например, утилиту <span class="application">normalize</span>,
 
1023
доступную в большинстве дистрибутивов.
 
1024
Если Вы пользуетесь Window$, утилита <span class="application">BeSweet</span>
 
1025
делает то же самое.
 
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,
 
1044
Matroska или NUT.
 
1045
На данный момент встроенная поддержка вывода аудио и видео в
 
1046
<span class="application">MEncoder</span> есть только для форматов
 
1047
контейнеров MPEG и AVI.
 
1048
Например:
 
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>
 
1052
</pre><p>
 
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, а также с некоторыми иными
 
1058
форматами аудио.
 
1059
</p><p>
 
1060
<span class="application">MEncoder</span>
 
1061
обладает экспериментальной поддержкой
 
1062
<code class="systemitem">libavformat</code> —
 
1063
библиотеки из проекта FFmpeg, поддерживающей мультиплексирование
 
1064
и демультиплексирование множества контейнеров.
 
1065
Например:
 
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
 
1070
</pre><p>
 
1071
Это сделает то же самое, что и предыдущий пример, но выходным
 
1072
контейнером будет ASF.
 
1073
Пожалуйста, обратите внимание, что эта поддержка весьма
 
1074
экспериментальна (но становится лучше c каждым днём), и будет
 
1075
работать только в случае компиляции <span class="application">MPlayer</span>
 
1076
с включенной поддержкой
 
1077
<code class="systemitem">libavformat</code> (что означает,
 
1078
что в большинстве случаев бинарная версия из пакетов не будет
 
1079
работать).
 
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
пропускающих или дублирующих некоторые кадры, например фильтров
 
1087
обратного телесина.
 
1088
Настоятельно рекомендуется добавлять видеофильтр
 
1089
<tt class="option">harddup</tt> в конце цепочки фильтров для избежания
 
1090
подобных проблем.
 
1091
</p><p>
 
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
вместо этого просто ещё раз поместит последний кадр в цепочку
 
1099
фильтров.
 
1100
Это означает, что кодер получит <span class="emphasis"><em>точно</em></span>
 
1101
такой же кадр дважды и сожмёт его.
 
1102
Это приведёт у несколько большему файлу, но избавит от проблем
 
1103
при демультиплексировании или ремультиплексировании с другими
 
1104
форматами контейнеров.
 
1105
</p><p>
 
1106
Также у Вас может не быть иного выбора, как использовать
 
1107
<tt class="option">harddup</tt> с форматами контейнеров, которые
 
1108
не слишком плотно связаны с
 
1109
<span class="application">MEncoder</span>, например, с форматами,
 
1110
поддерживаемыми с помощью
 
1111
<code class="systemitem">libavformat</code>,
 
1112
которые могут не поддерживать дублирование кадров на уровне
 
1113
контейнера.
 
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 байта на заголовки и
 
1119
индекс.
 
1120
Это приводит к чуть более 5 МБ/час или 1.0-2.5% избыточности
 
1121
для 700 МБ фильма. Это не кажется большим, но может означать
 
1122
разницу между возможностью использования 700 кбит/сек или
 
1123
714 кбит/сек в случаях, когда каждый бит на счету.
 
1124
</p><p>
 
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 или
 
1146
Vorbis кодирование.
 
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.
 
1165
</p><p>
 
1166
Утилиты, необходимые для создания Matroska файлов, сообща
 
1167
называются <span class="application">mkvtoolnix</span>, и доступны
 
1168
для большинства Unix платформ, так же как и для Window$.
 
1169
Поскольку Matroska — открытый формат, Вы можете найти
 
1170
иные утилиты, которые лучше Вам подходят, но поскольку
 
1171
<span class="application">mkvtoolnix</span> — наиболее общие
 
1172
и поддерживаются самой командой разработчиков Matroska, мы
 
1173
будем обсуждать только их использование.
 
1174
</p><p>
 
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>.
 
1180
</p><p>
 
1181
Также Вы можете мультиплексировать аудио и видео файлы используя
 
1182
командную строку:
 
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>
 
1185
</pre><p>
 
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
настройку аудио/видео синхронизации), разделы, субтитры,
 
1193
разбиение и т.д..
 
1194
Пожалуйста, обратитесь к документации на эти приложения для
 
1195
деталей.
 
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>