                       *********************
                       *** FAQ XDTV ***
                       *********************

************************************************************************

Notes entre les versions 1.7.5beta et 1.8.0
**************************************

Q: comment fait on pour utiliser le support xosd (en cours de développement)?
R: Donc par defaut pas de xosd du tout.
Pour activer XOSD il faut compiler en faisant ./configure --enable-xosd

Puis ensuite lancer l'application en tapant xawdecode -xosd
(on peut aussi faire xawdecode -e "xosd")

Attention il existe encore pas mal de problèmes à savoir:
1) l'OSD n'est pas centré
2) l'OSD n'est pas sur deux lignes
3) l'OSD n'est pas de retour a la ligne
4) un pt VT apparait lors de l'incrustation télétexte

Q: concernant -avi: ca lit bien les videos: par contre il n'y a pas le son?
R: ou cela n'a pas encore été implémenté

Q: si j'utilise -force_depth ou -force_visual j'ai sur quasiment sur toutes les propositions sauf celles courantes ca comme reponse: no good visual found
c'est normal ca?

R: Oui c'est normal.

En fait les display avec plusieurs depth d'affichage possibles sont tres tres rares....
mais j'ai rajoute cette option parce que le choix du depth et le choix du visual se font de la meme facon..

Par contre les display avec plusieurs visuals sont monnaies courante, pour avoir la liste des visual faire xdpyinfo....
Les display recent font du truecolor et du directcolor mais directcolor n'est pas un visual support par xawdecode donc tu n'as pas le choix... tu es obligé de choisir truecolor

L'interet de cette option est pour les display a 256 couleurs car en general ils ont un visual pseudocolor et un visual staticgray qui sont tous les deux supportes par xawdecode, donc pour choisir il faut utiliser cette option.

Donc si i vous voulez tester l'option -force_visual, lancer votre serveur X en 256 couleurs en tapant startx -- :2 -depth 8

dernier chose, il ne faut pas confondre l'option -force_depth qui permet de choisir le depth d'affichage, et l'option -b qui
est a utiliser si le programme de configuration de l'overlay (xawdecode_v4l-conf) n'arrive pas a trouver le bon depth de l'ecran, ce qui ne doit plus arriver avec les drivers recents donc NORMALEMENT ON N'A JAMAIS A UTILISER LES OPTIONS -b et -force_depth

************************************************************************

Notes entre les versions 1.7.0 et 1.7.5beta
**************************************

*Sous-titres:
************
Xawdecode est maintenant capable d'afficher les sous-titres diffusés sur
certains programmes, et même de les enregistrer.
C'est un petit script, nommé 'xawdecode_subtitles.sh' qui s'en charge.
Il fonctionne parallèlement à Xawdecode.
Pour pouvoir acquérir les sous-titres, il faut que le flux VBI soit utilisé
par le script, et non par Xawdecode. La solution la plus simple est donc
de lancer celui-ci en premier.

$ xawdecode_subtitles.sh 888
$ xawdecode -rec_sub

(Si 888 est la page sur laquelle sont diffusés les sous-titres.
Cette page varie suivant le pays)

Il est aussi possible de lancer Xawdecode en premier grâce à l'option '-novbi'.
L'option '-rec_sub' permet d'enregistrer les sous titres en parallèle
de la vidéo au format MPlayer.

Pour plus d'infos lire le fichier README.subtitles

Une autre solution, plus simple est d'utiliser le 'xawdecode_wizard',
qui permet de choisir le mode de lancement de Xawdecode, et de lui envoyer
automatiquement les commutateurs nécessaires suivant les options choisies.

$ xawdecode_wizard


*Xawdecode_wizard:
****************
Cette nouvelle option, encore améliorée depuis la version 1.7.0, simplifie
le lancement de Xawdecode.
Par l'intermédiaire d'une boite de dialogue, le wizard lance Xawdecode dans
le mode souhaité en se passant des commutateurs (-noxv, -novbi, -rec_sub, etc).
Il peut aussi lancer le script xawdecode_scan.sh, puis éditer le script ainsi
obtenu. Ceci est utile pour créer proprement le fichier de
configuration ~/.xawdecode/xawdecoderc.


