Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > d358e2c90ba2fd90e64d20630dc870f4 > files > 726

mplayer-doc-1.0-1.rc4.0.r32713.5.2.mga1.i586.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>7.7. Использование MEncoder для создания совместимых с QuickTime файлов</title><link rel="stylesheet" type="text/css" href="default.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="MPlayer - Медиа Проигрыватель"><link rel="up" href="encoding-guide.html" title="Глава 7. Кодирование с MEncoder"><link rel="prev" href="menc-feat-video-for-windows.html" title="7.6. Кодирование семейством кодеков Video For Windows"><link rel="next" href="menc-feat-vcd-dvd.html" title="7.8. Использование MEncoder для создания VCD/SVCD/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="video.html" title="Глава 4. Устройства вывода видео"><link rel="chapter" href="ports.html" title="Глава 5. Портинг"><link rel="chapter" href="mencoder.html" title="Глава 6. Основы использования MEncoder"><link rel="chapter" href="encoding-guide.html" title="Глава 7. Кодирование с MEncoder"><link rel="chapter" href="faq.html" title="Глава 8. Часто Задаваемые вопросы"><link rel="appendix" href="bugreports.html" title="Приложение A. Как сообщать об ошибках"><link rel="appendix" href="skin.html" title="Приложение B. Формат скинов MPlayer"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-why-use-it" title="7.7.1. Зачем необходимо создавать совместимые с QuickTime файлы?"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-constraints" title="7.7.2. Ограничения QuickTime 7"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-crop" title="7.7.3. Обрезание"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-scale" title="7.7.4. Масштабирование"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-avsync" title="7.7.5. A/V синхронизация"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-bitrate" title="7.7.6. Битпоток"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-example" title="7.7.7. Пример кодирования"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-remux" title="7.7.8. Ремультиплексирование в MP4"><link rel="subsection" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-metadata" title="7.7.9. Добавление тегов метаданных"></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">7.7. Использование <span class="application">MEncoder</span>
для создания совместимых с <span class="application">QuickTime</span>
файлов</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="menc-feat-video-for-windows.html">Пред.</a> </td><th width="60%" align="center">Глава 7. Кодирование с <span class="application">MEncoder</span></th><td width="20%" align="right"> <a accesskey="n" href="menc-feat-vcd-dvd.html">След.</a></td></tr></table><hr></div><div class="sect1" title="7.7. Использование MEncoder для создания совместимых с QuickTime файлов"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-quicktime-7"></a>7.7. Использование <span class="application">MEncoder</span>
для создания совместимых с <span class="application">QuickTime</span>
файлов</h2></div></div></div><div class="sect2" title="7.7.1. Зачем необходимо создавать совместимые с QuickTime файлы?"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-why-use-it"></a>7.7.1. Зачем необходимо создавать совместимые с <span class="application">QuickTime</span>
файлы?</h3></div></div></div><p>
  Есть несколько причин, по которым создание
  <span class="application">QuickTime</span>-совместимых файлов может быть
  желательно.
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
  Вы хотите, чтобы любой компьютерно неграмотный человек мог смотреть
  результат Вашего кодирования на большинстве платформ (Windows, Mac OS X, Unices …).
</p></li><li class="listitem"><p>
  <span class="application">QuickTime</span>
  позволяет воспользоваться преимуществами большего числа возможностей
  аппаратного и программного ускорения на Mac OS X, чем платформо-независимые
  плееры наподобие <span class="application">MPlayer</span> или
  <span class="application">VLC</span>.
  Это означает, что Ваше кодирование имеет шансы плавно воспроизводиться
  на старых машинах, оснащённых G4.
</p></li><li class="listitem"><p>
  <span class="application">QuickTime</span> 7 поддерживает кодек нового поколения
  H.264, который даёт существенно лучшее качество изображения, чем
  предыдущие поколения кодеков (MPEG-2, MPEG-4 …).
</p></li></ul></div></div><div class="sect2" title="7.7.2. Ограничения QuickTime 7"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-constraints"></a>7.7.2. Ограничения <span class="application">QuickTime</span> 7</h3></div></div></div><p>
  <span class="application">QuickTime</span> 7 поддерживает H.264 видео и
  AAC аудио, но не поддерживает их мультиплексирование в формат
  контейнера AVI.
  Однако, Вы можете использовать <span class="application">MEncoder</span>
  для кодирования видео и аудио, а потом использовать внешнюю
  программу, такую как <span class="application">mp4creator</span> (часть
  <a class="ulink" href="http://mpeg4ip.sourceforge.net/" target="_top">пакета MPEG4I</a>)
  для ремультиплексирования видео и аудио дорожек в контейнер MP4.
