view DOCS/xml/ru/tvinput.xml @ 26883:a365271c97a5

Revert commit r26897. XviD is the correct spelling of the codec. You can see it written in the codec own documentation and header files. Prefered name capitalization confirmed in conversation with XviD developer (prunedtree).
author iive
date Wed, 28 May 2008 23:04:41 +0000
parents 438f137e31fb
children 0f1b5b68af32
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r24604 -->
<chapter id="tv">
<title>TV</title>

<sect1 id="tv-input" xreflabel="TV вход">
<title>TV вход</title>

<para>
В этой секции описывается, как включить <emphasis role="bold">просмотр/захват
с V4L-совместимого TV тюнера</emphasis>. См. man страницу, для описания TV опций
и кнопок управления.
</para>

<!-- ********** -->

<sect2 id="tv-compilation">
<title>Компиляция</title>

<procedure>
<step><para>
  Во-первых, Вам нужно перекомпилировать <application>MPlayer</application>,
  <filename>./configure</filename> автоматически обнаружит заголовки ядра,
  относящиеся к v4l, и наличие <filename>/dev/video*</filename> устройств.
  Если они существуют, будет собрана поддержка TV (см. вывод
  <filename>./configure</filename>).
</para></step>
<step><para>
  Убедитесь, что Ваш тюнер работает с другими TV приложениями под Linux,
  например <application>XawTV</application>.
</para></step>
</procedure>
</sect2>

<!-- ********** -->

<sect2 id="tv-tips">
<title>Советы по использованию</title>
<para>
Полный список опций доступен на страницах руководства (man).
Вот всего несколько советов:

<itemizedlist>
<listitem><para>
  Используйте опцию <option>channels</option>. Пример:
  <screen>-tv channels=26-MTV1,23-TV2</screen>
  Объяснение: При использовании такой опции, будут использоваться только каналы 26
  и 23, и, кроме того, будет приятный OSD текст при переключении между каналами,
  отображающий название канала. Пробелы в названиях каналов должны быть заменены
  символом "_".
</para></listitem>
<listitem><para>
  Выберите разумные размеры изображения. Размеры полученного
  изображения должны делиться на 16.
</para></listitem>
<listitem>
  <para>
  Если Вы захватываете видео с вертикальным разрешением выше половины полного
  разрешения (т.е. 288 для PAL или 240 для NTSC), то получаемые вами 'кадры' 
  на самом деле будут чередующимися[interleaved] парами полей. В зависимости от того,
  что вы собираетесь делать с видео, можно оставить их в таком виде,
  произвести разрушающую (с возможной потерей качества) построчную развёртку,
  либо разделить пары обратно в отдельные поля.
  </para>

  <para>
  Иначе Вы получите фильм с сильными искажениями в
  сценах с быстрыми движениями, и управление битпотоком, скорее всего, будет даже не
  в состоянии поддерживать необходимый уровень битпотока, поскольку артефакты
  чересстрочной развёртки создают огромное количество мелких деталей и поэтому
  отнимают большую часть полосы пропускания. Вы можете включить преобразование в 
  построчную развёртку,
  используя <option>-vf pp=DEINT_TYPE</option>. Обычно <option>pp=lb</option>
  работает хорошо, но это уже субъективное мнение. Другие алгоритмы
  преобразования в построчную развёртку см. на man-странице и попробуйте их.
  </para>
</listitem>
<listitem><para>
  Обрежьте пустое пространство. Когда вы захватываете видео, зоны по краям, как правило,
  черны или содержат просто шум. Это опять съедает часть битпотока.
  Точнее, это не сами чёрные зоны, а контрастный переход от чёрного к более
  светлому видео, но это сейчас не важно. Прежде чем Вы начнёте захватывать,
  подстройте аргументы опции <option>crop</option>, чтобы обрезать весь мусор по
  краям. Ещё раз, не забудьте сохранить получившиеся размеры изображения
  разумными.
</para></listitem>
<listitem><para>
  Отслеживайте загрузку CPU. Она не должна пересекать 90% границу большую часть
  времени. Если у Вас большой размер буфера захвата,
  <application>MEncoder</application> переживёт
  перегрузку в течение нескольких секунд, но не более того. Лучше отключить 3D
  OpenGL, хранители экрана и другую подобную гадость.
</para></listitem>
<listitem><para>
  Не меняйте системные часы. <application>MEncoder</application> использует
  системные часы для A/V синхронизации. Если Вы переведёте системные часы
  (особенно назад), <application>MEncoder</application> запутается,
  и Вы начнёте терять кадры. Это особенно
  важный вопрос, если Вы подключены к сети и используете какие-нибудь программы
  синхронизации времени, в духе NTP. Вы должны отключить NTP во время захвата,
  если Вы действительно хотите сделать хорошую запись.
</para></listitem>
<listitem><para>
  Изменяйте значение <option>outfmt</option> только если Вы знаете, что Вы
  делаете, или Ваши карта/драйвер не поддерживают значение по умолчанию 
  (пространство цветов YV12). В старых версиях <application>MPlayer</application>/
  <application>MEncoder</application> было необходимо выставлять нужное значение
  формата вывода.
  Эта проблема должна быть решена в текущих версиях и опция <option>outfmt</option>
  больше не требуется, поскольку значение по умолчанию подходит в
  большинстве случаев. Например если Вы будете захватывать в DivX, используя
  <systemitem class="library">libavcodec</systemitem> и укажете
  <option>outfmt=RGB24</option> для улучшения качества
  полученного изображения, то Вы увидите, что в действительности, изображение все
  равно будет перекодировано в YV12, поэтому все что Вы получите, это огромная
  загрузка CPU.
