mpv/DOCS/xml/ru/tvinput.xml

225 lines
12 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r17322 -->
<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).
Вот всего несколько советов:
</para>
<itemizedlist>
<listitem>
<para>
Используйте опцию <option>channels</option>. Пример:
<screen>-tv channels=26-MTV1,23-TV2</screen>
Объяснение: при использовании такой опции, будут использоваться только каналы 26
и 23, и, кроме того, будет приятный OSD текст при переключении между каналами,
отображающий название канала. Пробелы в названиях каналов должны быть заменены
символом &quot;_&quot;.
</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>
</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 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
-oac mp3lame -lameopts cbr:br=64 \
-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 \
-vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o <replaceable>output.avi</replaceable> tv://
</screen>
Также возможно указать меньшие размеры изображения в опции <option>-tv</option>
и пропустить программное масштабирование, но приведённый подход использует
максимальное доступное количество информации и чуть более устойчив к шуму.
Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по
горизонтали.
</para>
</informalexample>
</sect2>
</sect1>
</chapter>