</p><p>
  Поддержка H.264 в <span class="application">QuickTime</span> ограничена,
  так что Вам придётся отказаться от нескольких продвинутых возможностей.
  Если Вы кодируете видео с возможностями, не поддерживаемыми
  <span class="application">QuickTime</span> 7,
  плееры, основанные на <span class="application">QuickTime</span>,
  покажут Вам милый белый экран вместо ожидаемого Вами видео.
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
  <span class="bold"><strong>B-кадры</strong></span>:
  <span class="application">QuickTime</span> 7 поддерживает максимум 1 B-кадр,
  т.е. <tt class="option">-x264encopts bframes=1</tt>. Это означает, что
  <tt class="option">b_pyramid</tt> и <tt class="option">weight_b</tt> не дадут
  эффекта, поскольку им необходимо, чтобы <tt class="option">bframes</tt>
  было больше 1.
</p></li><li class="listitem"><p>
  <span class="bold"><strong>Макроблоки</strong></span>:
  <span class="application">QuickTime</span> 7 не поддерживает 8x8 DCT макроблоки.
  Эта опция (<tt class="option">8x8dct</tt>) выключена по умолчанию, так что
  просто удостоверьтесь, что явно её не задали.
  Это также означает, что опция <tt class="option">i8x8</tt> будет бесполезна,
  т.к. ей необходима <tt class="option">8x8dct</tt>.
</p></li><li class="listitem"><p>
  <span class="bold"><strong>Коэффициент соотношения сторон</strong></span>:
  <span class="application">QuickTime</span> 7 не поддерживает информацию
  SAR (коэффициент пропорций пиксела, sample aspect ratio)
  в MPEG-4 файлах; он предполагает SAR=1. Прочтите
  <a class="link" href="menc-feat-quicktime-7.html#menc-feat-quicktime-7-scale" title="7.7.4. Масштабирование">раздел о масштабировании</a>
  для обхода проблемы.
</p></li></ul></div></div><div class="sect2" title="7.7.3. Обрезание"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-crop"></a>7.7.3. Обрезание</h3></div></div></div><p>
  Предположим, что Вы хотите сделать рип свежекупленной копии "Хроник
  Нарнии" и Ваш регион DVD 1, что означает, что это NTSC.
  Пример ниже будет также применим к PAL, за исключением того, что Вам
  нужно будет опустить <tt class="option">-ofps 24000/1001</tt> и использовать
  слегка отличающиеся размеры для <tt class="option">crop</tt> и <tt class="option">scale</tt>.
</p><p>
  После запуска <tt class="option">mplayer dvd://1</tt>, Вы следуете процессу,
  описанному в разделе <a class="link" href="menc-feat-telecine.html" title="7.2. Как работать с телесином и чересстрочной развёрткой на NTSC DVD">Как работать
  с телесином и чересстрочной развёрткой на NTSC DVD</a> и обнаруживаете,
  что это 24000/1001 fps видео с построчной развёрткой. Это несколько
  упрощает обработку, поскольку Вам не нужно использовать фильтр
  обратного телесина, такой как <tt class="option">pullup</tt>, или фильтр
  деинтерлейса, такой как <tt class="option">yadif</tt>.
</p><p>
  Затем Вам необходимо усечь чёрные полосы сверху и снизу видео, как
  описано в <a class="link" href="menc-feat-enc-libavcodec.html#menc-feat-dvd-mpeg4-example-crop">этом</a>
  разделе.
</p></div><div class="sect2" title="7.7.4. Масштабирование"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-scale"></a>7.7.4. Масштабирование</h3></div></div></div><p>
  Следующий шаг действительно душераздирающий.
  <span class="application">QuickTime</span> 7 не поддерживает MPEG-4 видео
  с коэффициентом соотношения сторон пиксела, отличным от 1. Так что Вам
  придётся масштабировать видео либо в сторону увеличения (что впустую
  потратит много места на диске), либо в строну уменьшения (что приведёт
  к потере некоторых деталей источника) для квадратизации пикселов.
  Какой бы способ Вы не выбрали, это будет крайне неэффективным, но
  не может быть опущено, если Вы хотите, чтоб Ваше видео воспроизводилось
  с помощью <span class="application">QuickTime</span> 7.
  <span class="application">MEncoder</span> может применить необходимое
  увеличивающее или уменьшающее масштабирование, если ему указать
  <tt class="option">-vf scale=-10:-1</tt> или <tt class="option">-vf scale=-1:-10</tt>
  соответственно.
  Это отмасштабирует Ваше видео до корректной ширины для усечённой
  высоты, округлённой до ближайшего множителя 16 для оптимального
  сжатия.
  Помните, что если производите обрезание, то нужно сперва обрезать, а лишь затем
  масштабировать:

  </p><pre class="screen">-vf crop=720:352:0:62,scale=-10:-1</pre><p>