</para></listitem>
<listitem><para>
  Чтобы использовать пространство цветов I420 (<option>outfmt=i420</option>), Вы
  должны указать опцию <option>-vc rawi420</option> в связи с конфликтом fourcc с
  видео кодеком Intel Indeo.
</para></listitem>
<listitem><para>
  Есть несколько путей захвата аудио. Вы можете получить звук, либо используя Вашу
  звуковую карту и внешний кабель, соединяющий видео карту и линейный вход[line-in],
  либо используя встроенный АЦП на чипе bt878. В этом случае, Вы должны
  загрузить драйвер <emphasis role="bold">btaudio</emphasis>. Читайте файл
  <filename>linux/Documentation/sound/btaudio</filename> (в дереве ядра, не
  <application>MPlayer</application>'а) с некоторыми инструкциями по 
  использованию этого драйвера.
</para></listitem>
<listitem><para>
  Если <application>MEncoder</application> не может открыть аудио устройство,
  убедитесь, что оно действительно доступно. Возможны некоторые трудности со
  звуковыми серверами, например arts (KDE) и esd (GNOME). Если у Вас
  полнодуплексная звуковая карта (почти все современные карты это поддерживают),
  и Вы используете KDE, попробуйте отметить галочку "full duplex" в меню настроек
  звукового сервера.
</para></listitem>
</itemizedlist>
</para>
</sect2>

<!-- ********** -->

<sect2 id="tv-examples">
<title>Примеры</title>

<informalexample><para>
Фиктивный вывод, AAlib :)
<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aatv://</screen>
</para></informalexample>

<informalexample><para>
Ввод со стандартного V4L:
<screen>
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
</screen>
</para></informalexample>

<informalexample><para>
Более изощрённый пример. Это заставляет <application>MEncoder</application> захватывать 
полное PAL изображение, обрезать края и изменить развёртку картинки на построчную, 
используя алгоритм линейного смешивания. Аудио сжимается до постоянного
битпотока 64 кБ/с, используя LAME кодек. Эти установки подходят для захвата фильмов.
<screen>
mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
     -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
     -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
</screen>
</para></informalexample>

<informalexample><para>
Здесь, изображение будет дополнительно масштабировано до 384x288 и сжато с
битпотоком 350 кБ/с в режиме высокого качества. Опция vqmax даёт волю
квантайзеру и позволяет компрессору видео действительно достичь столь
низкого битпотока, правда ценой качества. Это может быть полезно для захвата
длинных TV серий, где качество не особенно важно.
<screen>
mencoder -tv driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable> \
    -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
</screen>
Также возможно указать меньшие размеры изображения в опции <option>-tv</option>
и пропустить программное масштабирование, но приведённый подход использует
максимальное доступное количество информации и чуть более устойчив к шуму.
Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по
горизонтали.
</para></informalexample>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="tv-teletext">
<title>Телетекст</title>

<para>
На данный момент телетекст доступен только в MPlayer для v4l и v4l2 драйверов.
</para>

<sect2 id="tv-teletext-implementation-notes">
<title>Замечания реализации</title>

<para>
<application>MPlayer</application> поддерживает обычный текст, псевдографику и
навигационные ссылки.
К сожалению, цветные страницы поддерживаются пока не полностью - все страницы
отображаются оттенками серого.
Страницы с субтитрами (еще известные как Closed Captions) тоже поддерживаются.
</para>

<para>
<application>MPlayer</application> начинает кешировать все страницы телетекста
с момента начала просмотра TV, так что вам не потребуется ожидать загрузки
интересующий страницы.
</para>

<para>
Замечание: Использование телетекста с <option>-vo xv</option> приводит к появлению странных цветов.
</para>
</sect2>

<sect2 id="tv-teletext-usage">
<title>Использование телетекста</title>

<para>
Чтобы включить декодирование телетекста, вы должны указать VBI устройство, из которого
следует читать данные (обычно <filename>/dev/vbi0</filename> в Linux).
Это можно сделать, указав <option>tdevice</option> в вашем файле конфигурации:
<screen>tv=tdevice=/dev/vbi0</screen>
</para>

<para>
Вам может потребоваться указать код языка телетекста для вашей страны.
Чтобы получить список всех доступных языковых кодов, используйте
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
Вот пример для Русского:
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
</para>

<para>
</para>
</sect2>

<sect2 id="tv-teletext-hotkeys">
<title>Горячие клавиши телетекста</title>

<informaltable frame="all">
<tgroup cols="2">
<thead>
<row>
  <entry>Клавиша</entry>
  <entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
  <entry>X</entry>
  <entry>Включает/выключает отображение телетекста</entry>
</row>
<row>
  <entry>C</entry>
  <entry>Циклически переключает режими отрисовки (непрозрачный, прозрачный, инфертированный непрозрачный,
  инвертированный прозрачный</entry>
</row>
<row>
  <entry>Left/Right</entry>
  <entry>Переходит к предыдущей/следующей странице телетекста</entry>
</row>
<row>
  <entry>PageUp/PageDown</entry>
  <entry>Перходит к следующей/предыдущей дополнительной странице телетекста</entry>
</row>
<row>
  <entry>Цифры</entry>
  <entry>Вводят номер страницы для перехода к ней</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
</chapter>