Mercurial > mplayer.hg
changeset 21672:7438195728a0
Translation of menc-feat-enc-libavcodec sect1 in encoding-guide.xml
author | voroshil |
---|---|
date | Tue, 19 Dec 2006 17:58:59 +0000 |
parents | a10805ad137d |
children | 38cbc1a55fb5 |
files | DOCS/xml/ru/encoding-guide.xml |
diffstat | 1 files changed, 284 insertions(+), 279 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/xml/ru/encoding-guide.xml Tue Dec 19 11:23:07 2006 +0000 +++ b/DOCS/xml/ru/encoding-guide.xml Tue Dec 19 17:58:59 2006 +0000 @@ -2550,25 +2550,26 @@ <sect1 id="menc-feat-enc-libavcodec"> -<title>Encoding with the <systemitem class="library">libavcodec</systemitem> - codec family</title> +<title>Кодирование семейством кодеков <systemitem class="library">libavcodec</systemitem> +</title> <para> <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> -provides simple encoding to a lot of interesting video and audio formats. -You can encode to the following codecs (more or less up to date): +предоставляет возможность простого кодирования в множество интересных видео и +аудио форматов. Вы можете кодировать следующими кодеками (более или менее +свежий список): </para> <!-- ********** --> <sect2 id="menc-feat-enc-libavcodec-video-codecs"> -<title><systemitem class="library">libavcodec</systemitem>'s video codecs</title> +<title>Видео кодеки <systemitem class="library">libavcodec</systemitem></title> <para> <informaltable frame="all"> <tgroup cols="2"> <thead> - <row><entry>Video codec name</entry><entry>Description</entry></row> + <row><entry>Название видео кодека</entry><entry>Описание</entry></row> </thead> <tbody> <row> @@ -2577,7 +2578,7 @@ </row> <row> <entry>ljpeg</entry> - <entry>lossless JPEG</entry> + <entry>JPEG без потери качества</entry> </row> <row> <entry>h261</entry> @@ -2593,23 +2594,24 @@ </row> <row> <entry>mpeg4</entry> - <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry> + <entry>ISO стандарт MPEG-4 (DivX, Xvid совместимый)</entry> </row> <row> <entry>msmpeg4</entry> - <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry> + <entry>вариант пре-стандарта MPEG-4 от MS, v3 (он же DivX3)</entry> </row> <row> <entry>msmpeg4v2</entry> - <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry> + <entry>вариант пре-стандарта MPEG-4 от MS, v2 (используемый в старых ASF + файлах)</entry> </row> <row> <entry>wmv1</entry> - <entry>Windows Media Video, version 1 (AKA WMV7)</entry> + <entry>Windows Media Video, версия 1 (он же WMV7)</entry> </row> <row> <entry>wmv2</entry> - <entry>Windows Media Video, version 2 (AKA WMV8)</entry> + <entry>Windows Media Video, версия 2 (он же WMV8)</entry> </row> <row> <entry>rv10</entry> @@ -2621,35 +2623,35 @@ </row> <row> <entry>mpeg1video</entry> - <entry>MPEG-1 video</entry> + <entry>MPEG-1 видео</entry> </row> <row> <entry>mpeg2video</entry> - <entry>MPEG-2 video</entry> + <entry>MPEG-2 видео</entry> </row> <row> <entry>huffyuv</entry> - <entry>lossless compression</entry> + <entry>сжатие без потерь</entry> </row> <row> <entry>asv1</entry> - <entry>ASUS Video v1</entry> + <entry>ASUS Видео v1</entry> </row> <row> <entry>asv2</entry> - <entry>ASUS Video v2</entry> + <entry>ASUS Видео v2</entry> </row> <row> <entry>ffv1</entry> - <entry>FFmpeg's lossless video codec</entry> + <entry>видео кодек без потерь из FFmpeg</entry> </row> <row> <entry>svq1</entry> - <entry>Sorenson video 1</entry> + <entry>Sorenson видео 1</entry> </row> <row> <entry>flv</entry> - <entry>Sorenson H.263 used in Flash Video</entry> + <entry>Sorenson H.263 используемый в Flash Видео</entry> </row> <row> <entry>dvvideo</entry> @@ -2657,19 +2659,19 @@ </row> <row> <entry>snow</entry> - <entry>FFmpeg's experimental wavelet-based codec</entry> + <entry>экспериментальный кодек FFmpeg, основанный на вейвлетах</entry> </row> </tbody> </tgroup> </informaltable> -The first column contains the codec names that should be passed after the -<literal>vcodec</literal> config, like: +Первый столбец содержит названия кодеков, которые следует указывать после +<literal>vcodec</literal> опции, например: <option>-lavcopts vcodec=msmpeg4</option> </para> <informalexample><para> -An example with MJPEG compression: +Пример с MJPEG сжатием: <screen> mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy </screen> @@ -2679,12 +2681,12 @@ <!-- ********** --> <sect2 id="menc-feat-enc-libavcodec-audio-codecs"> -<title><systemitem class="library">libavcodec</systemitem>'s audio codecs</title> +<title>Аудио кодеки <systemitem class="library">libavcodec</systemitem></title> <para> <informaltable frame="all"> <tgroup cols="2"> <thead> -<row><entry>Audio codec name</entry><entry>Description</entry></row> +<row><entry>Название аудио кодека</entry><entry>Описание</entry></row> </thead> <tbody> <row> @@ -2693,174 +2695,179 @@ </row> <row> <entry>ac3</entry> - <entry>AC3, AKA Dolby Digital</entry> + <entry>AC3, он же Dolby Digital</entry> </row> <row> <entry>adpcm_ima_wav</entry> - <entry>IMA adaptive PCM (4 bits per sample, 4:1 compression)</entry> + <entry>IMA адаптивный PCM (4 бита на сэмпл, сжатие 4:1)</entry> </row> <row> <entry>sonic</entry> - <entry>experimental lossy/lossless codec</entry> + <entry>экспериментальный кодек с сжатием с/без потерь</entry> </row> </tbody> </tgroup> </informaltable> -The first column contains the codec names that should be passed after the -<literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option> +Первый столбец содержит названия кодеков, которые следует указывать после +<literal>acodec</literal> опции, например: <option>-lavcopts acodec=ac3</option> </para> <informalexample><para> -An example with AC3 compression: +Пример с AC3 сжатием: <screen> mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy </screen> </para></informalexample> <para> -Contrary to <systemitem class="library">libavcodec</systemitem>'s video -codecs, its audio codecs do not make a wise usage of the bits they are -given as they lack some minimal psychoacoustic model (if at all) -which most other codec implementations feature. -However, note that all these audio codecs are very fast and work -out-of-the-box everywhere <application>MEncoder</application> has been -compiled with <systemitem class="library">libavcodec</systemitem> (which -is the case most of time), and do not depend on external libraries. +В отличие от видео кодеков <systemitem class="library">libavcodec</systemitem>, +ее аудио кодеки не очень разумно используют отданные им биты, в силу +неудачной реализации некоторой минимальной психоакустической модели (если она +вообще есть), которая является характерной чертой большинства остальных реализаций кодеков. +Однако заметьте, что все эти аудио кодеки очень быстры и работают прямо из +коробки везде, где <application>MEncoder</application> скомпилирован с +<systemitem class="library">libavcodec</systemitem> (а почти всегда так оно и +есть), и не зависят от внешних библиотек. </para> </sect2> <!-- ********** --> <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options"> -<title>Encoding options of libavcodec</title> - -<para> -Ideally, you would probably want to be able to just tell the encoder to switch -into "high quality" mode and move on. -That would probably be nice, but unfortunately hard to implement as different -encoding options yield different quality results depending on the source material. -That is because compression depends on the visual properties of the video -in question. -For example, anime and live action have very different properties and -thus require different options to obtain optimum encoding. -The good news is that some options should never be left out, like -<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>. -See below for a detailed description of common encoding options. +<title>Опции кодирования libavcodec</title> + +<para> +В идеале, вы, наверное, хотели бы иметь возможность просто сказать кодировщику +переключиться на "высокое качество" и начать кодирование. +Это было бы замечательно, но, к сожалению, трудно реализуемо, поскольку +различные опции кодирования, в зависимости от исходного материала, дают в результате +различное качество. +Так происходит потому, что сжатие зависит от визуальных свойств видео. +Например, аниме и живая съемка имеют сильно отличающиеся свойства и, +поэтому, требуют разные опции для получения оптимального результата. +Хорошая новость состоит в том, что некоторые опции, такие как +<option>mbd=2</option>, <option>trell</option>, и <option>v4mv</option> могут +быть опущены. +Детальное описание основных опций кодирования смотрите ниже. </para> <itemizedlist> -<title>Options to adjust:</title> +<title>Опции для настройки:</title> <listitem><para> - <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on - the movie. - Note that if you need to have your encode be decodable by DivX5, you - need to activate closed GOP support, using - <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option> - option, but you need to deactivate scene detection, which - is not a good idea as it will hurt encode efficiency a bit. + <emphasis role="bold">vmax_b_frames</emphasis>: хороши 1 или 2, в зависимости + от фильма. + Заметьте, если хотите, чтобы ваш фильм декодировался DivX5, вы должны + активировать поддержку закрытых GOP, используя опцию <option>cgop</option> + <systemitem class="library">libavcodec</systemitem>, но также должны деактивировать + определение сцен, что не является хорошей идеей, поскольку несколько вредит + эффективности. </para></listitem> <listitem><para> - <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes. - On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along - with vb_strategy=1 helps. -</para></listitem> -<listitem><para> - <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better - and slower. - Negative values are a completely different scale. - Good values are -1 for a fast encode, or 2-4 for slower. + <emphasis role="bold">vb_strategy=1</emphasis>: помогает в высокодинамичных + сценах. + Для некоторых видео файлов vmax_b_frames может повредить качеству, но vmax_b_frames=2 + вместе с vb_strategy=1 поможет в этом случае. </para></listitem> <listitem><para> - <emphasis role="bold">predia</emphasis>: motion search pre-pass. - Not as important as dia. Good values are 1 (default) to 4. Requires preme=2 - to really be useful. + <emphasis role="bold">dia</emphasis>: диапазон поиска движения. Большие + значения лучше и медленнее. + Отрицательные значения - это совершенно другая шкала. + Хорошими значениями являются -1 для быстрого кодирования или 2-4 - для + медленного. +</para></listitem> +<listitem><para> + <emphasis role="bold">predia</emphasis>: предпроход поиска движения. + Не так важен, как dia. Хорошими являются значения от 1 (по-умолчанию) до 4. + Требует preme=2, чтобы быть действительно полезным. </para></listitem> <listitem><para> - <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for - motion estimation. - Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate - distortion). - 0 is fastest, and sufficient for precmp. - For cmp and subcmp, 2 is good for anime, and 3 is good for live action. - 6 may or may not be slightly better, but is slow. + <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Функция сравнения для + поиска движения. + Поэкспериментируйте со значениями 0 (по-умолчанию), 2 (hadamard), 3 (dct), и 6 + (соотношение сигнал-шум). + 0 - самый быстрый и достаточен для precmp. + В случае cmp и subcmp 2 является хорошим для аниме, а 3 для живой съемки. + 6 может оказаться лучше, а может и нет, но он медленнее. </para></listitem> <listitem><para> - <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to - take from the previous frame. - 1-3 or so help at little speed cost. - Higher values are slow for no extra gain. + <emphasis role="bold">last_pred</emphasis>: Количество предсказателей + движения, берущихся из предыдущего кадра. + 1-3 или около того помогут вам ценой небольшой потери в скорости. + Большие значения медленны и не дают дополнительного улучшения. </para></listitem> <listitem><para> - <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of macroblocks. - Small speed cost for small quality gain. + <emphasis role="bold">cbp, mv0</emphasis>: Контролирует выбор макроблоков. + Незначительное снижение скорости с небольшим приростом в качестве. </para></listitem> <listitem><para> - <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the - macroblock's complexity. - May help or hurt depending on the video and other options. - This can cause artifacts unless you set vqmax to some reasonably small value - (6 is good, maybe as low as 4); vqmin=1 should also help. + <emphasis role="bold">qprd</emphasis>: адаптивное квантование, основанное на + сложности макроблока. + Может сделать лучше или хуже в зависимости от видео и других опций. + Она также может привести к появлению артефактов, если вы не установите vqmax в + некоторое разумно малое значение + (хорошо - 6, может быть даже 4); vqmin=1 также может помочь. </para></listitem> <listitem><para> - <emphasis role="bold">qns</emphasis>: very slow, especially when combined - with qprd. - This option will make the encoder minimize noise due to compression - artifacts instead of making the encoded video strictly match the source. - Do not use this unless you have already tweaked everything else as far as it - will go and the results still are not good enough. + <emphasis role="bold">qns</emphasis>: очень медленно, особенно в комбинации с qprd. + Эта опция укажет кодировщику минимизировать шум от артефактов сжатия вместо + создания закодированного видео, полностью идентичного исходному. + Не используйте ее, если только не перепробовали настроить все, что было + возможно, а результат все таки недостаточно хорош. </para></listitem> <listitem><para> - <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol. - What values are good depends on the movie. - You can safely leave this alone if you want. - Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts - them on high-complexity scenes (default: 0.5, range: 0-1. recommended range: - 0.5-0.7). + <emphasis role="bold">vqcomp</emphasis>: Настраивает управление битпотоком. + Какие значения являются хорошими зависит от фильма. + Если хотите, можете без опаски оставить значение по-умолчанию. + Уменьшение vqcomp отдает больше бит в сцены с низкой сложностью, увеличение + его передает биты в очень сложные сцены (по-умолчанию: 0.5, диапазон: 0-1. + рекомендуемый диапазон: 0.5-0.7). </para></listitem> <listitem><para> - <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient - elimination threshold for luminance and chroma planes. - These are encoded separately in all MPEG-like algorithms. - The idea behind these options is to use some good heuristics to determine - when the change in a block is less than the threshold you specify, and in - such a case, to just encode the block as "no change". - This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9 - seem to be good for live movies, but seem not to help with anime; - when encoding animation, you should probably leave them unchanged. + <emphasis role="bold">vlelim, vcelim</emphasis>: Устанавливает порог + отбрасывания одиночного коэффициента для яркостной и цветностной плоскостей. + Они кодируются независимо во всех MPEG-похожих алгоритмах. + Идея этих опций заключается в использованию некоторой хорошей эвристики для + определения момента, когда изменения в блоке ниже указанного вами порога, и что его + стоит кодировать как "блок без изменений". + Это сохраняет быти и, возможно, ускоряет кодирование. + vlelim=-4 и vcelim=9 выглядят неплохими для живой съемки, но, скорее всего, не + помогут для аниме; при кодировании анимации вам, возможно, следует оставить + эту опцию неизменной. </para></listitem> <listitem><para> - <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation. - MPEG-4 uses half pixel precision for its motion search by default, - therefore this option comes with an overhead as more information will be - stored in the encoded file. - The compression gain/loss depends on the movie, but it is usually not very - effective on anime. - qpel always incurs a significant cost in CPU decode time (+25% in - practice). + <emphasis role="bold">qpel</emphasis>: Четверьтпиксельная оценка движения. + По-умолчанию, MPEG-4 использует полупиксельную точность для оценки движения, + следовательно, эта опция вносит дополнительные накладные рахсоды, поскольку + сохраняет больше информации в закодированном файле. + Улучшение/ухудшение степени сжатия зависит от фильма, но обычно эта опция не + очень эффективна для аниме. + qpel всегда вносит значительный вклад в CPU время декодирования (+25% на + практике). </para></listitem> <listitem><para> - <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding, - but writes a log file giving the type/size/quality of each frame, and - prints a summary of PSNR (Peak Signal to Noise Ratio) at the end. + <emphasis role="bold">psnr</emphasis>: не влияет на сам процесс кодирования, + но выводит в файл тип/размер/качество каждого кадра, а также итоговый + PSNR (Peak Signal to Noise Ratio, пиковое отношения сигнала к шуму) в конце + прцесса. </para></listitem> </itemizedlist> <itemizedlist> -<title>Options not recommended to play with:</title> +<title>Опции, с которыми играть не стоит:</title> <listitem><para> - <emphasis role="bold">vme</emphasis>: The default is best. + <emphasis role="bold">vme</emphasis>: Значение по-умолчанию является лучшим. </para></listitem> <listitem><para> - <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive - quantization. - You do not want to play with those options if you care about quality. - Reasonable values may be effective in your case, but be warned this is very - subjective. + <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Психовизуальное + адаптивное квантование. + Не стоит играть с этими опциями, если заботитесь о качестве. + Разумные значения могут быть эффективными в вашем случае, но имейте в виду, + что это весьма субъективно. </para></listitem> <listitem><para> - <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky - artifacts, but postprocessing is better. + <emphasis role="bold">scplx_mask</emphasis>: Пытается предотвратить появление + квадратиков, но постобработка делает это лучше. </para></listitem> </itemizedlist> </sect2> @@ -2868,23 +2875,21 @@ <!-- ********** --> <sect2 id="menc-feat-mpeg4-lavc-example-settings"> -<title>Encoding setting examples</title> - -<para> -The following settings are examples of different encoding -option combinations that affect the speed vs quality tradeoff -at the same target bitrate. -</para> - -<para> -All the encoding settings were tested on a 720x448 @30000/1001 fps -video sample, the target bitrate was 900kbps, and the machine was an -AMD-64 3400+ at 2400 MHz in 64 bits mode. -Each encoding setting features the measured encoding speed (in -frames per second) and the PSNR loss (in dB) compared to the "very -high quality" setting. -Please understand that depending on your source, your machine type -and development advancements, you may get very different results. +<title>Примеры настроек кодирования</title> + +<para> +Следующие настройки - это примеры различных комбинаций опций кодирования, +которые влияют на соотношение скорость-качество при той же величине целевого +биптотока. +</para> + +<para> +Все настройки кодирования проверялись на тестовом видео 720x448 @30000/1001 fps +с целевым битпотоком 900кбит/сек, на машине AMD-64 3400+ с 2400 МГц и 64 битном режиме. +Для каждой настройки кодирования указаны измеренная скорость кодирования (в +кадрах в секунду) и потеря PSNR (в дБ) по сравнению с настройкой "очень высокое +качество". Поймите, пожалуйста, что в зависимости от вашего материала, типа +машины, прогресса разработки вы можете получить сильно отличающиеся результаты. </para> <para> @@ -2892,33 +2897,33 @@ <tgroup cols="4"> <thead> <row> - <entry>Description</entry> - <entry>Encoding options</entry> - <entry>speed (in fps)</entry> - <entry>Relative PSNR loss (in dB)</entry> + <entry>Описание</entry> + <entry>Опции кодирования</entry> + <entry>скорость (в fps)</entry> + <entry>Относительная потеря PSNR (в дБ)</entry> </row> </thead> <tbody> <row> - <entry>Very high quality</entry> + <entry>Очень высокое качество</entry> <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry> <entry>6fps</entry> <entry>0dB</entry> </row> <row> - <entry>High quality</entry> + <entry>Высокое качество</entry> <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry> <entry>15fps</entry> <entry>-0.5dB</entry> </row> <row> - <entry>Fast</entry> + <entry>Быстрое</entry> <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry> <entry>42fps</entry> <entry>-0.74dB</entry> </row> <row> - <entry>Realtime</entry> + <entry>Реального времени</entry> <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry> <entry>54fps</entry> <entry>-1.21dB</entry> @@ -2932,24 +2937,25 @@ <!-- ********** --> <sect2 id="custommatrices"> -<title>Custom inter/intra matrices</title> - -<para> -With this feature of -<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> -you are able to set custom inter (I-frames/keyframes) and intra -(P-frames/predicted frames) matrices. It is supported by many of the codecs: -<systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem> -are reported as working. -</para> - -<para> -A typical usage of this feature is to set the matrices preferred by the -<ulink url="http://www.kvcd.net/">KVCD</ulink> specifications. -</para> - -<para> -The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis> +<title>Нестандартные inter/intra матрицы</title> + +<para> +С этой возможностью +<link linkend="ffmpeg"><systemitem +class="library">libavcodec</systemitem></link>, +вы можете установить нестандартные inter (I-кадры/ключевые) и intra +(P-кадры/предсказанные) матрицы. Это поддерживается многими кодеками: +В <systemitem>mpeg1video</systemitem> и <systemitem>mpeg2video</systemitem> +также заявлена поддержка. +</para> + +<para> +Обычное использовани этой опции - установить матрицы, предпочитаемые +спецификациями <ulink url="http://www.kvcd.net/">KVCD</ulink>. +</para> + +<para> +<emphasis role="bold">KVCD Матрица Квантования "Notch":</emphasis> </para> <para> @@ -2979,7 +2985,7 @@ </para> <para> -Usage: +Использование: <screen> mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \ -lavcopts inter_matrix=...:intra_matrix=... @@ -3002,86 +3008,87 @@ <!-- ********** --> <sect2 id="menc-feat-dvd-mpeg4-example"> -<title>Example</title> - -<para> -So, you have just bought your shiny new copy of Harry Potter and the Chamber -of Secrets (widescreen edition, of course), and you want to rip this DVD -so that you can add it to your Home Theatre PC. This is a region 1 DVD, -so it is NTSC. The example below will still apply to PAL, except you will -omit <option>-ofps 24000/1001</option> (because the output framerate is the -same as the input framerate), and of course the crop dimensions will be -different. -</para> - -<para> -After running <option>mplayer dvd://1</option>, we follow the process -detailed in the section <link linkend="menc-feat-telecine">How to deal -with telecine and interlacing in NTSC DVDs</link> and discover that it is -24000/1001 fps progressive video, which means that we need not use an inverse -telecine filter, such as <option>pullup</option> or -<option>filmdint</option>. -</para> - -<para> -Next, we want to determine the appropriate crop rectangle, so we use the -cropdetect filter: +<title>Пример</title> + +<para> +Итак, вы только что купили новенькую, блестящую копию фильма "Гарри Поттер и Тайная +Комната" (в широкоэкранном формате, конечно) и хотите сделать рип этого DVD так, +чтобы добавить его к Домашнему кинотеатру на PC. Это DVD первого региона, +поэтому NTSC. Пример ниже также применим и для PAL, за исключением того, что +надо будет опустить <option>-ofps 24000/1001</option> (поскольку частота кадров +на выходе такая же, как и на входе), и, конечно, границы обрезания будут +другими. +</para> + +<para> +После запуска <option>mplayer dvd://1</option> мы следуем процессу, детально +описанному в разделе <link linkend="menc-feat-telecine">Как работать с телесином +и черезстрочностью в NTSC DVD</link>, и выясняем, что это 24000/1001 fps +прогрессивное видео, а значит использовать фильтры обратного телесина, +такие как <option>pullup</option> или <option>filmdint</option> не нужно. +</para> + +<para> +Далее, мы хотим определить верные границы обрезания, поэтому используем фильтр +cropdetect: <screen>mplayer dvd://1 -vf cropdetect</screen> -Make sure you seek to a fully filled frame (such as a bright scene), and -you will see in <application>MPlayer</application>'s console output: +Убедитесь, что переместились к полностью заполненному кадру (например, +к светлой сцене), вы должны увидеть в консоли <application>MPlayer</application>: <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> -We then play the movie back with this filter to test its correctness: +Затем снова воспроизводим фильм с этим фильтром для проверки его корректности: <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> -And we see that it looks perfectly fine. Next, we ensure the width and -height are a multiple of 16. The width is fine, however the height is -not. Since we did not fail 7th grade math, we know that the nearest -multiple of 16 lower than 362 is 352. -</para> - -<para> -We could just use <option>crop=720:352:0:58</option>, but it would be nice -to take a little off the top and a little off the bottom so that we -retain the center. We have shrunk the height by 10 pixels, but we do not -want to increase the y-offset by 5-pixels since that is an odd number and -will adversely affect quality. Instead, we will increase the y-offset by -4 pixels: +И убеждаемся, что все выглядит прекрасно. Далее, проверяем, что ширина и высота +делятся на 16. С шириной все в порядке, а с высотой - нет. +Поскольку мы не заваливали математику в 7-ом классе, то знаем, что ближайшее +целое, меньшее 362 и кратное 16, равно 352. +</para> + +<para> +Мы могли бы просто использовать <option>crop=720:352:0:58</option>, но будет +лучше отрезать понемногу от верха и низа, чтобы центр остался на месте. +Мы уменьшили высоту на 10 пикселов, но не хотим увеличивать смещение по y на 5, +поскольку это нечетное число и отрицательно скажется на качестве. +Вместо этого, мы увеличим y на 4: <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> -Another reason to shave pixels from both the top and the bottom is that we -ensure we have eliminated any half-black pixels if they exist. Note that if -your video is telecined, make sure the <option>pullup</option> filter (or -whichever inverse telecine filter you decide to use) appears in the filter -chain before you crop. If it is interlaced, deinterlace before cropping. -(If you choose to preserve the interlaced video, then make sure your -vertical crop offset is a multiple of 4.) -</para> - -<para> -If you are really concerned about losing those 10 pixels, you might -prefer instead to scale the dimensions down to the nearest multiple of 16. -The filter chain would look like: +Другая причина, по которой мы урезаем пикселы сверху и снизу, заключаемся в том, +что мы хотим убедиться, что удалены все наполовину черные пикселы, если они есть. +Если ваше видео телесиненное, убедитесь, что фильтр <option>pullup</option> (или +любой другой фильтр обратного телесина, который вы решили использовать) +находится в цепочке до фильтра crop. +Если оно черезстрочное, то перед обрезкой проведите деинтерлейсинг. +(Если решили сохранить черезстрочность видео, убедитесь, что вертикальный сдвиг +обрезания кратен 4.) +</para> + +<para> +Если вас действительно заботит потеря этих 10 пикселов, вы можете +вместо этого отмасштабировать фильм, уменьшив размерности до ближайших +кратных 16 значений. +Цепочка фильтров будет выглядеть примерно так: <screen>-vf crop=720:362:0:58,scale=720:352</screen> -Scaling the video down like this will mean that some small amount of -detail is lost, though it probably will not be perceptible. Scaling up will -result in lower quality (unless you increase the bitrate). Cropping -discards those pixels altogether. It is a tradeoff that you will want to -consider for each circumstance. For example, if the DVD video was made -for television, you might want to avoid vertical scaling, since the line -sampling corresponds to the way the content was originally recorded. -</para> - -<para> -On inspection, we see that our movie has a fair bit of action and high -amounts of detail, so we pick 2400Kbit for our bitrate. -</para> - -<para> -We are now ready to do the two pass encode. Pass one: +Подобное уменьшение изображения будет означать потерю небольшого количества +деталей, хотя это, возможно, окажется незаметным. Масштабирование изображения в +сторону увеличения даст худшее качество (если вы не увеличиваете битпоток). +Обрезка же полностью выбросит те пикселы. Это компромисс, идти на который или нет, +придется решать в каждом частном случае. Например, если DVD видео было создано +для телевидения, вы можете захотеть избежать вертикального масштабирования, +поскольки частота строчной развертки [line sampling] соответствует тому, как содержимое +изначально записывалось. +</para> + +<para> +При проверке видим, что наш фильм имеет немного движения и большое количество +деталей, так что выбираем для битпотока значение 2400Кбит/сек. +</para> + +<para> +Теперь мы готовы произвести двухпроходное кодирование. Проход первый: <screen> mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \ -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 </screen> -And pass two is the same, except that we specify <option>vpass=2</option>: +И второй проход с теми же параметрами, за исключением <option>vpass=2</option>: <screen> mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \ @@ -3090,38 +3097,36 @@ </para> <para> -The options <option>v4mv:mbd=2:trell</option> will greatly increase the -quality at the expense of encoding time. There is little reason to leave -these options out when the primary goal is quality. The options -<option>cmp=3:subcmp=3:mbcmp=3</option> select a comparison function that -yields higher quality than the defaults. You might try experimenting with -this parameter (refer to the man page for the possible values) as -different functions can have a large impact on quality depending on the -source material. For example, if you find -<systemitem class="library">libavcodec</systemitem> produces too much -blocky artifacting, you could try selecting the experimental NSSE as -comparison function via <option>*cmp=10</option>. -</para> - -<para> -For this movie, the resulting AVI will be 138 minutes long and nearly -3GB. And because you said that file size does not matter, this is a -perfectly acceptable size. However, if you had wanted it smaller, you -could try a lower bitrate. Increasing bitrates have diminishing -returns, so while we might clearly see an improvement from 1800Kbit to -2000Kbit, it might not be so noticeable above 2000Kbit. Feel -free to experiment until you are happy. -</para> - -<para> -Because we passed the source video through a denoise filter, you may want -to add some of it back during playback. This, along with the -<option>spp</option> post-processing filter, drastically improves the -perception of quality and helps eliminate blocky artifacts in the video. -With <application>MPlayer</application>'s <option>autoq</option> option, -you can vary the amount of post-processing done by the spp filter -depending on available CPU. Also, at this point, you may want to apply -gamma and/or color correction to best suit your display. For example: +Опции <option>v4mv:mbd=2:trell</option> значительно улучшат качество ценой +времени кодирования. Нет никаких оснований отключать эти +опции, когда главным критерием является качество. Опции +<option>cmp=3:subcmp=3:mbcmp=3</option> выбирают функцию сравнения, дающую +лучшее качество, чем стандартная. Вы можете поэкспериментировать с этим параметром +(возможные значения смотрите на man странице), поскольку разные функции могут +давать разный прирост в качестве в зависимости от исходного материала. +Например, если вы замечаете, что <systemitem class="library">libavcodec</systemitem> +производит слишком много блочных артефактов (квадратиков), то можете попытаться +выбрать экспериментальный NSSE в качестве функции сравнения при помощи опциеи <option>*cmp=10</option>. +</para> + +<para> +Для этого фильма полученный AVI будет 138 минут длинной и рамером около 3Гб. +И, поскольку вы сказали, что размер файла значения не имеет, это вполне +приемлемый результат. Однако, если все-таки хотите получить меньший размер файла, +можете попробовать уменьшить битпоток. Увеличение битпотока имеет снижающийся эффект, +поэтому, хотя мы можем ясно видеть улучшение от 1800Кбит/сек до 20000Кбит/сек, оно +может быть не столь заметно выше 20000Кбит/сек. +</para> + +<para> +Так как мы пропустили исходное видео через фильтр удаления шума, то, возможно, +захочется вернуть какую-то его часть во время воспроизведения. +Это, совместпно с фильтром постобработки <option>spp</option>, существенно +улучшит воспринимаемое качество и поможет избежать блочных артефактов в видео. +Опцией <option>autoq</option> <application>MPlayer</application>'а вы можете +изменять величину производимой фильтром spp постобработки в зависимости от +доступных ресурсов CPU. Вдобавок, на этом этапе вы можете захотеть применить +коррекцию гаммы и/или цвета для лучшего соответствия вашему монитору. Например: <screen> mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3 </screen>