2006-10-30 15:32:47 +00:00
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2007-06-11 07:39:06 +00:00
|
|
|
|
<!-- synced with r23536 -->
|
2006-09-08 16:42:09 +00:00
|
|
|
|
<chapter id="tv">
|
|
|
|
|
<title>TV</title>
|
|
|
|
|
|
2006-10-30 15:32:47 +00:00
|
|
|
|
<sect1 id="tv-input" xreflabel="TV вход">
|
|
|
|
|
<title>TV вход</title>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
|
|
|
|
<para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
В этой секции описывается, как включить <emphasis role="bold">просмотр/захват
|
|
|
|
|
с V4L-совместимого TV тюнера</emphasis>. См. man страницу, для описания TV опций
|
|
|
|
|
и кнопок управления.
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</para>
|
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<!-- ********** -->
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
|
|
|
|
<sect2 id="tv-compilation">
|
2006-10-30 15:32:47 +00:00
|
|
|
|
<title>Компиляция</title>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
|
<step><para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Во-первых, Вам нужно перекомпилировать <application>MPlayer</application>,
|
|
|
|
|
<filename>./configure</filename> автоматически обнаружит заголовки ядра,
|
|
|
|
|
относящиеся к v4l, и наличие <filename>/dev/video*</filename> устройств.
|
|
|
|
|
Если они существуют, будет собрана поддержка TV (см. вывод
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<filename>./configure</filename>).
|
2006-12-09 09:27:35 +00:00
|
|
|
|
</para></step>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<step><para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Убедитесь, что Ваш тюнер работает с другими TV приложениями под Linux,
|
|
|
|
|
например <application>XawTV</application>.
|
2006-12-09 09:27:35 +00:00
|
|
|
|
</para></step>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</procedure>
|
|
|
|
|
</sect2>
|
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<!-- ********** -->
|
|
|
|
|
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<sect2 id="tv-tips">
|
2006-10-30 15:32:47 +00:00
|
|
|
|
<title>Советы по использованию</title>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Полный список опций доступен на страницах руководства (man).
|
|
|
|
|
Вот всего несколько советов:
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
Используйте опцию <option>channels</option>. Пример:
|
|
|
|
|
<screen>-tv channels=26-MTV1,23-TV2</screen>
|
2007-06-11 07:39:06 +00:00
|
|
|
|
Объяснение: При использовании такой опции, будут использоваться только каналы 26
|
2006-12-09 09:27:35 +00:00
|
|
|
|
и 23, и, кроме того, будет приятный OSD текст при переключении между каналами,
|
|
|
|
|
отображающий название канала. Пробелы в названиях каналов должны быть заменены
|
2006-12-14 16:48:26 +00:00
|
|
|
|
символом "_".
|
2006-12-09 09:27:35 +00:00
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
Выберите разумные размеры изображения. Размеры полученного
|
|
|
|
|
изображения должны делиться на 16.
|
|
|
|
|
</para></listitem>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<listitem>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<para>
|
|
|
|
|
Если Вы захватываете видео с вертикальным разрешением выше половины полного
|
|
|
|
|
разрешения (т.е. 288 для PAL или 240 для NTSC), то получаемые вами 'кадры'
|
|
|
|
|
на самом деле будут чередующимися[interleaved] парами полей. В зависимости от того,
|
|
|
|
|
что вы собираетесь делать с видео, можно оставить их в таком виде,
|
|
|
|
|
произвести разрушающую (с возможной потерей качества) построчную развёртку,
|
|
|
|
|
либо разделить пары обратно в отдельные поля.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
Иначе Вы получите фильм с сильными искажениями в
|
|
|
|
|
сценах с быстрыми движениями, и управление битпотоком, скорее всего, будет даже не
|
|
|
|
|
в состоянии поддерживать необходимый уровень битпотока, поскольку артефакты
|
|
|
|
|
чересстрочной развёртки создают огромное количество мелких деталей и поэтому
|
|
|
|
|
отнимают большую часть полосы пропускания. Вы можете включить преобразование в
|
|
|
|
|
построчную развёртку,
|
|
|
|
|
используя <option>-vf pp=DEINT_TYPE</option>. Обычно <option>pp=lb</option>
|
|
|
|
|
работает хорошо, но это уже субъективное мнение. Другие алгоритмы
|
|
|
|
|
преобразования в построчную развёртку см. на man-странице и попробуйте их.
|
|
|
|
|
</para>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</listitem>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<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>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</itemizedlist>
|
2006-12-24 05:45:27 +00:00
|
|
|
|
</para>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</sect2>
|
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<!-- ********** -->
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
|
|
|
|
<sect2 id="tv-examples">
|
2006-10-30 15:32:47 +00:00
|
|
|
|
<title>Примеры</title>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<informalexample><para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Фиктивный вывод, AAlib :)
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aatv://</screen>
|
|
|
|
|
</para></informalexample>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<informalexample><para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Ввод со стандартного V4L:
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<screen>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
|
|
|
|
|
</screen>
|
|
|
|
|
</para></informalexample>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<informalexample><para>
|
|
|
|
|
Более изощрённый пример. Это заставляет <application>MEncoder</application> захватывать
|
|
|
|
|
полное PAL изображение, обрезать края и изменить развёртку картинки на построчную,
|
|
|
|
|
используя алгоритм линейного смешивания. Аудио сжимается до постоянного
|
|
|
|
|
битпотока 64 кБ/с, используя LAME кодек. Эти установки подходят для захвата фильмов.
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<screen>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
|
2003-04-22 17:41:31 +00:00
|
|
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
|
2004-07-16 17:16:00 +00:00
|
|
|
|
-vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</screen>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
</para></informalexample>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
|
2006-12-09 09:27:35 +00:00
|
|
|
|
<informalexample><para>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Здесь, изображение будет дополнительно масштабировано до 384x288 и сжато с
|
|
|
|
|
битпотоком 350 кБ/с в режиме высокого качества. Опция vqmax даёт волю
|
|
|
|
|
квантайзеру и позволяет компрессору видео действительно достичь столь
|
|
|
|
|
низкого битпотока, правда ценой качества. Это может быть полезно для захвата
|
|
|
|
|
длинных TV серий, где качество не особенно важно.
|
2003-04-22 17:41:31 +00:00
|
|
|
|
<screen>
|
2006-12-09 09:27:35 +00:00
|
|
|
|
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://
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</screen>
|
2006-10-30 15:32:47 +00:00
|
|
|
|
Также возможно указать меньшие размеры изображения в опции <option>-tv</option>
|
|
|
|
|
и пропустить программное масштабирование, но приведённый подход использует
|
|
|
|
|
максимальное доступное количество информации и чуть более устойчив к шуму.
|
|
|
|
|
Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по
|
|
|
|
|
горизонтали.
|
2006-12-09 09:27:35 +00:00
|
|
|
|
</para></informalexample>
|
2003-04-22 17:41:31 +00:00
|
|
|
|
</sect2>
|
|
|
|
|
</sect1>
|
2006-09-08 16:42:09 +00:00
|
|
|
|
</chapter>
|