Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
em28xx_generique [Le 08/04/2008, 18:00] 89.90.10.184 ortho surtout les accents |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <note>Le wiki est accessible aux utilisateurs relativement débutants mais les explications (pas toujours claires) nécessitent d'avoir un peu plus d'experience. Si vous avez le même matériel que moi, aucun probléme, il suffit de suivre les instructions de modifications</note> | ||
- | |||
- | {{tag>matériel gutsy brouillon tv acquisition_vidéo}} | ||
- | |||
- | ---- | ||
- | |||
- | ====== EasyCAP et autres matériels em28xx génériques ====== | ||
- | |||
- | ===== Particularité ===== | ||
- | |||
- | Ce périphérique d'acquisition vidéo ne dispose pas de tuner, ce qui n'est malheureusement pas commun et les aides à l'installation sont plus rares. | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Compatibilité ===== | ||
- | |||
- | Le matériel qui a donné lieu à cette « bidouille » est le suivant : | ||
- | http://www.szforwardvideo.com/en/Skins009/products/show.asp?ProID=145&SearchMaxID=12 | ||
- | |||
- | ID fabricant : //0xeb1a// et ID produit : //0x2861// | ||
- | |||
- | Il semble que l'ID fabricant //0xeb1a// désigne les produits génériques et l'ID produit //0x2861//, le type de chip (dans mon cas c'est un //em2861//). Je pense que la méthode qui suit s'applique à n'importe quel périphérique générique //em28xx//. | ||
- | |||
- | ===== Pré-requis ===== | ||
- | |||
- | * Disposer des [[:sudo|droits d'administration]] ; | ||
- | * Disposer d'une connexion à Internet configurée et activée ; | ||
- | * Avoir une source du noyau linux en état pour compiler des pilotes (cf [[:tutoriel:???|Préparer linux-source pour compiler un pilote]] << A faire ?) | ||
- | |||
- | ==== Installation ==== | ||
- | |||
- | C'est la méthode "classique" d'installation des périphériques vidéos USB sauf qu'il va falloir modifier la source du pilote avant de compiler. | ||
- | |||
- | == Téléchargement == | ||
- | <code> | ||
- | sudo apt-get install mercurial | ||
- | cd ~/ | ||
- | hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel/ | ||
- | </code> | ||
- | |||
- | |||
- | == Modification de la source == | ||
- | Édition du fichier em28xx-cards.c: | ||
- | <code> | ||
- | gedit ~/v4l-dvb-kernel/linux/drivers/media/video/em28xx/em28xx-cards.c | ||
- | </code> | ||
- | |||
- | |||
- | Lignes 1934 et suivantes, il y a la liste des périphériques en fonction des ID fabricant et produit. Dans mon cas, la ligne intéressante est: | ||
- | <code> | ||
- | { USB_DEVICE(0xeb1a, 0x2861), .driver_info = EM2861_BOARD_GENERIC }, | ||
- | </code> | ||
- | On retrouve ID fabricant: 0xeb1a et ID produit: 0x2861. | ||
- | Il faut que je modifie les propriétés de EM2861_BOARD_GENERIC : ça se trouve ligne 61 : | ||
- | <code> | ||
- | [EM2861_BOARD_GENERIC] = { | ||
- | .name = "Generic EM2861 video grabber", | ||
- | }, | ||
- | </code> | ||
- | Si on compare avec les autres cartes, on constate qu'il n'y a aucun descriptif du produit. Le pilote ne sait pas ce que la carte est capable de faire et ne va rien prendre en charge. | ||
- | On spécifie donc les caractéristiques de notre périphérique : | ||
- | <code> | ||
- | [EM2861_BOARD_GENERIC] = { | ||
- | .name = "Generic EM2861 video grabber", | ||
- | .vchannels = 2, | ||
- | .norm = V4L2_STD_PAL, | ||
- | .decoder = EM28XX_SAA7113, | ||
- | .has_tuner = 0, | ||
- | .dev_modes = EM28XX_VIDEO, | ||
- | .input = {{ | ||
- | .type = EM28XX_VMUX_COMPOSITE1, | ||
- | .vmux = SAA7115_COMPOSITE0, | ||
- | .amux = 1, | ||
- | },{ | ||
- | .type = EM28XX_VMUX_SVIDEO, | ||
- | .vmux = SAA7115_SVIDEO3, | ||
- | .amux = 1, | ||
- | }}, | ||
- | .tvnorms = { | ||
- | { | ||
- | .name = "NTSC", | ||
- | .id = V4L2_STD_NTSC, | ||
- | },{ | ||
- | .name = "PAL", | ||
- | .id = V4L2_STD_PAL, | ||
- | }}, | ||
- | }, | ||
- | </code> | ||
- | Voila ma configuration. Je l'ai faite en copiant/modifiant les autres configurations présentes dans le fichier. | ||
- | Le décodeur est un SAA7113 (un "dmesg" après branchement de la clé avec le pilote em28xx d'origine détecte ce décodeur). | ||
- | Je peux avoir l'image depuis l'entrée composite, en PAL et NTSC. | ||
- | Je n'ai rien pour tester l'entrée svidéo donc les propositions de modifications sont les bienvenues. En ce qui concerne le son, il est actif mais de très mauvaise qualité, là aussi si vous avez mieux... | ||
- | |||
- | Une fois le fichier modifié, enregistrez le. | ||
- | |||
- | == Compilation == | ||
- | <code> | ||
- | cd ~/v4l-dvb-kernel/ | ||
- | make | ||
- | sudo make install | ||
- | </code> | ||
- | |||
- | |||
- | ==== Utilisation ==== | ||
- | Au cas où une autre version d'em28xx soit déjà chargée, | ||
- | <code> | ||
- | sudo rmmod em28xx | ||
- | </code> | ||
- | |||
- | Ensuite, il suffit de brancher l'EasyCAP. | ||
- | Une petite vérification s'impose: | ||
- | <code> | ||
- | cortex@ubuntu:~$dmesg | grep em28xx | ||
- | ... | ||
- | V4L2 device registered as /dev/video0 | ||
- | ... | ||
- | </code> | ||
- | Cette ligne permet de savoir quel « device » est utilisé. | ||
- | |||
- | Maintenant ce n'est plus qu'un problème logiciel. Il faut lire la vidéo à partir de « video for linux 2 » (v4l2). J'utilise mplayer (disponible dans les [[:depots|dépôts APT]] ''universe'' et ''multiverse''). | ||
- | <code> | ||
- | mplayer tv:// -tv driver=v4l2 | ||
- | </code> | ||
- | |||