Ce peripherique d'acquisition vidéo ne dispose pas de tuner, ce qui n'est malheureusement pas commun et les aides à l'installation sont plus rares.
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 peripherique générique em28xx.
NB: des versions d'easyCAP DC60 (plus recente ?) comportent un chipset bridge de type syntek1160. Aucun module kernel n'est pour l'instant disponible pour cette version de bridge. un projet est en cours : http://syntekdriver.sourceforge.net/
C'est la méthode “classique” d'installation des peripheriques vidéos USB sauf qu'il vas faloir modifier la source du pilote avant de compiler.
sudo apt-get install mercurial cd ~/ hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel/
Edition du fichier em28xx-cards.c:
gedit ~/v4l-dvb-kernel/linux/drivers/media/video/em28xx/em28xx-cards.c
Lignes 1934 et suivantes, il y a la liste des peripheriques en fonction des ID fabricant et produit. Dans mon cas, la ligne interessante est:
{ USB_DEVICE(0xeb1a, 0x2861), .driver_info = EM2861_BOARD_GENERIC },
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 :
[EM2861_BOARD_GENERIC] = { .name = "Generic EM2861 video grabber", },
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 vas rien prendre en charge. On specifie donc les caracteristiques de notre péripherique :
[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, }}, },
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 detecte ce décodeur). Je peux avoir l'image depuis l'entré composite, en PAL et NTSC. Je n'ai rien pour tester l'entré 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.
cd ~/v4l-dvb-kernel/ make sudo make install
Au cas où une autre version d'em28xx soit déjà chargée,
sudo rmmod em28xx
Ensuite, il suffit de blancher l' EasyCAP. Une petite verification s'impose:
cortex@ubuntu:~$dmesg | grep em28xx ... V4L2 device registered as /dev/video0 ...
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 dépôts APT universe
et multiverse
).
mplayer tv:// -tv driver=v4l2