eric_sandeen@bigfoot.com
La possibilit� de capturer et de visionner des sources vid�o est une des fonctionnalit�s multim�dia les plus int�ressantes de Linux. Beaucoup de p�riph�riques vid�o diff�rents sont support�s par l'interm�diaire de l'API video4linux ( http://roadrunner.swansea.uk.linux.org/v4l.shtml), ceci inclut plusieurs cartes tuner TV bas�es sur les puces bt848 et bt878 de Conexant. Ce document explique comment utiliser ces cartes sur un syst�me Linux.
Ce HOWTO est sous le copyright 1999 Eric Sandeen.
A moins que cela ne soit explicitement �tabli, les documents Linux HOWTO sont la propri�t� de leurs auteurs respectifs. Les documents Linux HOWTO peuvent �tre reproduits et distribu�s en entier ou par partie, sur n'importe quel m�dium physique ou �lectronique, tant que la notice du copyright est conserv�e sur toutes les copies. La redistribution commerciale est autoris�e et encourag�e; n�anmoins, l'auteur aimerait �tre inform� de ce genre de distribution.
Toute traduction, travail d�riv�, ou travail collectif incluant n'importe quel document Linux HOWTO doit �tre couvert par cette notice du copyright. Cela �tant, vous ne pouvez produire un travail d�riv� de ce document et imposer des restrictions suppl�mentaires sur sa distribution. Des exceptions � ces r�gles peuvent �tre accord�es sous certaines conditions; s'il vous pla�t contactez le coordinateur des Linux HOWTO � l'adresse donn�e plus bas.
Pour faire court, nous voulons promouvoir la diffusion de cette information � travers autant de canaux que possible. N�anmoins, nous voulons conserver le copyright sur les documents HOWTO, et aimerions �tre inform� de tout projet de redistribution de ces HOWTO.
Si vous avez des questions, veuillez contacter Tim Bynum, le coordinateur des HOWTO Linux, � linux-howto@metalab.unc.edu via email.
La version la plus r�cente de ce document peut-�tre obtenue du Linux Documentation Project http://metalab.unc.edu/LDP/.
Merci � Ralph Metzler et Marcus Metzler pour avoir cod� les pilotes bttv originels. Merci aussi � Alan Cox pour avoir cr�� l'API (Architecture de programmation) Video4linux, Gerd Knorr pour son travail sur les cartes radio, pour les versions ult�rieures des pilotes bttv et xawtv, et toutes les personnes contribuant � Linux pour le support de ces cartes. Merci � William Burrow, qui a aussi �crit un HOWTO pour BTTV (Ce que j'ai appris apr�s avoir �crit ce document...) J'ai am�lior� ce guide, merci pour son travail.
En �crivant ce HOWTO je me suis tr�s fortement inspir� de la documentation de bttv et xawtv.
Utilisez l'information de ce document � vos riques et p�rils. Je d�cline toute responsabilit� quand au le contenu de ce document. L'utilisation des concepts, exemples, et/ou autre contenu de ce document est enti�rement � votre propre risque.
Tous les copyrights sont d�tenus par leurs propri�taires, � moins que cela ne soit explicitement sp�cifi�. L'utilisation de termes dans ce document ne doit pas �tre per�u comme affectant la validit� d'aucune marque d�pos�e ou marque de service.
La nomination de produit ou marque ne doit pas �tre per�ue comme une recommandation particuli�re de ceux-ci. Vous �tes fortement invit� � faire une sauvegarde de votre syst�me avant toute installation majeure et sauvegarder � intervalles r�guliers.
Extrait du README
de bttv:
Bttv est un pilote de p�riph�rique pour cartes d'acquisition video utilisant la famille de d�codeur video Bt848 de Conexant ( http://www.conexant.com), parmi lesquelles figurent le Bt848, le Bt848A, le Bt849, le Bt878 et le Bt879. Les seules diff�rences majeures entre ces cartes, de diff�rents fabricants, sont les types de tuner et les composants suppl�mentaires sur la carte. E.g., certaines cartes de Hauppauge poss�dent un d�codeur Videotext additionnel et/ou une puce de d�codage du son. Seuls certains composants additionnels sont support�s par bttv. Ansi, le type (Composite ou S-Video) et le nombre d'entr�es diff�re.
Les cartes suivantes devraient fonctionner :
Si vous connaissez d'autres cartes qui fonctionnent, veuillez m'�crire et je les ajouterai � la prochaine r�vision de ce document.
Pour utiliser ces cartes tuner TV sous linux, vous aurez besoin des pilotes du noyau appropri�s. Les pilotes bttv sont distribu�s avec le noyau depuis la version 2.2.0.
Sinon, vous pouvez obtenir la derni�re version des pilotes et l'utiliser avec le noyau 2.0.35 ou plus r�cent. N�anmoins, il n'est pas garanti que cela fonctionne avec la vieille s�rie de noyaux 2.0.x. Le paquetage mis � jour bttv est disponible � http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html et une version encore plus r�cente est disponible chez Gerd Knorr � http://www.in-berlin.de/User/kraxel/xawtv.html Ces paquetages incluent aussi le support de nouvelles puces audio, dont le TEA6300, le TDA8425, et le DPL3518.
Si vous �tes nouveau dans le monde des pilotes bttv, je vous sugg�re de commencer avec la version incluse avec le dernier noyau. Si vous rencontrez des probl�mes avec ceux-ci ou s'ils ne supportent pas votre carte, alors risquez vous � mettre � jour les pilotes de la s�rie 0.6 sur le site cit� plus haut. Si vous vous sentez vraiment aventurier, vous pouvez essayer la s�rie de pilote 0.7 de Gerd Knorr's, destin�e � �tre incorpor�s dans le noyau 2.4. La s�rie 0.7 est aussi disponible � http://www.in-berlin.de/User/kraxel/xawtv.html.
Ce document est principalement bas� sur les pilotes du noyau 2.2.14, avec quelques mentions des fonctionnalit�s disponibles dans la version mise � jour des pilotes de la s�rie 0.6. La s�rie 0.7 n'est pas actuellement couverte car en cours de d�veloppement au moment de la r�daction de ce document.
(Merci � William Burrow pour cette section.)
Si vous avez peur d'ouvrir le bo�tier de votre ordinateur, lisez pr�alablement en entier ce HOWTO et prenez des notes � propos de la carte, tel que le type de son tuner, le nombre de circuits int�gr�s, les fr�quences des cristaux etc. Ensuite demandez � quelqu'un de comp�tent de vous installer votre carte.
Autrement, ouvrez le bo�tier et installez la carte dans un connecteur disponible. Choisissez une carte conforme aux sp�cifications PCI 2.1 capable d'op�rer en tant que p�riph�rique ma�tre (bus mastering) sur le bus PCI, au cas o� votre carte m�re serait sensible sur ce point (r�f�rez-vous � son manuel). Vous avez besoin de cela pour utiliser le mode overlay.
Pour le son, il y a deux mani�re diff�rentes de connecter votre carte d'acquisition et votre carte son. La premi�re solution est interne. Connectez le c�ble audio de votre CD-ROM vers l'entr�e sonore de votre carte vid�o et de la sortie de la carte vid�o vers l'entr�e audio CD-ROM ou Tuner de votre carte son. L'autre mani�re est de connecter le jack 1/8'' externe de la carte video vers l'entr�e 1/8'' "line in" de la carte son. Vous pouvez aussi brancher des enceintes amplifi�es sur la sortie audio de votre carte d'acquisition si vous n'avez pas de carte son ou ne voulez pas passer par la carte son (quelques cartes r�centes bas�es sur un bt878 n'ont pas du tout de connecteur sonore, car elles envoient les donn�es audio digitales au travers du bus PCI. Il n'y pas de support pour ces cartes � ce jour.
Une source vid�o serait aussi utile, surtout pour d�terminer si la carte fonctionne ou pas. Beaucoup de cartes comportent une entr�e vid�o composite, S-Vid�o et, si la carte est �quip�e d'un tuner, RF. Il y a un connecteur s�par� pour chacune de ces entr�es.
Votre noyau devra �tre correctement configur� pour supporter votre carte.
La plupart des distributions r�centes sont livr�es avec les modules n�cessaires d�j�
compil�s, donc si vous pouvez trouver les modules videodev.o
,
bttv.o
et tuner.o
sous /lib/modules/2.x.x/misc
,
vous devriez �tre pr�t.
Sinon, vous allez devoir recompiler votre noyau avec
CONFIG_VIDEO_DEV
et
CONFIG_VIDEO_BT848
s�lectionn�s, de pr�f�rence comme modules. Voir le HOWTO du Kernel Linux ( http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html) pour plus de d�tails sur la mani�re de recompiler votre noyau.
Si vous voulez utiliser le paquetage 0.6.x mis � jour, vous devriez d'abord t�l�charger l'archive depuis l'un des sites mentionn�s plus haut. D�compactez le avec
tar -xvzf bttv-0.6.x.tar.gz
et entrez dans le r�pertoire nouvellement cr��.
su
pour devenir root, et tapez
make
dans le r�pertoire principal pour construire les pilotes. (Vous pouvez en toute s�curit�
ignorer les informations dans le fichier INSTALL
concernant l'�dition des makefiles,
puisque nous passerons ces informations au pilote comme param�tres des modules.)
Ensuite tapez
make install
pour les installer. Finalement, lancez
/sbin/depmod -a
pour mettre � jour les informations concernant les d�pendances des modules.
/dev
Ensuite, vous pourriez avoir besoin de cr�er les fichiers de caract�res sp�ciaux
dans le r�pertoire /dev
. Tapez ls /dev/video*; ls /dev/radio*
pour savoir si ces p�riph�riques existent d�j�. Sinon, vous allez devoir les
fabriquer. Tout ces fichiers poss�dent 81 comme num�ro de p�riph�rique majeurs,
les num�ros de p�riph�rique mineurs sont sp�cifiques aux p�riph�riques ainsi que
de multiples cas de ces fichiers. Voir l'API Video4Linux
(
http://roadrunner.swansea.uk.linux.org/v4lapi.shtml)
pour les d�tails concernant la programmation.
Il y a un script MAKEDEV
dans le r�pertoire driver
du paquetage
des pilotes bttv qui cr�era quatre p�riph�riques vid�o. Vous pouvez aussi
le faire vous m�me de mani�re assez ais�e si vous n'avez qu'une seule carte
d'acquisition vid�o.
En tant que root, tapez:
mknod /dev/video0 c 81 0
chmod 666 /dev/video0
ln -s /dev/video0 /dev/video
mknod /dev/radio0 c 81 64
chmod 666 /dev/radio0
ln -s /dev/radio0 /dev/radio
Il y a aussi les p�riph�riques Videotext et VBI qui peuvent �tre cr��s si vous avez une application qui les r�clame. (Actuellement, elles sont peu nombreuses.) Tapez:
mknod /dev/vtx0 c 81 192
chmod 666 /dev/vtx0
ln -s /dev/vtx0 /dev/vtx
mknod /dev/vbi0 c 81 224
chmod 666 /dev/vbi0
ln -s /dev/vbi0 /dev/vbi
Les pilotes bttv fournissent beaucoup de modules diff�rents, avec de nombreuses options diff�rentes, comme d�crit en appendice dans ce document. Avec autant de modules et d'options, vous devriez faire cela � la main jusqu'� ce que tout fonctionne. Si par malchance cela provoquait un plantage de votre machine, vous pourriez taper
sync; sleep 1; sync
pour chasser toutes les salet�s du cache du disque avant de poursuivre. Ensuite utilisez
la commande insmod
en tant que root, pour essayer de charger les modules.
Les deux premiers sont simples car ils ne n�cessitent g�n�ralement pas d'option :
insmod videodev
insmod i2c
Vous �tes maintenant pr�t � charger le module bttv lui-m�me :
modprobe bttv
Par d�faut, le module bttv
essaie de d�tecter le type de votre carte.
Regarder dans /var/log/messages
pour voir ce qu'il trouve. s'il ne la d�tecte
pas proprement, vous pouvez ajouter l'option card=n
� la fin de la commande
pr�c�dente pour forcer le type de carte, avec n
choisi parmi la liste suivante.
(Les types de 0 � 19 sont fournis dans la s�rie de pilote du noyau, bttv-0.6.4h contient le support
pour les types de 20 � 27.)
Vous pouvez aussi ajouter l'option radio=1
Si votre carte poss�de un tuner FM.
card=n card type 0: Auto-Detect 1: Miro 2: Hauppauge (old bt848 boards) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV-Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (new bt878 boards) 11: MIRO PCTV pro 12: Terratec/Vobis TV-Boostar 13: Newer Hauppauge WinCam (bt878) 14: MAXI TV Video PCI2 15: Terratec TerraTV+ 16: Aimslab VHX 17: PXC200 18: AVermedia98 19: FlyVideo98 (newer FlyVideo cards) 20: Zoltrix TV-Max 21: iProTV 22: ADS Technologies Channel Surfer TV 23: Pixelview PlayTV (bt878) 24: Leadtek WinView 601 25: AVEC Intercapture 26: LifeView FlyKit w/o Tuner 27: Intel Create and Share PCI
Ensuite, chargez le module tuner, avec
modprobe tuner type=n
Vous aurez probablement � plonger dans votre bo�tier pour voir quel tuner votre carte poss�de.
Certaines cartes (Miro et Hauppauge) permettent la d�tection automatique du tuner,
mais vous aurez peut-�tre besoin de le sp�cifier. Le tuner devrait �tre marqu� avec
le nom du fabricant, et vous pouvez jeter un oeil aux cristaux (petites boites
d'aluminium) sur la carte pour voir si vous poss�dez un tuner NTSC ou PAL.
Pour le PAL, le cristal est marqu� 28.xxxMHz (o� xxx sont trois chiffres).
Pour NTSC, le bo�tier devrait indiquer 35.xxxMHz.
Une fois que vous avez identifi� votre tuner, s�lectionnez la valeur de n
parmi la liste suivante (Les types 8 et 9 sont seulement inclus avec bttv-0.6.4h):
type=n type of the tuner chip. n as follows: 0: Temic PAL tuner 1: Philips PAL_I tuner 2: Philips NTSC tuner 3: Philips SECAM tuner 4: no tuner 5: Philips PAL tuner 6: Temic NTSC tuner 7: Temic PAL tuner 8: Alps TSBH1 NTSC tuner 9: Alps TSBE1 PAL tuner
Enfin, ins�rez tous les modules sonores dont vous pouvez avoir besoin. Encore unhe fois, vous devrez probablement regarder attentivement la carte pour d�terminer ce dont vous avez besoin. Notez que les pilotes pour les puces TEA6300, TDA8425, TDA9855, and DPL3518 sont seulement inclus dans la s�rie 0.6.4h, et ne sont pas inclus avec les pilotes du noyau courant (2.2.14).
modprobe msp3400
ou tea3600
ou tda8425
ou
tda9855
ou dpl3518
(Voir l'appendice pour les d�tails et les options)
Lancez votre programme video4linux favori, et voyez si cela fonctionne. Si vous ne pouvez pas changer de canal, v�rifiez que vous avez ins�r� le bon module tuner. Si vous n'entendez aucun son, v�rifiez deux fois le module sonore, et v�rifiez que le canal n'est pas en sourdine, si vous passez par la carte son.
Maintenant que vous connaissez les modules dont vous avez besoin et leurs options,
vous pouvez automatiser le processus en �crivant ces informations dans le fichier
/etc/conf.modules
. A partir de ce maintenant, lancer une application qui n�cessite
ces pilotes entra�nera leur chargement automatique.
J'utilise le fichier suivant:
# TV alias char-major-81 bttv pre-install bttv modprobe -k tuner; modprobe -k msp3400 options bttv radio=1 card=3 options tuner type=2
Fa�tes attention de bien l'adapter pour qu'il refl�te vos propres modules et options pour
votre carte.
(Lancer un /sbin/depmod -a
pour faire en sorte que les informations de d�pendance
soient � jour.)
Maintenant que votre noyau et vos p�riph�riques sont configur�s et que vos modules sont ins�r�s, vous aurez aussi besoin d'applications pour visionner ou capturer les images de votre carte. Il y en a beaucoup de disponibles :
Il y a aussi un pilote disponible pour la carte de contr�le � distance pour le FlyVideo98 � http://wolf.ifj.edu.pl/~jochym/FlyVideo98/
Lisez la documentation pour chaque application que vous voulez d'utiliser. Beaucoup d'entre elles r�clament l'�dition de fichiers de configuration d�taill�s avant que l'application ne fonctionne correctement! A cause du grand nombre de cartes diff�rentes disponibles, vous devez prendre le temps de lire la documentation de ces cartes, car les pr�r�glages de l'application sont susceptibles de ne pas fonctionner pour votre carte.
Les items pr�c�d�s d'une "*" sont seulement disponibles dans la s�rie 0.6.4h.
videodev.o C'est le module de base de video4linux, tous les pilotes vid�o (y comprit bttv) s'enregistrent ici. i2c.o Module i2c g�n�rique. Il fait la plupart de la gestion du bus i2c, tous les autres modules l'utilisent (sauf videodev.o). Arguments pour insmod: scan=1 scanne le bus pour trouver les p�riph�riques i2c verbose=0 d�sactive le mode verbeux i2c_debug=1 pour le d�bogage, cela consigne tout le traffic (logiciel) du bus i2c dans la syslog bttv.o Pilote bt848 (puce d'acquisition). Arguments pour insmod: remap=adr reloge l'adresse m�moire du Bt848 � adr<<20 vidmem=base adresse>>20 du frame buffer (de la carte graphique) triton1=0/1 pour la compatibilit� Triton1 Triton1 est reconnu automatiquement mais cela peut aussi aider avec d'autre puce pll=0/1/2 r�glages pll 0: ne pas utiliser de PLL 1: cristal 28 MHz install� 2: cristal 35 MHz install� radio=0/1 support des cartes radio card=n type de carte 0: Auto-Detect 1: Miro 2: Hauppauge (old bt848 boards) 3: STB 4: Intel 5: Diamond 6: AVerMedia 7: MATRIX Vision MV-Delta 8: FlyVideo 9: TurboTV 10: Hauppauge (new bt878 boards) 11: MIRO PCTV pro 12: Terratec/Vobis TV-Boostar 13: Newer Hauppauge WinCam (bt878) 14: MAXI TV Video PCI2 15: Terratec TerraTV+ 16: Aimslab VHX 17: PXC200 18: AVermedia98 19: FlyVideo98 (newer FlyVideo cards) *20: Zoltrix TV-Max *21: iProTV *22: ADS Technologies Channel Surfer TV *23: Pixelview PlayTV (bt878) *24: Leadtek WinView 601 *25: AVEC Intercapture *26: LifeView FlyKit w/o Tuner *27: Intel Create and Share PCI remap, card, radio et pll acceptent jusqu'� quatre arguments s�par�s par des virgules (pour plusieurs cartes). Les arguments CARD et PLL d�finis � partir du Makefile sont utilis�s comme arguments par d�faut. msp3400.o Pilote pour le processeur sonore msp34xx. Si vous avez une carte st�r�o, vous devriez probablement charger ce module. Arguments pour insmod: debug=1/2 �crit des informations de d�bogage dans la syslog, 2 est plus verbeux. *tea6300.o Pilote pour la puce fader tea6300. Si vous avez une carte st�r�o et que le msp3400.o ne marche pas, vous essayez celui-ci. Cette puce est disponible sur la plupart des cartes TV/FM de STB (g�n�ralement en provenance de surplus de carte OEM de Gateway sur les sites de mise aux ench�res). Arguments pour insmod: debug=1 �crit quelques informations de d�bogage dans la syslog. *tda8425.o Pilote pour la puce fader tda8425. Ce pilote faisait partie de bttv.c, donc si votre son fonctionnait mais ne marche plus, essayez ce module. Arguments pour insmod: debug=1 �crit quelques informations de d�bogage dans la syslog. *tda9855.o Pilote pour le d�codeur st�r�o / puce sonore tda9855. Arguments pour insmod: debug=1 �crit quelques informations de d�bogage dans la syslog. *dpl3518.o Pilote pour la puce Dolby Pro Logic dpl3518a. Arguments pour insmod: debug=1 �crit quelques informations de d�bogage dans la syslog. tuner.o Pilote tuner. Vous avez besoin de celui-ci � moins de ne vouloir utiliser qu'une camera ou un tuner externe... Arguments pour insmod: debug=1 �crit quelques informations de d�bogage dans la syslog. type=n type de la puce tuner. n dans la liste suivante: 0: Temic PAL tuner 1: Philips PAL_I tuner 2: Philips NTSC tuner 3: Philips SECAM tuner 4: no tuner 5: Philips PAL tuner 6: Temic NTSC tuner 7: Temic PAL tuner *8: Alps TSBH1 NTSC tuner *9: Alps TSBE1 PAL tuner i2c_chardev.o Fournit un p�riph�rique caract�re pour acc�der au bus i2c. Fonctionne pour les 2.1.x seulement, il n'est pas compil� par d�faut.