Yoann Sculo

Technologie, généalogie, archives et libertés numériques

Numérisation de cassettes VHS

Le

Introduction

Je me suis lancé en 2024 dans la numérisation de cassettes vidéo familiales afin de les préserver de leur dégradation progressive et inévitable. La durée de vie des VHS varie de 10 à 35 ans, selon leur mode de conservation. J’ai ainsi numérisé des cassettes datant de 1988, dont la qualité vidéo commençait parfois à se dégrader très nettement. Il était grand temps d’agir.

L’exercice s’est révélé particulièrement fastidieux. En effet, la numérisation suppose d’abord de mettre la main sur un magnétoscope en état de marche, ce qui devient de plus en plus difficile en 2025. Il faut ensuite faire défiler chaque cassette vidéo en temps réel et jusqu’au bout pour les enregistrer. Selon le logiciel utilisé, un réencodage peut être nécessaire pour obtenir un format plus adapté. En cas d’erreur ou de problème de manipulation, il faut reprendre depuis le début. Lorsque l’on possède un gros stock de cassettes, cela devient un véritable marathon.

Je fais donc ici un retour d’expérience de mon travail, à la fois pour mémoire personnelle si je devais y revenir un jour et pour toute personne souhaitant se lancer dans la même démarche.

Documentation

Voici quelques liens qui m’ont aidé dans ma tâche

Avant-propos

Mon exercice de numérisation s’est étalé entre août 2022 et novembre 2024. J’ai numérisé des VHS standard et un grand nombre de VHS‑C issues du caméscope de mon grand-père. Ma méthode s’est affinée au fil du temps et j’ai fini par trouver des astuces pour me faire gagner du temps.

Je suis conscient que les formats choisis ne sont sans doute pas optimums en termes de conservation. J’ai toutefois trouvé un compromis entre le temps dont je disposais et la place occupée par la vidéo finale. J’aborderai plus loin la question du poids des fichiers.

Matériel utilisé

Un magnétoscope

Deux magnétoscopes sont tombés en panne ; ce n’est qu’au troisième appareil que j’ai pu aller au bout de la numérisation. Le premier est mort quelques minutes après son réveil d’une hibernation de 20 ans. Le second avait la fâcheuse tendance à me sortir la bande magnétique de la cassette et à la bloquer dans le magnétoscope. Un cauchemar, car cela endommageait les bandes à chaque tentative. Le troisième, de la marque AKAI, a quant à lui très bien fonctionné.

J’ai utilisé une clé de numérisation August VGB100. J’avais acheté en complément un adaptateur Péritel / RCA qui s’est avéré inutile : un adaptateur était déjà fourni avec le VGB100.

J’ai pris l’habitude d’utiliser une cassette de test. J’ai conservé une cassette commerciale de Pinocchio qui m’a permis de valider mes paramètres de numérisation et m’a servi de cassette étalon. Cela m’a évité plusieurs mauvaises surprises, notamment quand les magnétoscopes retenaient les bandes.

Étape 1 - Préparation de la cassette

Tout d’abord, il faut se méfier des annotations sur les boîtes ou les cassettes : rien ne garantit que la dernière personne les ayant manipulées ne s’est pas trompée en les rangeant. Une inversion avec une autre cassette est vite arrivée. J’ai donc préféré me fier aux inscriptions directement présentes sur les cassettes. Pour les vidéos commerciales, la vérification est facile. Pour les vidéos familiales plus anciennes, c’est une autre histoire.

Vérifier l’état global de la cassette, et notamment que la bande ne semble pas endommagée.

La première étape consiste à rembobiner complètement la cassette avant de lancer l’acquisition.

Étape 2 - Acquisition

Sous Windows

J’ai commencé par utiliser le logiciel Honestech VHS to DVD, sous Windows. L’outil a été laborieux à prendre en main et produisait de très gros fichiers vidéo au format MPEG-1/2 (.mpg), que je devais ensuite réencoder.

Par ailleurs, ce logiciel, conçu pour graver sur CD-ROM ou DVD, divisait automatiquement les fichiers lorsque la taille maximale d’un support était atteinte. Sans configuration spécifique, je me retrouvais avec des vidéos coupées en deux.

Sous Linux (recommandé)

J’ai fini par abandonner la solution Windows au profit de Linux, qui m’a permis de réaliser l’ensemble du processus de façon plus fluide et plus rapide. J’ai utilisé VLC et ffmpeg, avec des résultats bien plus satisfaisants. Pas de passage intermédiaire en .mpg : j’encode directement au bon format. Le gain de temps est évident. De plus, mon ordinateur principal étant sous Linux, je n’avais plus besoin de transférer les vidéos via mon NAS.

Sous Ubuntu 24.04.2, rien de plus simple : je branche la clé, et VLC détecte la vidéo sur /dev/video2 et l’audio sur hw:4,0.

Acquisition de la vidéo dans VLC

Il s’agit alors de sélectionner le bon format (SECAM) et d’activer le désentrelacement. J’active également le flux de sortie. Même si la vidéo ne s’affiche pas, le son est audible, ce qui me permet de vérifier que l’acquisition fonctionne correctement.

Conversion de la vidéo dans VLC