*xawdecode_scan.sh:
*****************
Avant d'être fonctionnel, Xawdecode doit être configuré. Ce script permet
de faire une recherche de canaux, de gérer les canaux ainsi trouvés, et
enfin de placer les paramètres par défaut pour la majorité des options.

*xawdecode_cmd:
*************
Cette commande, apparue avec la version 1.7.0, donne la possibilité
d'envoyer des commandes lors de l'utilisation de Xawdecode. Ces commandes
suivent la syntaxe déjà utilisée par Lirc pour piloter le soft.
Grâce à celà, il est désormais possible, par exemple, de programmer
un enregistrement grâce à la commande 'at'

Exemple:

Lancer un enregistrement sur la 4eme chaîne:
$ xawdecode_cmd "setstation 3; record"

Les commandes disponibles sont les suivantes:
"setstation" "volume" "fullscreen" "setres" "showtime" "quit" "keypad" "record" "teletext"

Chaque argument doit être séparé par un ';'.
Il est aussi possible de passer des commandes à Xawdecode en argument,
lors de sont lancement, grace au commutateur '-e'

Exemple:

Pour démarrer Xawdecode en mode plein écran sur la chaîne n°3
$ xawdecode -e "setstation 2; fullscreen"


*Nouveaux commutateurs:
*********************
Pour l'enregistrement:
	-rec_fps fps : set recording framerate (default=25.0)
	-rec_display 0|1 : set display mode during recording (default=1)
	-rec_width width : set width of the recording video (default=384)
	-rec_videobr br : set recording video bitrate to br kbit/s (default=800)
	-rec_mp3cbr br : activate MP3 CBR and set bitrate to br kbit/s (default=activated, 128kbit/s)
	-rec_mp3vbr quality : activate MP3 VBR and set compressing quality (0=best, 9=worst)
	(default=deactivated, 	quality=8)
	-rec_vcodec xvid|ffmpeg_mpeg4|ffmpeg_mpeg1|divx4linux : set recording video codec
	-rec_maxgap :
Divers:
	-e : Envoie une série de commandes à Xawdecode lors de son lancement
	-xvtv: Permet d'utiliser le support XV pour l'overlay

************************************************************************

Q: Les raccourcis clavier ne fonctionne pas!

A: Pour que les raccourcis clavier fonctionnent, il faut:
   1 ) que xawdecode ait été installé par make install (ou à partir d'un 
       RPM). En effet, le processus d'installation recopie le fichier de 
       ressources X11 Xawdecode.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 Xawdecode.

   2)  que la fenêtre TV aie le focus (fenêtre selectionnée avec le 
       curseur souris à l'intérieur).
   
Q: Oui, mais moi j'ai le fichier de ressources installé là où il faut et
   je n'arrive pas obtenir le focus sur xawdecode!

A: C'est un problème qui se manifeste sur les version 1.3 et 1.3.1 suite
   à la réécriture des scripts autoconf/automake et qui est corrigé à partir
   de la version 1.3.2. 
   On peut corriger soi-même le problème sur les versions 1.3 et 1.3.1
   en modifiant l'ordre des librairies lors du link. Il faut linker avec
   -lXaw3d (ou -lXaw) en 1er, puis -lXt en 2ème, les autres switch -lxxxx
   ne changeant pas de place.

************************************************************************

Q: Xawdecode 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

A: Lancer xawdecode avec l'option -no-xv, ou mieux, utiliser une version 
   plus récente (> 1.3.1) ou encore une version 1.3.1 compilée avec le 
   patch Xv.

************************************************************************

Q: Xawdecode plante au démarrage avec une erreur du type:
	The app-defaults file is not correctly installed.
	Your fault (core dumped)

A: La plante se produit parce que xawdecode 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 et il faut y copier le fichier 
   Xawdecode.ad en le renommant Xawdecode

************************************************************************

Q: 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

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

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

2)
Il est préférable d'utiliser XFree86 4.0.x (voire même 4.1) 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 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, en général
  /etc/X11/XF86Config-4

