# Архитектура

Благодаря модульной архитектуре &kdetv; построена гибко и переносимо. В неё входят модули различных типов, такие как видеоввод, экранный индикатор, микшеры и фильтры изображений. При первом запуске &kdetv; выберите в диалоге настройки модули, соответствующие используемому аппаратному обеспечению. Главное - правильно выбрать модуль видео, иначе &kdetv; будет работать в неоптимальном режиме. Подробнее об этом читайте в разделах, посвященных модулям видео.

## Названия устройств видео

В большинстве систем &linux; в списке устройств присутствуют два типа названий:

- XVideo: video4linux (порт <число>)

  Это устройство модуля &xvideo;. Подробнее о его возможностях см. раздел Модуль &xvideo;.

- Video4Linux: <название_видеоплаты>

  Это устройства модуля &video4linux;. Подробнее о его возможностях см. раздел Модуль &video4linux;.

- Video4Linux2: <название_видеоплаты>

  Это устройства модуля &video4linux2;. Подробнее о его возможностях см. раздел Модуль &video4linux2;.

## Модуль &xvideo;

Чтобы проверить, используется ли модуль &xvideo;, прочитайте раздел Названия устройств видео.

### Как всё это работает?

Для отображения видео модуль использует X-сервер. Он работает в связке с модулем X-сервера для показа видео (модуль &v4l;, мост между &video4linux; и &xvideo;). Мост &v4l; практически не загружает процессор, потому что видеоизображение копируется прямо с платы захвата в видеопамять. Большинство видеоплат способны аппаратно масштабировать изображение до желаемого размера. Некоторые платы даже способны убирать чересстрочку. Так, автор этих строк применяет плату Radeon 9500 с драйверами open-source &xfree;, и устранение чересстрочки поддерживается. Поскольку мост &v4l; работает в структуре сервера &xfree;, оверлейный режим не приводит к сбоям отображения, что имеет место в оверлейном режиме модуля &video4linux;.

### Какие возможности доступны?

- Низкая загрузка процессора.

- В зависимости от используемых плат, хорошее качество видео.

### Какие возможности не обеспечиваются и почему?

- Фильтрация изображений. Изображения прямо пишутся на видеоплату, и возможность обрабатывать их .где-нибудь по пути отстутствует.

- Снимки экрана. Причина описана выше.

- Обрезка. Причина описана выше.

- Выбор режима аудио. Эта функция отсутствует в интерфейсе &xvideo; &xfree;.

- Сканирование каналов без работающего декодера &vbi;. Эта функция отсутствует в интерфейсе &xvideo; &xfree;.

- Масштабирование изображения на некоторых старых моделях видеоплат (например, NVidia Riva 128).

- Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &xvideo;.

## Модуль &video4linux;

Чтобы проверить, используется ли модуль &video4linux;, прочитайте раздел Названия устройств видео.

Модуль может работать в двух режимах:

### Оверлей

Оверлейный режим включается, если выбрать опцию Использовать оверлей, если это возможно. В этом режиме ТВ изображение прямо передаётся видеоплате. Поскольку окно вывода видео может быть обновлено только после того, как оно было передвинуто или его размер был изменён (так как &kdetv; - это клиент &xfree;), то перемещение окна приводит к порче и мерцанию изображения. Это происходит при перерисовке участков экрана, поврежденных видеопотоком. В этом режиме загрузка процессора минимальна, но использовать его стоит только если прочие режимы не работают.

#### Какие возможности доступны?

- Низкая загрузка процессора.

- Снимки экрана.

- Выбор режима аудио.

- Сканирование каналов в отсутствие декодера &vbi;.

#### Какие возможности не обеспечиваются и почему?

- Фильтрация изображений. Изображения прямо пишутся на видеоплату, и возможность обрабатывать их .где-нибудь по пути отстутствует.

- Обрезка. Причина описана выше.

- Масштабирование изображения. Эта возможность не поддерживается почти что никакими чипсетами (bt8X8).

- Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &v4l1;.

### Захват и отображение

Этот режим включается, если выключить опцию Использовать оверлей, если это возможно. Плата ТВ захватывает изображение и сохраняет его в локальном буфере. С этим буфером можно выполнять любые действия (устранение чересстрочки, обрезка, другие фильтры) и затем отображать различными способами (см. ниже). Это самый гибкий режим &kdetv;, но и загрузка процессора в этом режиме максимальна.

#### Режимы отображения

##### &xvideo; (с общей памятью или без нее)

Изображение передаётся видеоплате в формате &yuv422;. В зависимости от драйвера, его масштабирует сама видеоплата или процессор, потом оно преобразуется в RGB и отображается. Это самый быстрый и гибкий режим работы &kdetv;. Рекомендуется использовать именно его, так как только в этом режиме все функции &kdetv; доступны в полном объёме. Общая память может дать выигрыш в быстродействии.

##### &opengl;

Изображение передаётся видеоплате в формате RGB как текстура или многоугольник. Если доступно аппаратное ускорение &opengl;, то изображение масштабируется до желаемого размера видеоплатой, при этом процессор практически не загружается. К сожалению, режим &opengl; пока не очень устойчив. Кроме того, все хорошие фильтры чересстрочки работают с форматом &yuv422;, и дополнительные преобразования свели бы на нет эффект аппаратного ускорения.

##### X11 (с общей памятью или без неё)

Изображение показывается с помощью стандартных механизмов &xfree;. Это происходит очень медленно и не дает возможности масштабировать изображение. Используйте этот режим в крайнем случае, если все остальные варианты не работают. Поскольку изображение захватывается в формате RGB, хорошие фильтры чересстрочки работать не будут. Использование общей памяти может дать небольшой выигрыш в быстродействии.

#### Выбор частоты кадров

Этот модуль позволяет выбирать между полной и половинной частотой кадров. Полный поток лучше использовать с хорошими фильтрами чересстрочки &dscaler;, поскольку они восстанавливают изображение из двух последовательных полей. Полный поток даёт более плавное движение.

#### Какие функции поддерживаются (в режиме &xvideo;)?

- Лучшее качество изображения.

- Различные варианты фильтрации изображения, например, устранение чересстрочки.

- Снимки экрана.

- Обрезка.

- Выбор режима аудио.

- Сканирование каналов в отсутствие декодера &vbi;.

#### Какие возможности не обеспечиваются и почему?

- Доступ только к самым основным элементам управления изображением, поскольку остальные функции отсутствуют в интерфейсе &v4l1;.

- Могут быть ограничения, связанные с выбранным режимом отображения. В режиме &xvideo; все функции &kdetv; будут доступны.

## Модуль &video4linux2;

Чтобы проверить, используется ли модуль &video4linux2;, прочитайте раздел Названия устройств видео.

Этот модуль может работать только в режиме захвата и отображения. Оверлей не поддерживается из-за раздражающего мерцания, от которого невозможно избавиться при работе с оверлеем сервера X.

Изображение захватывается ТВ платой и сохраняется в локальном буфере. С этим буфером можно работать любым способом (устранение чересстрочки, обрезка, прочие фильтры). После этого изображение выводится на экран.

### Режимы отображения

#### &xvideo; (с общей памятью или без нее)

Изображение передаётся видеоплате в формате &yuv422;. В зависимости от драйвера, его масштабирует сама видеоплата или процессор, потом оно преобразуется в RGB и отображается. Общая память может дать выигрыш в быстродействии.

### Выбор частоты кадров

Этот модуль позволяет выбирать между полной и половинной частотой кадров. Полный поток лучше использовать с хорошими фильтрами чересстрочки &dscaler;, поскольку они восстанавливают изображение из двух последовательных полей. Полный поток даёт более плавное движение.

### Какие возможности доступны?

- Лучшее качество изображения.

- Различные варианты фильтрации изображения, например, устранение чересстрочки.

- Снимки экрана (когда плата поддерживает захват в RGB).

- Обрезка.

- Выбор режима аудио.

- Сканирование каналов в отсутствие декодера &vbi;.

- Предоставляет доступ ко всем элементам управления ТВ платы, поддерживаемым в драйвере.

## Модули микшера

В &kdetv; входят два модуля микшера, &oss; и &alsa;. Этого должно быть достаточно на всех системах, в которых работает &kdetv;. Прочитатйте Вопросы и ответы, если возникают проблемы с уровнем громкости.