Mercurial > mplayer.hg
view DOCS/xml/ru/tvinput.xml @ 26992:d0c873ddfaef
Only check for VIDIX PCI device name database if VIDIX is enabled.
author | diego |
---|---|
date | Sat, 07 Jun 2008 14:00:04 +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>