</p></div><div class="sect2" title="7.7.5. A/V синхронизация"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-avsync"></a>7.7.5. A/V синхронизация</h3></div></div></div><p>
  Поскольку Вы будете мультиплексировать в другой контейнер, Вы должны
  всегда использовать опцию <tt class="option">harddup</tt>, чтобы убедиться,
  что дублирующиеся кадры будут действительно дублироваться в полученном
  видео. Без этой опции <span class="application">MEncoder</span> будет просто
  располагать маркер в видеопотоке о том, что кадр был повторен, и будет
  полагаться на то, что клиентское программное обеспечение покажет кадр
  дважды. К сожалению, это "мягкое дублирование" не переживает
  ремультиплексирование, в результате чего аудио будет постепенно терять
  синхронизацию с видео.
</p><p>
  В итоге, цепочка фильтров выглядит следующим образом:
  </p><pre class="screen">-vf crop=720:352:0:62,scale=-10:-1,harddup</pre><p>
</p></div><div class="sect2" title="7.7.6. Битпоток"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-bitrate"></a>7.7.6. Битпоток</h3></div></div></div><p>
  Как обычно, выбор битпотока зависит от технических свойств исходного
  материала, как объясняется
  <a class="link" href="menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-resolution-bitrate" title="7.1.5. Выбор разрешения и битпотока">здесь</a>,
  как, впрочем, и от личного вкуса.
  Этот фильм обладает небольшим количеством движения и большим
  количеством деталей, но H.264 видео хорошо выглядит на существенно
  меньших битпотоках, чем XviD или другие MPEG-4 кодеки.
  После длительного экспериментирования, автор данного руководства
  решил кодировать фильм на 900 кбит/сек, и считает, что он выглядит
  очень хорошо. Вы можете уменьшить битпоток, если Вам нужно сохранить
  больше места, или увеличить, если Вам нужно улучшить качество.
</p></div><div class="sect2" title="7.7.7. Пример кодирования"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-example"></a>7.7.7. Пример кодирования</h3></div></div></div><p>
  Теперь Вы готовы к кодированию видео. Поскольку Вы заботитесь
  о качестве, Вы , разумеется, будете делать двупроходное кодирование.
  Для некоторого сокращения времени кодирования, Вы можете указать
  опцию <tt class="option">turbo</tt> при первом проходе; это уменьшит
  <tt class="option">subq</tt> и <tt class="option">frameref</tt> до 1.
  Чтобы сохранить немного места на диске, Вы можете использовать
  параметр <tt class="option">ss</tt> для отрезания первых нескольких
  секунд видео. (Я обнаружил, что, в частности, у данного фильма
  есть 32 секунды титров и логотипов.)
  <tt class="option">bframes</tt> может быть 0 или 1.
  остальные опции описаны в разделе <a class="link" href="menc-feat-x264.html#menc-feat-x264-encoding-options-speedvquality" title="7.5.1.2. Опции, затрагивающие, в основном, скорость и качество">Кодирование
  кодеком <code class="systemitem">x264</code></a> и на
  man странице.

  </p><pre class="screen">mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
-x264encopts pass=1:turbo:bitrate=900:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</pre><p>

  Если у Вас многопроцессорная машина, не упустите шанс значительно
  ускорить кодирование задействованием
  <a class="link" href="menc-feat-x264.html#menc-feat-x264-encoding-options-speedquality-threads">
  многопоточного режима <code class="systemitem">x264</code></a>,
  добавив <tt class="option">threads=auto</tt> в <tt class="option">x264encopts</tt> в
  командной строке.
</p><p>
  Второй проход выполняется аналогично, за исключением того, что Вам
  нужно указать выходной файл и установить <tt class="option">pass=2</tt>.

  </p><pre class="screen">mencoder dvd://1 <span class="bold"><strong>-o нарния.avi</strong></span> -ss 32 -ovc x264 \
-x264encopts <span class="bold"><strong>pass=2</strong></span>:turbo:bitrate=900:frameref=5:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</pre><p>
</p><p>
  Получившееся AVI должно хорошо воспроизводиться в
  <span class="application">MPlayer</span>, но, конечно же,
  <span class="application">QuickTime</span> не сможет его воспроизвести,
  т.к. не поддерживает H.264, мультиплексированный в AVI.
  Так что следующий шаг — ремультиплексирование видео в контейнер MP4.