* La 3ème, c'est que XFree86 4 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.

Les cartes concernées:
g200/g400 : xfree 4.x supports these out-of-the-box
nvidia cards : www.nvidia.com (the've got binary drivers)
ATI cards : GATOS www.linuxvideo.org/gatos/
i815 : the latest xfree 4.x code supports these
3dfx (voodoo): the latest xfree 4.x code supports these
savage : http://www.probo.com/timr/savage40.html

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 et TRES
lente quand on utilise Xvideo avec du YVU.... Dans ce cas, ne pas hésiter à
lancer xawdecode avec l'option -noxv !!!

Donc, si on utilise XFree86 4 et fullscreen=640x480, c'est bon, il n'y a plus
rien à faire car XFree 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 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 en 16bpp
plutôt qu'en 24 ou 32bpp, surtout en -noxv.
De plus, un fullscreen configuré en 640x480 permettra un petit gain sur les
performances sans pour autant nuire à la qualité.
Avec ça, on DOIT avoir un fullscreen impeccable avec xawdecode, que l'on utilise
le mode Xv (Xvideo) ou le mode "traditionnel" avec -noxv.


************************************************************************


Q: Comment savoir si on utilise bien Xfree86 4 et non pas 3?

A:
1) /etc/X11/X est un lien symbolique vers ../../usr/X11R6/bin/XFree86
2) il existe un fichier de log /var/log/XFree86.0.log


************************************************************************

Q: comment générer un RPM binaire à partir du .tar.gz des sources ?
1) Se mettre root,
2) Faire: rpm -tb xawdecode-1.3.8.tar.gz
et hop, ça detare, ça configure, ça compile, ça crée le RPM binaire et ça te le
met dans /usr/src/RPM/RPMS/i686
3) y a plus qu'à installer:
rpm -ivh /usr/src/RPM/RPMS/i686/xawdecode-1.3.8-1.i868.rpm
Voila!
C'est 1000 fois mieux de recompiler le package sur son système, comme ça il n'y
a aucun problème d'incompatibilité vis à vis des librairies qui ont servi a
générer le RPM binaire...


************************************************************************

Q: Faut il utiliser xawdecode en tant que root?

A: Absolument pas, ceci est totalement déconseiller!!!
Bien évidement, il FAUT utiliser xawdecode 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.


************************************************************************

Q: Quand je lance xawdecode j'ai un message du type "can't acces mixer" ou "can't
access vbi"....

A: C'est un problème général d'autorisation d'accès au périphérique en question.

Le probleme 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 gagai pour l'example):
$ id -a gagai
donne la réponse:
uid=993(gagai) gid=21(gagai) groups=21(gagai),22(cdrom),43(usb),80(cdwriter),504(xgrp)
Cela nous indique que l'utilisateur "gagai" a comme groupe par défaut "gagai" et
appartient aux groupes: gagai (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 gagai -G gagai,cdrom,usb,cdwriter,xgrp,sys,audio gagai
le "-g gagai" c'est pour spécifier le groupe principal
le "-G gagai,cdrom, .... ,audio" c'est pour spécifier TOUS les groupes auxquels
l'utilisateur appartient. Attention: il faut remettre TOUS les groupes!!!
le gagai final, c'est pour spécifier l'utilisateur auquel s'applique ces modifs.
Pour que les modifications prennent effet, l'utilisateur gagai devra se délogger
et se relogger sr le système (surtout si les modifs ont été faites à partir
d'une fenêtre root lancée depuis une session X11 ouverte par l'utilisateur
gagai, ce qui est le cas dans 95% des cas).


************************************************************************


Q: 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)

A: mettre colorkey = 123456 dans le .xawdecoderc

