Mercurial > mplayer.hg
view DOCS/xml/ru/tvinput.xml @ 11806:4f14825fd446
sync
author | nauj27 |
---|---|
date | Mon, 19 Jan 2004 18:37:34 +0000 |
parents | bd39ac3b2ce1 |
children | c457b1e671a7 |
line wrap: on
line source
<?xml version="1.0" encoding="koi8-r"?> <!-- synced with 1.8 --> <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 текст при переключении между каналами, отображающий название канала. Пробелы в названиях каналов должны быть заменены символом "_". </para> </listitem> <listitem> <para> Выберите разумные размеры изображения. Размеры изображения полученного изображения должны делиться на 16. </para> </listitem> <listitem> <para> Если Вы захватываете видео с вертикальным разрешением выше половины полного разрешения (т.е. 288 для PAL или 240 для NTSC), убедитесь, что Вы включили деинтерлейсинг[deinterlacing]. Иначе Вы получите фильм с сильными искажениями в сценах с быстрыми движениями, и контроль битпотока, скорее всего, будет даже не в состоянии поддерживать необходимый уровень битпотока, поскольку артефакты от интерлейсинга[interlace] создают огромное количество мелких деталей и поэтому отнимают большую часть трансфера[bandwidth]. Вы можете включить деинтерлейсер, используя <option>-vf pp=DEINT_TYPE</option>. Обычно <option>pp=lb</option> работает хорошо, но это уже субъективное мнение. Другие алгоритмы деинтерлейсинга см. на man-странице и попробуйте их. </para> </listitem> <listitem> <para> Обрежьте пустое пространство. Когда вы захватываете видео, часто, зоны по краям черны или содержат просто шум. Это опять съедает часть трансфера[bandwidth]. Точнее, это не сами чёрные зоны, а контрастный переход от чёрного к более светлому видео, но это сейчас не важно. Прежде чем Вы начнёте захватывать, подстройте аргументы опции <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, используя libavcodec, и укажете <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], либо используя встроенный ADC на в чипе 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 output.avi tv:// </screen> </para> </informalexample> <informalexample> <para> Здесь, изображение будет дополнительно масштабировано до 384x288 и сжато с битпотоком 350 кБ/с в режиме высокого качества. Опция vqmax даёт волю квантайзеру[quantizer] и позволяет компрессору видео действительно достичь столь низкого битпотока, правда ценой качества. Это может быть полезно для захвата длинных 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=tn/lb,scale=384:288 -sws 1 -o output.avi tv:// </screen> Также возможно указать меньшие размеры изображения в опции <option>-tv</option> и пропустить программное масштабирование, но приведённый подход использует максимальное доступное количество информации и чуть более устойчив к шуму. Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по горизонтали. </para> </informalexample> </sect2> </sect1>