Lea-Linux & Friends:   LinuxFR   GCU-Squad   Zarb.Org   StandBlog
Numériser une cassette VHS sous Linux

Sommaire

Résumé

Cet article propose une solution matérielle et logicielle simple pour numériser des cassettes VHS sous Linux. Les fichiers obtenus peuvent ensuite être édités par un logiciel de montage vidéo comme kino et être transférés sur un DVD, par exemple en utilisant l'excellent mandvd. La solution matérielle passe par le boîtier d'acquisition vidéo Dazzle DVD Recorder, que l'on trouve facilement dans le commerce (FNAC, Surcouf, etc...), pour le prix relativement modique de 59 euros.

Le boîtier d'acquisition vidéo Dazzle DVD Recorder

À moins que la carte vidéo de votre ordinateur ne soit équipée d'une entrée analogique (carte vidéo haut de gamme), il est nécessaire d'utiliser un boîtier d'acquisition vidéo comme interface entre votre magnétoscope (ou camescope VHS) et votre ordinateur. Ce boîtier va en effet transformer le signal analogique VHS en un signal numérique vers le port USB de l'ordinateur. La solution adoptée ici repose sur le Dazzle DVD Recorder de chez Pinnacle, également connu sous le nom de Pinnacle Dazzle DVC 100. Il y a trois raisons à ce choix:

1/ sa disponibilité en France: on le trouve notamment à la FNAC et chez Surcouf

2/ son faible prix: 59 euros

3/ il est supporté par le noyau Linux ! (moyennant une petite modification, décrite ci-desous, pour la lecture en mode SECAM).

Installations logicielles nécessaires

Pour faire fonctionner le boîtier Dazzle DVD Recorder, il est nécessaire d'installer des modules du noyau Linux, issus du projet Video4Linux (plus précisément le driver Em2880). En fait la version du driver nécessaire n'est pas encore incluse dans les noyaux Linux des distributions récentes. Il faut donc l'installer "à la main". Nous décrivons ci-après la procédure d'installation pour une distribution Mandriva 2007, l'adaptation à une autre distribution Linux ne devant pas poser de problème.



1ère étape : installation des sources du noyau Linux

Les sources du noyau sont nécessaires pour la compilation des modules Video4Linux. Dans le cas présent (Mandriva 2007), il suffit du paquetage kernel-source-2.6.17.5mdv-1-1mdv2007.0


2ème étape: installation des sources des modules v4l (Video4Linux)

Les sources des modules v4l s'installent via le logiciel mercurial (gestionnaire de codes sources). Aussi, il faut installer ce dernier au préalable. Dans le cas de la Mandriva 2007, il suffit d'installer le paquetage mercurial-0.9-1mdk. On peut ensuite lancer le téléchargement des sources depuis le site de développement du module Em2880/DVC 100 en tapant la commande

Cela crée le sous-répertoire v4l-dvb-kernel dans le répertoire courant. En tant que su (utilisateur root), déplacer ce répertoire vers /usr/local/src:



3ème étape: modification des sources des modules v4l (ajout du mode SECAM)

Il y a deux petites modifications des sources v4l à effectuer avant de procéder à la compilation. La première permet de régler un problème de compilation avec le fichier dvb_net.c téléchargé par mercurial à l'étape précédente: on remplace ce fichier par celui des sources de la Mandriva 2007:


La deuxième modification des sources consiste à ajouter le mode SECAM au driver em28xx/DVC 100. Sans cette modification, l'acquisition vidéo ne s'effectuerait qu'en mode PAL, avec la conséquence fâcheuse de la perte des couleurs (vidéo en noir et blanc). Ajouter le mode SECAM n'est pas très compliqué: il suffit d'ouvrir le fichier

dans un éditeur de texte (par exemple kwrite ou emacs), de chercher la ligne contenant EM2820_BOARD_PINNACLE_DVC_100 et d'ajouter

dans la liste .tvnorms, de sorte qu'elle devienne

au lieu de


Pour vérification, voici le passage considéré après modification:

Remarque: le fichier source semble évoluer très vite, sous l'effet du travail des développeurs du driver Em2880. Il se peut donc très bien que la version que vous avez téléchargée contienne déjà le mode SECAM, auquel cas la modification ci-dessus n'est pas nécessaire.


4ème étape: compilation et installation des modules v4l

On lance la compilation par :

Avant de procéder à l'installation des modules fraîchement compilés, une petite sauvegarde s'impose:


Pour éviter des conflits entre ancien_module.ko.gz et nouveau_module.ko, on efface au préalable les anciens modules:

L'installation peut alors avoir lieu:



5ème étape : chargement du module dans le noyau

Pour vérifier que tout est OK, on charge à la main le module em28xx dans le noyau (par la suite, cela sera effectué automatiquement à chaque branchement du Dazzle) via la commande:

Si tout va bien, on doit avoir la sortie suivante lorsque qu'on tape la commande  :

Par ailleurs, la commande doit retourner:


Branchement du boîtier d'acquisition Dazzle

Le boîtier Dazzle DVD Recorder se connecte au magnétoscope (ou camescope) par l'intermédiaire de trois câbles RCA: 1 vidéo composite (prise jaune), 1 audio droite (prise rouge) et 1 audio gauche (prise blanche). Si votre magnétoscope n'a pas de sortie RCA, mais seulement une sortie Péritel, il faut interposer un convertisseur Péritel -> RCA que l'on trouve dans le commerce. La sortie du boîtier Dazzle est à brancher sur une entrée USB 2 de l'ordinateur.

Le module saa7115 pour la puce décodeur vidéo Philips SAA7115 doit se charger automatiquement dans le noyau: la commande doit retourner quelque chose de similaire à

Par ailleurs, doit indiquer:

D'après les infos ci-dessus, la sortie video s'effectuera sur /dev/video0. Pour déterminer où se fera la sortie audio, il suffit de taper la commande:

On obtient alors quelque chose de similaire à:

Cela signifie que la sortie audio s'effectuera sur /dev/dsp1


Acquisition vidéo

La lecture vidéo se fait en utilisant Mplayer, via la ligne de commande suivante:


En fait le paramètre "norm=SECAM" n'est pas nécessaire si on a mis SECAM avant PAL-BG dans la modification du fichier em28xx-cards.c effectuée plus haut: le premier paramètre est en effet celui pris par défaut.

Pour l'encodage du flux vidéo, on utilise Mencoder, suivant:


Cette commande crée le fichier resultat.avi qui contient la vidéo lue au format MJPEG. L'argument -endpos indique la durée d'enregistrement est doit être adapté à votre cas: -endpos hh:mm:ss : dans le cas présent endpos 01:00:00 signifie 1 heure. La commande mencode doit être lancée en tant que root (d'où le sudo) avec nice --10, pour lui assurer un haut degré de priorité. Il s'agit en effet d'un enregistrement en temps réel (la bande défile dans le magnétoscope de manière irréversible...) et rien ne doit pouvoir freiner le déroulement de mencoder. C'est également pour cette raison que le format d'encodage choisi est MJPEG: ce dernier n'offre certes pas un taux de compression très important (rien à voir avec MPEG4 ou Xvid !), mais il n'est pas gourmand en temps de calcul.

Montage vidéo et transfert vers un DVD

Pour pouvoir éditer le fichier vidéo obtenu à l'aide de kino, il faut le convertir auparavant au format DV, seul format lu par kino. Cela s'effectue par la commande ffmpeg :

On peut alors importer le fichier resultat.dv dans kino. Une fois le montage terminé, il faut l'exporter au format DVD (MPEG2) depuis kino. La gravure sur DVD peut alors s'effectuer à l'aide de mandvd ou dvdstyler.



@ Retour à la rubrique Matériel


Copyright

© 2007 Eric Gourgoulhon

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 2.0 :
http://creativecommons.org/licenses/by-sa/2.0/
Affichages

Serveur hébergé par Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA