# Architecture

&kdetv; utilise une architecture en modules pour être portable et flexible. Il y a beaucoup de types de modules, &pex; entrée vidéo, affichage à l'écran, mixeurs, et filtres d'images. Quand vous démarrez &kdetv; pour la première fois, allez à la fenêtre de configuration pour sélectionner les modules dont vous avez besoin pour votre matériel. Le plus important est de savoir quel module vidéo vous utilisez pour éviter d'être non satisfait par les performances de &kdetv;. Reportez vous sections concernant les modules vidéo pour plus de détails.

## Noms de périphériques vidéo

Sur la plupart des systèmes &linux;, vous noterez deux types de noms de périphériques dans la liste des périphériques :

- XVideo: video4linux (port <un_nombre>)

  Ce sont les périphériques gérés par le module &xvideo;. Pour plus d'informations sur les capacités de ce module, reportez vous à la section sur le module &xvideo;.

- Video4Linux: <Le nom de votre carte vidéo>

  Ce sont les périphériques gérés par le module &video4linux;. Pour plus d'informations sur les capacités de ce module, reportez vous à la section sur le module &video4linux;.

- Video4Linux2: <Le nom de votre carte vidéo>

  Ce sont les périphériques gérés par le module Video4Linux2. Pour plus d'informations sur les capacités de ce module, reportez vous à la section sur le module &video4linux;.

## Module &xvideo;

Pour savoir si vous utilisez un périphérique géré par &xvideo;, regardez ici : Noms de périphériques vidéo

### Comment cela fonctionne-t-il ?

Le module utilise le serveur X pour afficher la vidéo. Il coopère avec un module du serveur X qui fournit une lecture vidéo (le module &v4l;, un pont entre &video4linux; et &xvideo;). Le pont &v4l; fournit une lecture très économe en utilisation du processeur car l'image est directement copiée de la carte TV vers la mémoire vidéo. Sur les matériels les plus récents, les cartes graphiques redimensionneront l'image à la taille souhaitée. Certaines cartes désentrelacent même l'image (l'auteur de ces lignes utilise une carte Radeon 9500 avec les pilotes open-source &xfree;, cette combinaison propose le désentrelacement. Étant donné que le pont &v4l; ;fonctionne du côté du serveur &xfree;, il peut proposer l'affichage vidéo en recouvrement sans corrompre l'écran, à l'opposé du mode de recouvrement du module &video4linux;.

### Quelles fonctionnalités cela comporte-t-il ?

- Peu d'utilisation du processeur.

- Selon votre matériel, une assez bonne qualité d'image.

### Quelles fonctionnalités ne propose-t-il pas ? Pourquoi ?

- Filtrage d'image. Les images sont directement transférées aux cartes graphiques, il n'y a donc pas de possibilités de les manipuler entre temps.

- Captures d'écrans. Raison : voir ci-dessus.

- Surbalayage. Raison : voir ci-dessus.

- Mode de sélection Audio. Cette fonctionnalité n'est pas proposée par l'interface &xfree; &xvideo;.

- Le scan de canaux sans avoir de décodeur &vbi; en fonctionnement. La fonctionnalité pour déterminer la puissance du signal n'est pas proposée par l'interface &xfree; &xvideo;.

- Le redimensionnement de l'image sur certaines très vieilles cartes (par exemple une NVIDIA Riva 128).

- Impossible d'accéder aux fonctionnalités les plus importantes étant donné que l'API de &xvideo; ne dévoile pas les autres.

## Module &video4linux;

Pour savoir si vous utilisez un périphérique géré par &video4linux;, regardez ici : Noms de périphériques vidéo

Ce module a deux modes de fonctionnement :

### Recouvrement

Il fonctionne en mode recouvrement quand vous cochez l'option Utiliser le recouvrement si possible. Dans ce mode, l'image TV est directement transférée dans votre carte graphique. Étant donné que la fenêtre vidéo ne peut être rafraîchie qu'après avoir été déplacée ou redimensionnée (&kdetv; est un client &xfree;) vous noterez la corruption à l'affichage et le léger vacillement quand vous déplacez ou redimensionnez la fenêtre. Ceci est nécessaire pour remettre en place les régions du bureau qui auront été corrompus par le flux vidéo. Ce mode n'utilise la plupart du temps que très peu de ressources processeur, mais ne devrait être utilisé que si rien d'autre ne fonctionne.

#### Quelles fonctionnalités cela comporte-t-il ?

- Peu d'utilisation du processeur.

- Captures d'écran.

- Mode de sélection audio.

- Scan de canaux sans avoir le décodeur &vbi; en fonctionnement

#### Quelles fonctionnalités ne propose-t-il pas ? Pourquoi ?

- Filtrage d'image; Les images sont directement transférées aux cartes graphiques, il n'y a donc pas de possibilités de les manipuler entre temps.

- Surbalayage. Raison : voir ci-dessus.

- Redimensionnement de l'image. La plupart des cartes TV (puces bt8X8) ne le supportent pas.

- Ne peut proposer l'accès qu'aux fonctionnalités les plus importantes étant donné que l'API de &v4l1; ne dévoile pas les autres.

### Capture et affichage