</p></div><div class="sect2" title="7.7.8. Ремультиплексирование в MP4"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-remux"></a>7.7.8. Ремультиплексирование в MP4</h3></div></div></div><p>
  Существует несколько способов ремультиплексирования AVI файлов
  в MP4. Вы можете использовать <span class="application">mp4creator</span>,
  являющийся частью
  <a class="ulink" href="http://mpeg4ip.sourceforge.net/" target="_top">пакета MPEG4IP</a>.
</p><p>
  Сперва демультиплексируйте AVI в отдельные аудио и видео потоки
  с помощью <span class="application">MPlayer</span>.

  </p><pre class="screen">mplayer нарния.avi -dumpaudio -dumpfile нарния.aac
mplayer нарния.avi -dumpvideo -dumpfile нарния.h264</pre><p>

  Имена файлов важны; для <span class="application">mp4creator</span>
  необходимо, чтобы AAC аудио потоки назывались <code class="systemitem">.aac</code>
  и H.264 видео потоки назывались <code class="systemitem">.h264</code>.
</p><p>
  Теперь используйте <span class="application">mp4creator</span> для создания
  нового MP4 файла из аудио и видео потоков.

  </p><pre class="screen">mp4creator -create=нарния.aac нарния.mp4
mp4creator -create=нарния.h264 -rate=23.976 нарния.mp4</pre><p>

  В отличии от этапа кодирования, Вам нужно указать частоту кадров
  как десятичную (например, 23.976), а не целую (например, 24000/1001)
  дробь.
</p><p>
  Теперь файл <code class="systemitem">нарния.mp4</code> должен проигрываться
  с помощью любого <span class="application">QuickTime</span> 7 приложения,
  например, <span class="application">QuickTime Player</span> или
  <span class="application">iTunes</span>.
  Если Вы планируете просмотр видео в вэб-браузере с помощью плагина
  <span class="application">QuickTime</span>, Вам также необходимо
  модифицировать фильм таким образом, чтобы плагин
  <span class="application">QuickTime</span> мог начать его воспроизведение
  ещё во время загрузки. <span class="application">mp4creator</span>
  может создать эти вспомогательные дорожки (т.н. hint tracks):

  </p><pre class="screen">mp4creator -hint=1 нарния.mp4
mp4creator -hint=2 нарния.mp4
mp4creator -optimize нарния.mp4</pre><p>

  Вы можете проверить полученный результат, чтобы убедиться, что
  вспомогательные дорожки были успешно созданы.

  </p><pre class="screen">mp4creator -list нарния.mp4</pre><p>

  Вы должны увидеть список дорожек: 1 аудио, 1 видео и 2 вспомогательных.

</p><pre class="screen">Track   Type    Info
1       audio   MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
2       video   H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
3       hint    Payload mpeg4-generic for track 1
4       hint    Payload H264 for track 2
</pre><p>
</p></div><div class="sect2" title="7.7.9. Добавление тегов метаданных"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-quicktime-7-metadata"></a>7.7.9. Добавление тегов метаданных</h3></div></div></div><p>
  Если Вы хотите добавить в видео теги, которые отображаются в iTunes, Вы
  можете использовать
  <a class="ulink" href="http://atomicparsley.sourceforge.net/" target="_top">AtomicParsley</a>.

  </p><pre class="screen">AtomicParsley нарния.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</pre><p>

  Опция <tt class="option">--metaEnema</tt> удаляет любые существующие метаданные
  (<span class="application">mp4creator</span> вставляет своё название в тег
  "утилита кодирования") и <tt class="option">--freefree</tt> высвобождает место,
  оставшееся от удалённых метаданных.
  Опция <tt class="option">--stik</tt> устанавливает тип видео (например,
  Movie или TV Show), который используется iTunes для группировки
  родственных видеофайлов.
  Опция <tt class="option">--overWrite</tt> перезаписывает исходный файл; без неё
  <span class="application">AtomicParsley</span> создаст новый файл с автоматическим
  именем в том же каталоге и оставит исходный файл нетронутым.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="menc-feat-video-for-windows.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-vcd-dvd.html">След.</a></td></tr><tr><td width="40%" align="left" valign="top">7.6. 
  Кодирование семейством кодеков <code class="systemitem">Video For Windows</code>
 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Начало</a></td><td width="40%" align="right" valign="top"> 7.8. Использование <span class="application">MEncoder</span>
  для создания VCD/SVCD/DVD-совместимых файлов.</td></tr></table></div></body></html>