J’ai créé un format personnalisé H.264 + AAC, afin de réaliser acquisition et encodage en une seule opération. Toutefois, un bug semble empêcher la prise en compte du désentrelacement, même lorsque l’option est cochée. Cela génère des vidéos affichant des artefacts visuels désagréables. J’utilise donc par défaut le profil H.264 + MP3. Nous verrons au point suivant comment obtenir de l’AAC par la suite.

J’ai numérisé systématiquement l’intégralité des cassettes pour éviter de rater des séquences oubliées en fin de bande. Les erreurs de manipulations étaient fréquentes avec un caméscope. Il était notamment assez facile d’enregistrer par erreur à partir de l’endroit où nous nous étions arrêté lors du visionnage précédent.

Étape 3 - Découpage

Simple découpage

À ce stade, j’obtiens un fichier .mp4 (H.264 + MP3), généralement avec une séquence de bruit ou d’écran bleu à la fin. Il convient de s’assurer au préalable qu’il n’y a rien à conserver, puis de couper ce segment inutile afin d’économiser de l’espace de stockage.

Dans cet exemple nous coupons le fichier .mp4 à partir de 0 secondes et jusqu’à 8 minutes et 32 secondes.

ffmpeg -ss 00:00:00 -t 00:08:32 -i input.mp4 -c copy output.mp4

L’opération est très rapide.

En revanche, lorsqu’il s’agit de découper le début, disons à partir de 2 secondes, j’ai constaté que la vidéo générée peut ne pas s’afficher correctement. Je suppose que cela provient de la suppression d’une frame complète au début, rendant la vidéo visible uniquement après plusieurs secondes. Il faudrait alors réencoder complètement. Par souci de temps, j’ai préféré ne pas couper les 1 ou 2 secondes de bruit initial.

Découpage et réencodage

Pour obtenir un format final H.264 + AAC, il est possible de découper et de réencoder en une seule commande. Cela permet notamment d’obtenir un fichier avec un son en AAC, ce que VLC ne me permettait pas lors de l’acquisition directe. Cela fonctionne aussi bien à partir du format H.264 + MP3 que depuis le format MPEG-1/2 (.mpg) généré par l’outil sous Windows.

ffmpeg -ss 00:00:00 -t 00:08:32 -i input.mp4 -c:v libx264 -c:a aac -crf 20 output.mp4

Plus la valeur de -crf est élevé, plus la vidéo sera de qualité et volumineuse (et inversement). En réalisant un comparatif de qualités à l’œil nu, le paramètre crf fixé à 20 semble être le meilleur compromis.

  • À 15 on ne voit pas de différence, si ce n’est une réduction de la taille du fichier.
  • À 20 on ne voit toujours pas vraiment de différence à l’œil nu et la taille est réduite d’environ 55%.
  • À 30 on commence à perdre en qualité d’image, mais le fichier est 85% plus léger.

J’ai découvert que ffmpeg utilise crf=23 par défaut. Mon choix de 20 semble donc un bon compromis, confirmé empiriquement.

Étape 4 - Ajout de métadonnées

Un bon nom de fichier est important, mais l’ajout de métadonnées offre une meilleure résilience dans une logique d’archivage. Les métadonnées permettent également permet d’apporter plus d’informations.

Les noms de fichiers ne sont pas résilients, j’aurai l’occasion de publier un article à ce sujet. En effet, un nom de fichier peut déjà être limité en taille, mais peut aussi se perdre ou s’altérer. Notamment lors de copies vers un système de fichier qui ne supporte pas certains caractères (partage SAMBA par exemple) ou lors d’erreur du système de fichier qui ne conservera que le contenu du fichier lors de la récupération. Les métadonnées, en revanche, sont intégrées directement au fichier et plus résistantes à ces aléas.

Dans VLC, via Outils > Informations sur le media on peut utiliser le champ « commentaires » pour apporter des informations complémentaires :

  • Source de la vidéo
  • Auteur
  • Date de numérisation
  • Personnes apparaissant sur la vidéo
  • Personne ayant annoté la cassette / boite de la VHS

L’ajout de métadonnées modifie le contenu du fichier et impacte donc le hash du fichier.

Attention : J’ai remarqué que l’enregistrement des métadonnées via VLC échoue lorsqu’on travaille directement sur un montage Samba (NAS). Mieux vaut donc modifier le fichier en local, puis le déplacer sur le NAS.

Les métadonnées de la vidéo peuvent être lues par ailleurs avec la commande mediainfo sous Linux.

J’ai pris l’habitude de déposer un fichier METADATA.txt à côté de la vidéo avec le contenu des métadonnées, en complément de ce qui est déjà intégré au sein du fichier.

Étape 5 - Photo de la boîte et de la cassette

Je complète ma numérisation par la prise de photo de la cassette ainsi que de la boite, que je stocke à côté du fichier vidéo.

Conclusion

Ce travail m’a demandé de nombreuses heures, et s’est révélé particulièrement fastidieux. Mais je suis très satisfait d’avoir pu préserver ces souvenirs familiaux de l’altération du temps. Grâce à cet article, je pourrai reprendre facilement la numérisation de VHS si j’en retrouve de nouvelles à l’avenir. Et j’espère que ce retour d’expérience sera utile à d’autres.

« Précédent