Ce mode n'est actif que lorsque l'option Utiliser le recouvrement si possible est décochée. Une image sera capturée de la carte TV et stockée dans un tampon local. Ce tampon peut être manipulé de façons arbitraires (désentrelacement, surbalayage, autres filtres) et est alors affiché en utilisant différentes méthodes (voir ci-dessous). C'est le mode le plus flexible, mais aussi celui utilisant le plus le processeur que &kdetv; propose.

#### Modes d'affichage

##### &xvideo; (avec ou sans mémoire partagée)

L'image est manipulée dans la carte graphique au format &yuv422;. Selon le pilote, la carte graphique ou l'utilisation du processeur, l'image est transformée en RVB avec la profondeur de la couleur d'affichage puis affichée. C'est le mode le plus rapide et le plus flexible que &kdetv; propose. Il est fortement recommandé que vous utilisiez ce mode étant donné que c'est le seul mode exposant toutes les fonctionnalités de &kdetv;. L'utilisation de mémoire partagée peut entraîner une légère augmentation de performances.

##### &opengl;

L'image est manipulée dans la carte graphique au format RVB en tant que texture pour un polygone. Si vous avez une accélération matérielle &opengl;, l'image est redimensionnée à la taille désirée par la carte graphique, ce qui permet d'économiser l'utilisation du processeur. L'inconvénient de ce mode est que le mode d'affichage via &opengl; semble instable. De plus, tous les bons désentrelaceurs utilise le format &yuv422;, ce qui entraîne des conversions supplémentaires annulant l'effet de l'accélération matérielle.

##### X11 (avec ou sans mémoire partagée)

L'image est affichée en utilisant les mécanismes &xfree; standards. C'est très lent et ne fournit pas de redimensionnement de l'image. Utilisez le si rien d'autre ne fonctionne. Étant donné que l'image est manipulée au format RVB, aucun des bons désentrelaceurs ne fonctionnera. L'utilisation de mémoire partagée peut entraîner une légère augmentation des performances.

#### Sélection du débit de frames

Les modules vous proposent de choisir entre un débit de frames complet ou un semi débit. Le débit complet n'est utile qu'en combinaison avec un bon désentrelaceur &dscaler; étant donné qu'il créera une nouvelle image à partir des deux dernières. Cela permet un mouvement plus lisse.

#### Quelles fonctionnalités propose-t-il (en admettant que le mode d'affichage &xvideo; soit utilisé) ?

- Une meilleure qualité d'image.

- Filtrage d'image de façon arbitraire, par exemple le désentrelacement ;

- Captures d'écran.

- Surbalayage.

- Mode de sélection audio.

- Scan de canaux sans avoir le décodeur &vbi; en fonctionnement

#### Quelles fonctionnalités ne propose-t-il pas ? Pourquoi ?

- Ne peut proposer l'accès qu'aux fonctionnalités les plus importantes étant donné que l'API de &v4l1; ne dévoile pas les autres.

- Il peut y avoir des limitations dues au mode d'affichage sélectionné. Voir ci-dessus. Lorsque vous utilisez le mode &xvideo;, toutes les fonctionnalités de &kdetv; sont disponibles.

## Module &video4linux2;

Pour savoir si vous utilisez un périphérique géré par &video4linux2;, regardez ici : Noms de périphériques vidéo

Ce module ne supporte qu'un mode opératoire : Capturer et afficher. Le recouvrement n'est pas supporté a cause d'effets de bords clignotants ennuyants qu'il est impossible de contourner lors d'un recouvrement sous un serveur X.

Une image sera capturée de la carte TV et stockée dans un tampon local. Ce tampon peut être manipulé de façons arbitraires (désentrelacement, surbalayage, autres filtres) et est alors affiché à l'écran.

### Modes d'affichage

#### &xvideo; (avec ou sans mémoire partagée)

L'image est manipulée dans la carte graphique au format &yuv422;. Selon le pilote, la carte graphique ou l'utilisation du processeur, l'image est transformée en RVB avec la profondeur de la couleur d'affichage puis affichée. L'utilisation de mémoire partagée peut entraîner une légère augmentation de performances.

### Sélection du débit de frames

Les modules vous proposent de choisir entre un débit de frames complet ou un semi débit. Le débit complet n'est utile qu'en combinaison avec un bon désentrelaceur &dscaler; étant donné qu'il créera une nouvelle image à partir des deux dernières. Cela permet un mouvement plus lisse.

### Quelles fonctionnalités cela comporte-t-il ?

- Une meilleure qualité d'image.

- Filtrage d'image de façon arbitraire, par exemple le désentrelacement ;

- Instantanés (quand le matériel supporte la capture RGB).

- Surbalayage.

- Mode de sélection audio.

- Scan de canaux sans avoir le décodeur &vbi; en fonctionnement

- Propose l'accès à toutes les fonctionnalités de la carte TV que le pilote propose.

## Modules de mixage

&kdetv; propose actuellement deux modules de mixage (&oss; et &alsa;). Ils devraient fonctionner sur toutes les plates-formes que &kdetv; supporte. Veuillez vous reportez à la FAQ si vous avez des problèmes pour régler le volume.