Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Périphérique de capture Audio/Vidéo USB sans tuner (chipset em28xx)

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.

Le matériel qui a donné lieu à cette « bidouille » est le suivant :
EasyCAP DC60
easycapdc60.jpg
http://www.szforwardvideo.com/product/Pro_7_6.html

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.

Nom commercial ID fabricant ID produit
EasyCAP DC60 0xeb1a 0x2861

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
cd ~/
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel/
Modification de la source

Édition du fichier em28xx-cards.c, selon les préférences:

gedit ~/v4l-dvb-kernel/linux/drivers/media/video/em28xx/em28xx-cards.c
ou
vim ~/v4l-dvb-kernel/linux/drivers/media/video/em28xx/em28xx-cards.c

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:

{ 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 va rien prendre en charge.
On spécifie donc les caractéristiques de notre périphérique :

[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 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
cd ~/v4l-dvb-kernel/
make
sudo make install

Utilisation

Au cas où une autre version d'em28xx soit déjà chargée,

sudo rmmod em28xx

Ensuite, il suffit de brancher l'EasyCAP. Une petite vérification s'impose:

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

Contributeurs: Sylvain83,

  • em28xx_generique.1223499897.txt.gz
  • Dernière modification: Le 18/04/2011, 14:59
  • (modification externe)