<chapter id="architecture"> <title >Архитектура</title> <para >Благодаря модульной архитектуре &kdetv; построена гибко и переносимо. В неё входят модули различных типов, такие как видеоввод, экранный индикатор, микшеры и фильтры изображений. При первом запуске &kdetv; выберите в диалоге настройки модули, соответствующие используемому аппаратному обеспечению. Главное - правильно выбрать модуль видео, иначе &kdetv; будет работать в неоптимальном режиме. Подробнее об этом читайте в разделах, посвященных модулям видео. </para> <sect1 id="device_names"> <title >Названия устройств видео</title> <para >В большинстве систем &linux; в списке устройств присутствуют два типа названий: <itemizedlist> <listitem> <para ><guimenuitem >XVideo: video4linux (порт <число>)</guimenuitem ></para> <para >Это устройство модуля &xvideo;. Подробнее о его возможностях см. раздел <link linkend="xvideo_plugin" >Модуль &xvideo;</link >. </para> </listitem> <listitem> <para ><guimenuitem >Video4Linux: <название_видеоплаты></guimenuitem ></para> <para >Это устройства модуля &video4linux;. Подробнее о его возможностях см. раздел <link linkend="v4l_plugin" >Модуль &video4linux;</link >. </para> </listitem> <listitem> <para ><guimenuitem >Video4Linux2: <название_видеоплаты></guimenuitem ></para> <para >Это устройства модуля &video4linux2;. Подробнее о его возможностях см. раздел <link linkend="v4l2_plugin" >Модуль &video4linux2;</link >. </para> </listitem> </itemizedlist> </para> </sect1> <sect1 id="xvideo_plugin"> <title >Модуль &xvideo;</title> <para >Чтобы проверить, используется ли модуль &xvideo;, прочитайте раздел <link linkend="device_names" >Названия устройств видео</link >.</para> <sect2> <title >Как всё это работает?</title> <para >Для отображения видео модуль использует X-сервер. Он работает в связке с модулем X-сервера для показа видео (модуль <quote >&v4l;</quote >, мост между &video4linux; и &xvideo;). Мост &v4l; практически не загружает процессор, потому что видеоизображение копируется прямо с платы захвата в видеопамять. Большинство видеоплат способны аппаратно масштабировать изображение до желаемого размера. Некоторые платы даже способны убирать чересстрочку. Так, автор этих строк применяет плату Radeon 9500 с драйверами open-source &xfree;, и устранение чересстрочки поддерживается. Поскольку мост &v4l; работает в структуре сервера &xfree;, оверлейный режим не приводит к сбоям отображения, что имеет место в оверлейном режиме модуля &video4linux;. </para> </sect2> <sect2> <title >Какие возможности доступны?</title> <para> <itemizedlist> <listitem ><para >Низкая загрузка <hardware >процессора</hardware >.</para ></listitem> <listitem ><para >В зависимости от используемых плат, хорошее качество видео.</para ></listitem> </itemizedlist> </para> </sect2> <sect2> <title >Какие возможности <emphasis >не</emphasis > обеспечиваются и почему?</title> <para> <itemizedlist> <listitem ><para >Фильтрация изображений. Изображения прямо пишутся на видеоплату, и возможность обрабатывать их .где-нибудь по пути отстутствует.</para ></listitem> <listitem ><para >Снимки экрана. Причина описана выше.</para ></listitem> <listitem ><para >Обрезка. Причина описана выше.</para ></listitem> <listitem ><para >Выбор режима аудио. Эта функция отсутствует в интерфейсе &xvideo; &xfree;.</para ></listitem> <listitem ><para >Сканирование каналов без работающего декодера &vbi;. Эта функция отсутствует в интерфейсе &xvideo; &xfree;.</para ></listitem> <listitem ><para >Масштабирование изображения на некоторых старых моделях видеоплат (например, NVidia Riva 128).</para ></listitem> <listitem ><para >Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &xvideo;.</para ></listitem> </itemizedlist> </para> </sect2> </sect1> <sect1 id="v4l_plugin"> <title >Модуль &video4linux;</title> <para >Чтобы проверить, используется ли модуль &video4linux;, прочитайте раздел <link linkend="device_names" >Названия устройств видео</link >.</para> <para >Модуль может работать в двух режимах:</para> <sect2> <title >Оверлей</title> <para >Оверлейный режим включается, если выбрать опцию <guimenuitem >Использовать оверлей, если это возможно</guimenuitem >. В этом режиме ТВ изображение прямо передаётся видеоплате. Поскольку окно вывода видео может быть обновлено только <emphasis >после того</emphasis >, как оно было передвинуто или его размер был изменён (так как &kdetv; - это клиент &xfree;), то перемещение окна приводит к порче и мерцанию изображения. Это происходит при перерисовке участков экрана, поврежденных видеопотоком. В этом режиме загрузка процессора минимальна, но использовать его стоит только если прочие режимы не работают. </para> <sect3> <title >Какие возможности доступны?</title> <para> <itemizedlist> <listitem ><para >Низкая загрузка <hardware >процессора</hardware >.</para ></listitem> <listitem ><para >Снимки экрана.</para ></listitem> <listitem ><para >Выбор режима аудио.</para ></listitem> <listitem ><para >Сканирование каналов в отсутствие декодера &vbi;.</para ></listitem> </itemizedlist> </para> </sect3> <sect3> <title >Какие возможности <emphasis >не</emphasis > обеспечиваются и почему?</title> <para> <itemizedlist> <listitem ><para >Фильтрация изображений. Изображения прямо пишутся на видеоплату, и возможность обрабатывать их .где-нибудь по пути отстутствует.</para ></listitem> <listitem ><para >Обрезка. Причина описана выше.</para ></listitem> <listitem ><para >Масштабирование изображения. Эта возможность не поддерживается почти что никакими чипсетами (<hardware >bt8X8</hardware >).</para ></listitem> <listitem ><para >Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &v4l1;.</para ></listitem> </itemizedlist> </para> </sect3> </sect2> <sect2> <title >Захват и отображение</title> <para >Этот режим включается, если выключить опцию <guimenuitem >Использовать оверлей, если это возможно</guimenuitem >. Плата ТВ захватывает изображение и сохраняет его в локальном буфере. С этим буфером можно выполнять любые действия (устранение чересстрочки, обрезка, другие фильтры) и затем отображать различными способами (см. ниже). Это самый гибкий режим &kdetv;, но и загрузка процессора в этом режиме максимальна. </para> <sect3> <title >Режимы отображения</title> <sect4 ><title >&xvideo; (с общей памятью или без нее)</title> <para >Изображение передаётся видеоплате в формате &yuv422;. В зависимости от драйвера, его масштабирует сама видеоплата или процессор, потом оно преобразуется в <acronym >RGB</acronym > и отображается. Это самый быстрый и гибкий режим работы &kdetv;. Рекомендуется использовать именно его, так как только в этом режиме все функции &kdetv; доступны в полном объёме. Общая память <emphasis >может</emphasis > дать выигрыш в быстродействии. </para> </sect4> <sect4> <title >&opengl;</title> <para >Изображение передаётся видеоплате в формате <acronym >RGB</acronym > как текстура или многоугольник. Если доступно аппаратное ускорение &opengl;, то изображение масштабируется до желаемого размера видеоплатой, при этом процессор практически не загружается. К сожалению, режим &opengl; пока не очень устойчив. Кроме того, все хорошие фильтры чересстрочки работают с форматом &yuv422;, и дополнительные преобразования свели бы на нет эффект аппаратного ускорения. </para> </sect4> <sect4> <title >X11 (с общей памятью или без неё)</title> <para >Изображение показывается с помощью стандартных механизмов &xfree;. Это происходит <emphasis >очень</emphasis > медленно и не дает возможности масштабировать изображение. Используйте этот режим в крайнем случае, если все остальные варианты не работают. Поскольку изображение захватывается в формате <acronym >RGB</acronym >, хорошие фильтры чересстрочки работать не будут. Использование общей памяти <emphasis >может</emphasis > дать небольшой выигрыш в быстродействии. </para> </sect4> </sect3> <sect3> <title >Выбор частоты кадров</title> <para >Этот модуль позволяет выбирать между полной и половинной частотой кадров. Полный поток лучше использовать с <quote >хорошими</quote > фильтрами чересстрочки &dscaler;, поскольку они восстанавливают изображение из двух последовательных полей. Полный поток даёт более <quote >плавное</quote > движение. </para> </sect3> <sect3> <title >Какие функции поддерживаются (в режиме &xvideo;)?</title> <para> <itemizedlist> <listitem ><para >Лучшее качество изображения.</para ></listitem> <listitem ><para >Различные варианты фильтрации изображения, например, устранение чересстрочки.</para ></listitem> <listitem ><para >Снимки экрана.</para ></listitem> <listitem ><para >Обрезка.</para ></listitem> <listitem ><para >Выбор режима аудио.</para ></listitem> <listitem ><para >Сканирование каналов в отсутствие декодера &vbi;.</para ></listitem> </itemizedlist> </para> </sect3> <sect3> <title >Какие возможности <emphasis >не</emphasis > обеспечиваются и почему?</title> <para> <itemizedlist> <listitem ><para >Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &v4l1;.</para ></listitem> <listitem ><para >Могут быть ограничения, связанные с выбранным режимом отображения. В режиме &xvideo; все функции &kdetv; будут доступны.</para ></listitem> </itemizedlist> </para> </sect3> </sect2> </sect1> <sect1 id="v4l2_plugin"> <title >Модуль &video4linux2;</title> <para >Чтобы проверить, используется ли модуль &video4linux2;, прочитайте раздел <link linkend="device_names" >Названия устройств видео</link >.</para> <para >Этот модуль может работать только в режиме захвата и отображения. Оверлей не поддерживается из-за раздражающего мерцания, от которого невозможно избавиться при работе с оверлеем сервера X.</para> <para >Изображение захватывается ТВ платой и сохраняется в локальном буфере. С этим буфером можно работать любым способом (устранение чересстрочки, обрезка, прочие фильтры). После этого изображение выводится на экран. </para> <sect2> <title >Режимы отображения</title> <sect3 ><title >&xvideo; (с общей памятью или без нее)</title> <para >Изображение передаётся видеоплате в формате &yuv422;. В зависимости от драйвера, его масштабирует сама видеоплата или процессор, потом оно преобразуется в <acronym >RGB</acronym > и отображается. Общая память <emphasis >может</emphasis > дать выигрыш в быстродействии. </para> </sect3> </sect2> <sect2> <title >Выбор частоты кадров</title> <para >Этот модуль позволяет выбирать между полной и половинной частотой кадров. Полный поток лучше использовать с <quote >хорошими</quote > фильтрами чересстрочки &dscaler;, поскольку они восстанавливают изображение из двух последовательных полей. Полный поток даёт более <quote >плавное</quote > движение. </para> </sect2> <sect2> <title >Какие возможности доступны?</title> <para> <itemizedlist> <listitem ><para >Лучшее качество изображения.</para ></listitem> <listitem ><para >Различные варианты фильтрации изображения, например, устранение чересстрочки.</para ></listitem> <listitem ><para >Снимки экрана (когда плата поддерживает захват в <acronym >RGB</acronym >).</para ></listitem> <listitem ><para >Обрезка.</para ></listitem> <listitem ><para >Выбор режима аудио.</para ></listitem> <listitem ><para >Сканирование каналов в отсутствие декодера &vbi;.</para ></listitem> <listitem ><para >Предоставляет доступ ко всем элементам управления ТВ платы, поддерживаемым в драйвере.</para ></listitem> </itemizedlist> </para> </sect2> </sect1> <sect1 id="mixers"> <title >Модули микшера</title> <para >В &kdetv; входят два модуля микшера, &oss; и &alsa;. Этого должно быть достаточно на всех системах, в которых работает &kdetv;. Прочитатйте <link linkend="faq" >Вопросы и ответы</link >, если возникают проблемы с уровнем громкости. </para> </sect1> </chapter>