faq FAQ: Foire aux questions faq

dernière MAJ décembre 2004


  • Le message d'erreur suivant apparait au lancement, que faire?
*** AUDIO DEVICE TYPE = alsa
*** GRABBER DEVICE TYPE = v4l2
xdtv: simple.c:1785: snd_mixer_selem_get_capture_switch: Assertion `elem' failed.

Cette erreur peut arriver lorsque Alsa est mal configuré:
Allez dans la section "Alsa pour les newbies" et suivez les conseils prodigués.

essayez aussi un arret d'alsa via cette commande (en root): /etc/init.d/alsa stop
supprimez le fichier /etc/asound.state (en root: rm /etc/asound.state)
relancez alsa via cette commande (en root): /etc/init.d/alsa start

Si le problème n'est pas résolu après ca, testez la commande suivante: xdtv -noalsa

  • Le message d'erreur suivant apparait au lancement, que faire?

WARNING: video memory base unknown, may be caused by a problem

  with xdtv_v4l-conf or a non-availability of DGA
  and frame buffer devices: CLASSICAL OVERLAY IS DISABLED !
 
Se mettre en root et lancer la commande xdtv_v4l-conf. Voici le résultat que cela peut donner:

xdtv_v4l-conf: using X11 display :0.0
dga: version 2.0
mode: 1024x768, depth=16, bpp=16, bpl=2048, base=0xf0000000
/dev/video [v4l2]: configuration done
done

Lorsque la configuration est finie, relancer XdTV.

  • Depuis la version 2.0 les versions de Nxtvepg inférieures ou égales à 2.7.3 ne fonctionnent plus avec XdTV (à cause du changement de nom). Pour resoudre ce problème tapez les commandes suivantes:
cd /home/xxxxx/ (Ou xxxxx est votre profil utilisateur)
ln -s .xawdecode .xdtv
cd .xdtv
ln -s xawdecoderc xdtvrc

XdTV est totalement supporté par Nxtvepg à partir de la version 2.7.4pre1

  • J'ai un problème de "bandes boires" tout autour de la zone TV lorsque je passe en plein écran. Que faire?
En overlay la résolution max est de 768x576. Il faut mieux donc choisir "768x576" ou "640x480" dans:
 
"open X11 options">"Fullscreen resolution"

Par contre depuis la version 1.9.2 la nouvelle méthode d'overlay permet de dépasser cette limite (interessant en mode plein écran). Pour vérifier si votre carte supporte ceci procédez aux tests suivants:

Pour l'overlay:

-noxv -capture overlay
-v4l1 -capture overlay
-xvtv -capture overlay
-xvtv_overlay on -capture overlay
-xvtv_overlay off -capture overlay

Pour le grabdisplay:

-noxv -capture grabdisplay
-v4l1 -capture grabdisplay
-xvtv -capture grabdisplay
-xvtv_overlay on -capture grabdisplay
-xvtv_overlay off -capture grabdisplay

Et donnez nous les résultats.
Attention: Le fullscreen fonctionne en overlay via l'option "-xvtv_overlay on" mais seulement en v4l2 .

Pour info:
> xdtv -noxv
A faire seulement si la carte video a un support XVideo bugué....
> xdtv -xvtv_overlay off
On n'a plus l'overlay de dernière génération.... on a l'ancien overlay limité a 768x576, qui necessite en plus le support DGA, et le script xdtv_v4l-conf qui peut poser des problemes de securite....
> xdtv -xvtv
SEUL moyen pour avoir la dernière version de l'overlay en v4l1 mais sans grabdisplay (pas d'enregistrement ou de channel window...)

  • Au redémarrage de ma mandrake 10.0 la Tv ne fonctionne plus. Que faire?
Il suffit d'ouvrir le fichier /etc/modprobe.preload avec un éditeur de texte et d'y ajouter bttv.

  • Lorsque je lance XdTV, l'overlay n'est pas utilisable car je n'ai pas le module DGA de charger, comment régler ce problème?
Essayez d'utiliser ces deux paramètres:

 -d disable the usage of X11 DGA extension.
-D adr set  framebuffer  address to adr. Needed for overlay mode if DGA is not available (needs root privileges, use with caution !).

  • Au niveau de l'interface graphique Xaw, je n'arrive pas à utiliser les curseurs. Que faire?
Essaye avec les boutons droits & gauche. Le bouton gauche -> augmente les réglages Le bouton droit -> diminue les réglages
Ce problème ne dépend pas directement d'XdTV mais du widgets Xaw utilisé. Préfère neXtaw comme widget: il te permettra de déplacer le curseur à la souris.

  • Le message d'erreur suivant apparait avec XdTV. Que faire?
ALSA lib pcm_hw.c:549:(snd_pcm_hw_start) SNDRV_PCM_IOCTL_START failed: Broken pipe

Cela peut etre du à une version d'alsa qui comporte des problèmes. Recompiler une ancienne version peut résoudre le problème. (Problème rencontré sous MDK 10.1)

  • Est il possible de garder une fréquence audio de 44kHz avec un bitrate de 48kbps (mono)?
C'est lame qui décide normalement tout ca. Avec le pacth suivant cela est réalisable:

--- src/divx.c  2004-06-08 22:15:17.000000000 +0200
+++ src/divx.c.new      2004-09-03 23:46:53.037679720 +0200
@@ -1453,6 +1453,7 @@
      lame_set_num_channels(gfp, achans);
 
      lame_set_in_samplerate(gfp, DEC_FREQ);
+     lame_set_out_samplerate(gfp, DEC_FREQ);
      lame_set_compression_ratio(gfp, 0.0);
      if(!divx.mp3_vbr)
        lame_set_brate(gfp, divx.mp3_bitrate);

  • Lorsqu'on utilise XdTV, la haute qualité est proposée par défaut (2 trames d'images). Comment faire pour diminuer cette qualité d'affichage?

Choisir la résolution de capture est possible. Pour cela, allez dans le menu "XFree Options"> "Max size of the grabbed frames" et modifier la valeur proposée.

  • J'ai installe XdTV normalement et j'aimerai passer en debug, comment faire?
Recompilez XdTV comme suit:
./configure --disable-nodebug && make

Puis lancez XdTV ainsi:
xdtv -v 2

  • Depuis l'installation du pilote nvidia 1.0-6111, XdTV plante complètement l'ordinateur. Quelqu'un a-t-il déjà eu ce symptome?
Il semble y avoir un problème de traitement de l'overlay avec les dernières versions de pilotes nvidia. Et ceci depuis la série 1.0-6xxx. Ce problème semble identique à ceux rencontrés avec les pilotes ATI quand on active le DGA.




FAQ de juillet 2003
  • Je ne peux pas changer les canaux pourquoi?
Ne pas pouvoir changer de canaux veut dire que le tuner qui a été sélectionné automatiquement par XdTV via les drivers  bttv n'est pas le bon.
Ce problème se rencontrait autrefois avec certaines cartes très anciennes. Il était alors obligatoire de mettre certaines valeurs dans le modules.conf (kernel 2.4.x) ou dans le fichier modprobe.conf (kernel 2.6.x) à la main:

Comme par exemple ici:

######### Tuner TV ############
alias char-major-81-0 video
alias video bttv
options bttv pll=0 radio=0 card=1 tuner=3
######### End Tuner TV #########

Concenant les cartes très récentes qui peuvent poser problème, il faut donc aller vérifier dans la liste de compatibilité des drivers BTTV que leurs tuners sont bien supportés et si oui quel numéro leurs est affectées.
Lorsque cette information est récupérée, il faut alors modifier le modules.conf (tuner=x et card=y).


  • Qu'est ce que l'Overlay / Le grabdisplay?
Sur XdTV/xawtv, l'overlay est l'affichage direct de la carte TV sur l'écran: c'est le driver bttv qui gère directement cet affichage.
Ca consomme zéro CPU, c'est le seul avantage, mais on ne peut pas agir sur l'image, c'est l'inconvénient.
Dans le mode grabdisplay, c'est XdTV qui gère tout. Même l'image avant de l'afficher.
L'affichage/stretching est par contre pris en charge par la carte video grace à la fameuse extension Xvideo de Xfree.


  • Consomation CPU et filtre de désentrelacement:
Le greedy et le linear blend sont parmis les filtres les plus consommateurs.
Le bob peut donner de bons résultats, et consomme moins de CPU que les autres.

  • le message d'erreur suivant apparaît au démarrage: "no video grabber device available": que faire?
XdTV recherche /dev/vbi. si dans votre répertoire /dev il existe un /dev/vbi0 ou un /dev/vbi1 ou un /dev/v4l/vbi0 ou un /dev/v4l/vbi1 alors il vous faudra faire un lien symbolique du genre:

ln -s /dev/v4l/vbix /dev/vbi
et XdTV se lancera.

Désormais XdTV découvre les périphériques dynamiquement. Mais cette méthode est encore utile sur certaines configurations exotiques.

  • certaines résolutions (640x480 par exemple) n'affiche pas correctement en grabdisplay pourquoi?
Si vous utilisez XFree4.x / X.org cela peut alors provenir de l'extraction automatique des résolutions standards par le serveur X sur votre écran. Cette extraction peut mal se passer sur certains vieux écrans.
La solution est d'ajouter manuellement les résolutions manquantes et dites "standards" dans votre fichier XF86config-4 / xorg.conf .
Une solution sous Mandrake est de les recopier du fichier XF86config (fichier de configuration de la version 3.x) vers le fichier XF86config-4 / xorg.conf (fichier de configuration de la version 4.x).

  • les filtres de désentrelacement ne fonctionnent pas pourquoi?
Car il faut être en grabdisplay pour pouvoir faire un quelconque traitement de la vidéo. Veillez donc à passer le canal d'overlay à grabdisplay pour utiliser ce genre de fonctionnalités. L'utilisation d'un tel filtre passe désormais le mode à grabdisplay de façon automatique (sur les dernières version d'XdTV).

  • Qu'est ce que nxtvepg?
Nxtvepg est un logiciel qui est interfacé avec XdTV. Il permet de récupérer les signaux NextView et de les transmettre à XdTV.
Pour l'installer il suffit alors dans un shell, en mode root de taper une des commandes suivantes:

urpmi nxtvepg (pour ceux qui utilisent Mandrake)

ou

rpm -Uvh nxtvepg-x.y.z.1mdk.i586.rpm

  • Le répertoire .xdtv expliqué:
Au premier lancement d'XdTV un répertoire .xdtv est créé dans le répertoire $HOME de l'utilisateur.
Dans ce répertoire il peut contenir les fichiers suivants:

xdtvrc:
Fichier de configuration du logiciel. Il peut être créé à la main par l'utilisateur ou bien par XdTV.

last_channel:
Fichier permettant comme son nom l'indique de savoir quelle a été le dernier canal utilisé pour l'appliquer au prochain
redémarrage.

memcpy_method:
memcpy est une fonction du C qui permet de copier le contenu d'une zone mémoire vers une autre zone mémoire. On s'en sert "abusivement" pour les copies de buffer et plus cette fonction est efficace, plus on aura des images fluides. Lors du 1er lancement, XdTV teste différentes implémentations de memcpy, celle de la librairie C, celle du kernel, une optimisée en MMX, etc... la plus rapide est choisie et le résultat est stocké dans le fichier .xdtv/memcpy_method pour éviter de refaire le test à chaque lancement.

  • Les raccourcis clavier ne fonctionne pas!

Pour que les raccourcis clavier fonctionnent, il faut:
1 ) que XdTV ait été installé par make install (ou à partir d'un RPM). En effet, le processus d'installation recopie le fichier de ressources X11 XdTV.ad dans le répertoire système des fichiers de ressources X11, à savoir, /usr/X11R6/lib/X11/app-defaults (ceci peut changer en fonction des distributions), en le renommant XdTV

2) que la fenêtre TV aie le focus (fenêtre selectionnée avec le curseur souris à l'intérieur).



  • XdTV plante au démarrage avec une erreur du type:

No Xv port available.
Successfully find YUY2 XvImage port : -1
X Error of failed request: XvBadPort

Lancer XdTV avec l'option -no-xv ou noxv.
XV signifie Extension Video: ce sont des extensions video pour XFree 4.x / X.org. Ces extensions permettent de réaliser un certain nombre de choses entre autre utiliser les capacités d'accélération hardware de la carte vidéo,  ce qui rend la vidéo plus fluide.
Avec XV, c'est la carte video qui fait en hadware la transformation YUY2 -> RGB avant affichage alors que sans XV, c'est XdTV qui le fait (en MMX, mais quand même...).
De plus ce support est important car toutes les fonctionnalités ne sont pas présentes si le support XV n'est pas activé: par exemple les filtres de désentrelacement.
Pour vérifier si votre système supporte ces extensions il suffit de taper la commande suivante:

xvinfo
http://linuxcommand.org/man_pages/xvinfo1.html

Si le programme se plante pour cause de non support XV il peut être tout de même lancé sans ce support:
xdtv -noxv


  • XdTV plante au démarrage avec une erreur du type:

The app-defaults file is not correctly installed.
Your fault (core dumped)

Le plantage se produit parce que XdTV ne trouve pas son fichier de ressources X11 qui est normalement installé par make install dans le répertoire système des ressources X11. Ce répertoire est usuellement /usr/X11R6/lib/X11/app-defaults. Il faut y copier le fichier XdTV.ad en le renommant XdTV.


  • Quand je passe en mode plein écran, j'ai la télé en tout petit au milieu du reste de l'écran qui est noir:

Ce problème de plein écran est un simple problème de configuration.

1) Dans ~/.xdtv/xdtvrc, il faut mettre une ligne:
fullscreen=640x480 ou mieux encore
fullscreen=768x576

2) Il est préférable d'utiliser XFree86 4.0.x / X.org (voire même 4.2.x) et non pas XFree86 3.3.6.
Pourquoi?
Pour 3 raisons.
* La 1ère c'est que XFree86 4 sait lire les donnèes EDID du moniteur et sait donc comment le commander pour utiliser les modes videos prédéfinis en usine (640x480, 800x600, 1024x768, 1280x1024, etc..).

* La 2ème raison, c'est que XFree86 4 / X.org apporte un meilleur support des devices v4l (video for linux) à condition toutefois de bien penser à mettre la ligne: Load "v4l" dans la section "Module" du fichier de config de XFree / X.org, en général /etc/X11/XF86Config-4 ou /etc/X11/xorg.conf

* La 3ème, c'est que XFree86 4 / X.org apporte l'extension XVideo qui , à condition d'avoir les drivers de carte video adéquats, permet de faire de l'accélération matérielle pour l'affichage d'image au format YVU.

De plus, avec Xvideo, c'est la carte video qui effectue le redimensionnement de l'image si nécessaire. Il y a un problème avec Mandrake: c'est que leur version de XFree86 4 / X.org et TRES lente quand on utilise Xvideo avec du YVU.... Dans ce cas, ne pas hésiter à lancer XdTV avec l'option -noxv !!! (Ce n'est plus le cas avec la version 9.0)

Donc, si on utilise XFree86 4 / X.org et fullscreen=640x480, c'est bon, il n'y a plus rien à faire car XFree / X.org saura tout seul comment mettre le moniteur en 640x480.Si on met fullscreen=768x578, alors il faut rajouter un modeline dans le fichier de config de XFree / X.org pour lui dire comment piloter le moniteur. Et là, il n'y a pas de recette miracle, car ça dépend des caractéristiques techniques du moniteur.

Mais, il existe le site Colas XFree Modeline Generator (http://www-sop.inria.fr/cgi-bin/koala/nph-colas-modelines) qui aide à calculer le modeline adéquat.

Pour ceux qui utilisent encore XFree86 3.3.6, il faudra alors mettre un modeline pour TOUS les modes videos que l'on souhaite utiliser avec le moniteur.

3) Il faut aussi dire dans le fichier de config de XFree quels sont les modes videos que l'on peux utiliser (et oui, définir les modelines n'est pas suffisant!).

Cela se fait dans la section "Screen", avec des lignes du type :

Subsection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "768x576" "640x480"
ViewPort 0 0
EndSubsection

Et puis pour de meilleures performances, il vaut mieux lancer XFree / X.org  en 16bpp plutôt qu'en 24 ou 32bpp. Avec ça, on DOIT avoir un fullscreen impeccable avec XdTV que l'on utilise le mode Xv (Xvideo) ou le mode "traditionnel" avec -noxv.


  • Comment savoir si on utilise bien Xfree86 4 / X.org et non pas 3?

Editez le fichier de log /var/log/XFree86.0.log ou /var/log/Xorg.0.log


  • Faut il utiliser XdTV en tant que root?

Absolument pas, ceci est totalement déconseiller!!! Bien évidement, il FAUT utiliser XdTV en tant qu'utilisateur normal, et pas en tant que root. C'est un principe général sur un système unix: le compte root ne doit servir qu'à administrer le système, un point c'est tout. Idéalement, il ne faudrait d'ailleurs même jamais ouvrir de session X11 en tant que root.



  • Quand je lance XdTV j'ai un message du type "can't acces mixer" ou "can't access vbi":

C'est un problème général d'autorisation d'accès au périphérique en question. Le problème d'accès à un périphérique (/dev/dsp, /dev/vbi, /dev/video, /dev/mixer, etc...)
Tout d'abord vérifier que /dev/video existe et est un lien symbolique vers /dev/video0.
Si besoin, le créer: ln -s /dev/video0 /dev/video (en tant que root).
Idem pour /dev/vbi qui doit être un lien symbolique vers /dev/vbi0.
Ensuite, les problèmes de groupes...
Dans les distribs récentes, l'accès aux différents périphériques est géré par l'appartenance à des groupes spécifiques: un groupe dédié par type de périphérique.
Par exemple, les périphériques audio comme /dev/dsp appartient à root, groupe audio. Donc pour que tartanpion puisse se servir de la carte son, il faut que tartanpion fasse partie du groupe audio.
Il peut en être de même pour l'accès à la carteTV (/dev/video0, owner=root,group=video ou sys), du lecteur de cdrom (/dev/cdrom -> /dev/hdc et /dev/hdc, group=cdrom) , de l'imprimante (group=lp ou printer), du modem (group=modem ou uucp ou dialup ...).
Donc pour se servir de tout ces devices, l'utilisateur tartanpion devra faire partie des groupes cdrom, audio, video, lp, uucp....

Cela permet à l'administrateur du système de contrôler finement qui peut avoir accès à quoi!

Il faut quand même s'assurer que le groupe a le droit d'utiliser les devices: (en tant que root, faire)

$ chmod g+rw /dev/video0
$ chmod g+rw /dev/vbi0
$ chmod g+rw /dev/audio0
$ chmod g+rw /dev/mixer
$ chmod g+rw /dev/dsp

En même temps, en profiter pour vérifier à quel groupe appartient les devices: (Exemple pris sur une Mandrake 8.0)

$ ls -l /dev/video0

nous donne: crw-rw---- 1 root sys 81, 0 Apr 14 13:06 /dev/video0

et

$ ls -l /dev/audio0

nous donne:

crw-rw---- 1 root audio 14, 4 Apr 14 13:06 /dev/audio0

Donc, il faut que tartanpion fasse au moins partie des groupes sys et audio! Au passage, c'est une mauvaise idée que de faire appertenir la carte video au groupe sys, le groupe banalisé video serait plus sûr.... Mais, bon, c'est le choix qu'a fait Mandrake...

Bon, c'est bien beau tout ça, mais comment on ajoute un utilisateur comme membre d'un groupe? Tout d'abord, il faut lister les groupes auxquels appartient déjà l'utilisateur (que l'on va appeler USER1 pour l'exemple):

$ id -a USER1

donne la réponse:

uid=993(USER1) gid=21(USER1) groups=21(USER1),22(cdrom),43(usb),80(cdwriter),504(xgrp)

Cela nous indique que l'utilisateur "USER1" a comme groupe par défaut "USER1" et appartient aux groupes: USER1 (c'est normal, vu que c'est son groupe par défaut!!), cdrom, usb, cdwriter, xgrp.

Pour lui ajouter l'accès aux groupes sys et audio, il faut alors faire (en tant que root, bien sûr):

$ usermod -g USER1 -G USER1,cdrom,usb,cdwriter,xgrp,sys,audio USER1

le "-g USER1" c'est pour spécifier le groupe principal
le "-G USER1,cdrom, .... ,audio" c'est pour spécifier TOUS les groupes auxquels l'utilisateur appartient. Attention: il faut remettre TOUS les groupes!!!

le USER1 final, c'est pour spécifier l'utilisateur auquel s'applique ces modifs.
Pour que les modifications prennent effet, l'utilisateur USER1 devra se délogger et se relogger sur le système (surtout si les modifs o
nt été faites à partir d'une fenêtre root lancée depuis une session X11 ouverte par l'utilisateur USER1, ce qui est le cas dans 95% des cas).


  • Qu'est ce que le memcpy:

memcpy est une fonction du C qui permet de copier le contenu d'une zone mémoire vers une autre zone mémoire. On s'en sert "abusivement" pour les copies de buffer et plus cette fonction est efficace, plus on aura des images fluides. Lors du 1er lancement, XdTV teste différentes implémentations de memcpy, celle de la librairie C, celle du kernel, une optimisée en MMX, etc... la plus rapide est choisie et le résultat est stocké dans le fichier .xdtv/memcpy_method pour éviter de refaire le test à chaque lancement.

  • Quel support son prendre?

Il en existe deux: OSS et ALSA qui est compatible OSS. Les drivers ALSA sont vraiment les seuls à faire du vrai full duplex sur les cartes sons... Ce sont ceux la qu'il faudra utiliser en priorité. D'ailleurs le décalage entre le son et l'image provient la plupart du temps d'une utilisation de OSS. Le support ALSA devrait résoudre le problème.

  • Je désirerais avoir des informations sur Xv Video for linux (v4l) et BTTV comment faire?

Lancer Xawdecode avec l'option -hwscan cela va donner un résultat voisin de celui ci:

This is xawdecode 1.3.10 running on Linux/i686 (2.4.8-26mdk).
looking for available devices
MIT Shm extension available
Number of Xv adaptors available: 1
port 58-58 [ -xvport 58 ]
name : Matrox G-Series Backend Scaler
type : Xvideo, image scaler
format supported on port 58 : YUY2 YV12 I420
v4l: bttv version 0.7.72
/dev/video0: OK [ -c /dev/video0 ]
type : v4l
name : BT848(MIRO PCTV)
flags: capture tuner overlay clipping frameram scales

Cette option n'existe plus avec XdTV.
Il est aussi possible de lancer XdTv en mode debug: pour cela il suffit de lancer dans un shell la commande suivante : gdb /usr/bin/xxdtv ; cela va donner un résultat voisin de celui ci:

[user1@localhost user1]$ gdb /usr/local/bin/xdtv
GNU gdb 20010813 (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-mandrake-linux"...
(gdb) run
Starting program: /usr/local/bin/xdtv
[New Thread 1024 (LWP 2003)]

This is xdtv 2.0.0 running on Linux/i686 (2.6.8.1-20mdk).
wmhooks: netwm
DGA: server=2.0, include=2.0
VidMode: server=2.1, include=2.1
available video mode(s): 1024x768 800x600 768x576 640x480
Selected XvImage adaptor with YUY2 support: Matrox G-Series Backend Scaler on port 58
x11: 1024x768, 16 bit/pixel, 2048 byte/scanline
v4l: 1024x768, 16 bit/pixel, 2048 byte/scanline
v4l: framebuffer base=0xe3000000
v4l: mmap()'ed buffer size = 0x410000
......

.......
MMX and SSE detected.
......


  • Mon fps est déplorable que faire:

Il a été constaté avec certaines distributions que Xv n'était pas accéléré en mode YUY2 (Mandrake 7.2) il faudra installer XvBogus ( à récuperer sur le site de xawdecode section autres téléchargements) non il faudra utiliser Xawdecode en lui passant le paramètre au démarrage -noxv (beaucoup moins bon qu'en mode Xv au niveau CPU et donc Fps).

Ce problème n'existe plus avec XdTV.


  • XdTV rame horriblement:

Les meilleurs résultats sont obtenus avec XFree86 4.x / X.org et l'extension Xvideo. Si on n'utilise pas l'extension Xvideo, il est  préférable de lancer le serveur X en 16bpp au lieu de 24 ou 32. Sinon, autoriser le support MTRR dans votre kernel peut aider à améliorer les choses. Si vous utilisez XFree 3.x, il faudra dire vous même au kernel où se trouve la mémoire de la carte vidéo. Vous trouverez des détails sur cette manip dans le "Linux DVD Howto".
 


  • J'ai des espèces de points parasites blancs qui apparaissent quand je passe d'une chaine en grabdisplay à une chaine en overlay (ou vice-versa):

Il suffit de mettre colorkey = 123456 dans le .xdtvrc En effet, le problème des petits points blancs parasites évanescents: c'est lié au colorkey de Xvideo qui par défaut utilise le noir comme couleur de transparence. Ce n'est pas un bug de XdTV.


  • Plus je reduis la taille de la fenêtre, plus l'image est déformée. Que faire ?

Lorsque l'image s'étire dans la hauteur (on le voit bien en passant de xawtv à xawdecode) et que le bas de l'image disparait, ceci est du au non support du Scalling par de driver vidéo et plus précisement Xv (Xvideo). Plusieurs solutions s'offre a vous: monter en niveau de version XFree86 ou mettre dans le fichier RC la clef suivante: hw_scaling = off

Ce problème n'existe plus avec XdTV.

  • A quoi correspondent chaque fonction de désentrelacement ?


Voici quelques explications tirées de la documentation du projet DScaler (http://deinterlace.sourceforge.net)...

Désentrelacement Video (Bob) (C'est le filtre BOB utilisé dans XdTV)
Cette méthode est basée sur le filtre Virtual Dub de Gunnar Thalin. Si il détecte des effets d'entrelacement dans l'image courante, il coupe pour les éliminer.
Cette méthode a une tendance à couper beaucoup trop et donne de mauvais résultat sur des images statiques peu sujettes à l'entrelacement.

Désentrelacement Video (Weave) (C'est le filtre WEAVE utilisé dans XdTV)
Similaire du désentrelacement vidéo (Bob), cependant cette methode a tendance à "tramer" sur des images dynamiques.

Désentrelacement Video (2-Frame)
Cette méthode utilise la trame courante et les 2 dernières pour savoir s'il faut couper ou "tramer" un pixel donné. Cela donne de meilleurs résultats à la fois sur des imgaes statiques et sur des images dynamiques que les deux méthodes précédentes mais réclame plus de CPU.

Simple Weave
Cette méthode combine juste les champs pairs et impairs les plus récents. Elle provoque des artefacts de déplacement et est juste fournie à titre de comparaison.

Simple Bob
Cette méthode utilise seulement les champs les plus récents et comble les lignes intermédiaires par des pixels interpolés. Cette méthode a été remplacée par le Scaler BOB.

Blended Clip
La méthode de désentrelacement BLENDED CLIP a été définie a titre d'expérimentation par tous ceux qui s'interessent à ce qui marche en matière de désentrelacement video. Lorsqu'elle est selectionnée, un panneau de contrôle permet d'ajuster de nombreux paramètres. Ils correspondent aux paramètres Blc.... dans la section [Deinterlace] du fichier DScaler.ini où ils sont documentés. Ce n'est peut être pas la méthode universelle mais elle peut être utilisée pour créer des méthodes de désentrelacement spécifiques. Ils peuvent être sauvegarder dans un fichier ini séparé qui peut être apppelé par un paramètres sur la ligne de commande lors du lancement de DScaler.exe. Quelque peut consommateur de CPU.

Scaler Bob
Utilise la fonctionnalité matérielle bob de DirectDraw (si disponible). Utilise la trame courante et laisse la carte video dimensionner l'image pour tenir à l'écran.
Produit de bon résultats sur des images qui bougent très vite.

Odd Fields Only (C'est le filtre ONE FIELD utilisé dans XdTV)
Utilise seulement une trame sur les 2 et applique une mise à l'echelle matérielle. Cela réduit les effets de coupe au détriment d'une perte d'information. C'est ce qui était utilisé à l'origine sur les consoles de jeux.

Désentrelacement Adaptatif
Cette méthode utilise une détection de mouvement pour choisir le meilleur algorithme de désentrelacement. Par défaut, le choix se fait entre 2-Frame et weave.

Méthode de désentrelacement Greedy
La méthode de désentrelacement GREEDY a été définie pour donner de bons résultats sur des images à mouvement faible tout en utilisant moins de CPU que d'autres. Elle est bonne sur des petites configs mais donnera des résultats déplorables sur des images à mouvement très rapide comme le sport. Par hasard, il se trouve que cette méthode donne de bons résultats sur des films mal mastérisés en 3:2 ou abaissés en 2:2 comme certains dessins animés qu'ils comportent des images rapides ou lentes.
A essayer si vous avez un film qui ne donne pas de bons résultat avec le traitement Auto Pull Down.

Méthode Greedy 2 Frame (C'est le filtre GREEDY utilisé dans XdTV)
Cette méthode tente de combiner les meilleures fonctionnalités de l'algorithme 2-Frame avec la capacité d'anticipation de la méthode Greedy. Je trouve que cette méthode marche bien sur du sport et d'autres umages très dynamiques. Sur des images statiques ou de mauvaise qualité, on peut avoir des niveaux de coupe innacceptable.

MéthodeLinear Blend (C'est le filtre LINEAR BLEND utilisé dans XdTV)
Linear Blend opère en moyennant chaque pixel d'une ligne avec celui de la ligne en dessous, filtrant ainsi la trame. Cela élimine presque complètement l'effet de l'entrelacement.


  • Je rencontre parfois des couleurs bizarre lors de la lecture d'un fichier avi généré par xawdecode. Comment faire pour éviter cela ?

Utiliser les dernières versions des lecteurs AVI disponibles sous linux (mplayer, aviplay ou xine). Si cela ne corrige pas le problème, tenter de forcer l'utilisation du codec divx4 (option -vc divx4 pour aviplay ou mplayer, et pour xine, mettre "codec.divx4_priority:6" dans ~/.xine/config ).

Ce problème n'existe plus depuis longtemps sous XdTV.


  • Je n'ai pas les différents filtres de désentrelacement dans la liste: Pourquoi? 

En fait ceci est relativement simple: xawdecode a été lancé avec l'option -noxv alors que le désentrelacement n'a été implémenté qu'en mode Xv seulement (les algos qui ont été repris de xine, eux même de dscaler, ne peuvent prendre qu'une image au format YVU en entrée. Donc, toute référence au désentrelacement a été désactivée lorsque qu'on est en noxv). 

Ce n'est plus le cas sous XdTV. 

  • Avec devfs, les numéros de periphérique video et vbi sont données dynamiquement et sans ordre. Comment faire pour forcer ces numéros à chaque lancement des drivers bttv?

Il suffit d'ajouter comme option au module bttv: video_nr et vbi_nr:

Par exemple:
######### Tuner TV ############
alias char-major-81-1 bttv
options bttv pll=0 radio=0 card=1 tuner=3 video_nr=1 vbi_nr=1 gbuffers=4 fieldnr=1
######### End Tuner TV #########

ceci peut aussi être fait pour les webcam en utilisant le paramètre dev_hint:

Par exemple:
######### USB Webcam #########
alias char-major-81-0 pwc
alias sound-service-1-0 audio
alias sound-service-1-3 audio
alias sound-service-1-8 audio
alias sound-service-1-12 audio
options pwc dev_hint=0
post-install pwc /sbin/insmod --force /lib/modules/2.4.19-16mdk/kernel/drivers/usb/pwcx-i386.o.gz >/dev/null 2>&1 || :
pre-remove pwc /sbin/rmmod pwcx >/dev/null 2>&1 || :
######### End USB Webcam ######

  • Compilation XdTV et optimisation:

si vous compilez XdTV sur votre propre machine, il sera optimisé pour le processeur que vous possédez. Il est possible d'empécher toute
optimisation en passant au ./configure l'option suivante:  --disable-cpu-detection



  • Comment déplacer ou redimentionner une fenêtre alors que les "window decoration" ne sont plus visibles?

C'est assez simple, il suffit de lire l'article "test window decoration" dans cette aide.

  • J'ai des problèmes avec le son:je rencontre parfois des conflits entre XdTV et Xmms par exemple et le son de XdTV devient muet:

Ceci peut être du au fait que vous êtes sous kde: présence du daemon artsd. Il est conseillé de ne jamais utiliser ce daemon et de le désactiver!


  • Problème de freeze de XdTV:


Cela peut arriver lorsque:
"IRQ sharing is known to cause problems in some cases. It works just fine in theory and many configurations. Neverless it might be worth a try to shuffle around the PCI cards to give bttv another IRQ or make it share the IRQ with some other piece of hardware. IRQ sharing with VGA cards seems to cause trouble sometimes. I've also seen funny effects with bttv sharing the IRQ with the ACPI bridge (and apci-enabled kernel)."

il faut donc ajouter une option au bttv: triton1=1  dans votre modules.conf (kernel 2.4) ou modprobe.conf (kernel 2.6)
"The triton1 insmod option sets the EN_TBFX bit in the control register. The vsfx insmod option does the same for EN_VSFX bit. If you have stability problems you can try if one of these options makes your box work solid." (Merci Mat)

  • Installation de nvtv (TV out pour nvidia) pour renvoyer XdTV sur laTV:

Ajouter dans le fichier /etc/x11/xf86config-4  ou /etc/x11/xorg.conf :

Section "Monitor"
Identifier "TV"
VendorName "GOLDSTAR"
ModelName "55cm"
HorizSync 30.0 - 50.0
VertRefresh 60

et dans : section "device"

Option "TwinView" "1"
Option "SecondMonitorHorizSync" "30-50"
Option "SecondMonitorVertRefresh" "60"
Option "MetaModes" "1024x768,1024x768;800x600,800x600;640x480,640x480"
Option "TVStandard" "PAL-N"

ou bien:

Option "ConnectedMonitor" "CRT, TV"
Option "SecondMonitorHorizSync" "30-50"
Option "TwinView" "on"
Option "MetaModes" "1024x768 ,1024x768 ; 800x600 ,800x600 ; 640x480 ,640x480"
Option "TVStandard" "PAL-B"
Option "SecondMonitorVertRefresh" "60"
Option "TwinViewOrientation" "Clone"
Option "TVOutFormat" "Composite"


(merci Mat et pourtout6)

     
La permission vous est accordée de faire des copies
et de distribuer ces copies sous les termes de la licence GNU FDL.
Document sous licence FDL