|
***
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
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.
ln -s .xawdecode .xdtv cd .xdtv ln -s xawdecoderc xdtvrc XdTV est totalement supporté par Nxtvepg à partir de la version 2.7.4pre1
"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...)
-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 !).
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.
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)
---
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);
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.
./configure --disable-nodebug && make Puis lancez XdTV ainsi: xdtv -v 2
FAQ de juillet 2003
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).
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.
Le bob peut donner de bons résultats, et consomme moins de CPU que les autres.
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.
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).
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
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.
Pour que les raccourcis clavier fonctionnent, il faut: 2) que la fenêtre TV aie le focus (fenêtre
selectionnée avec le curseur souris à l'intérieur).
No Xv port
available. Lancer XdTV avec l'option -no-xv ou noxv.
The
app-defaults file is not correctly
installed. 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.
Ce problème de plein écran est un simple problème de configuration. 1) Dans ~/.xdtv/xdtvrc, il faut
mettre une ligne: 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. * 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" 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.
Editez le fichier de log
/var/log/XFree86.0.log ou /var/log/Xorg.0.log
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.
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...) 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 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):
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):
le "-g USER1" c'est pour spécifier le
groupe principal le USER1 final, c'est pour spécifier
l'utilisateur auquel s'applique ces modifs.
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.
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.
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). 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 MMX and SSE detected. ......
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.
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".
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.
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.
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)
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.
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.
Il suffit d'ajouter comme option au module
bttv: video_nr et vbi_nr: ceci peut aussi être fait pour les
webcam en utilisant le paramètre dev_hint:
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
C'est assez simple, il suffit de lire l'article "test window decoration" dans cette aide.
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!
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" |
|
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 |