Jelora.fr

Circuit vidéo de retrait de la protection anti-copie analogique Macrovision

IMG_7755.JPEG

En 2015, lorsque j’ai commencé à numériser mes VHS, le logiciel de capture vidéo que j’utilisais à l’époque m’affichait un message d’erreur avec certaines d’entre elles lorsque j’activais l’enregistrement.

erreur_mv_avertv.jpg

En essayant de comprendre pourquoi j’avais ce problème, j’ai découvert l’existence d’un système de protection vidéo, appelé Macrovision, sensé protéger un enregistrement vidéo analogique contre la copie.

J’avais des cassettes avec des contenus auxquels je tenais et qui n’étaient trouvables nulle part ailleurs ou éventuellement en qualité douteuse.
Il fallait donc trouver un moyen de retirer cette protection afin de pouvoir numériser au propre ces contenus que je voulais sauvegarder.

Lorsque j’ai mis en ligne ce blog en 2017, le format DVD était encore relativement utilisé et certains lecteurs et enregistreurs étaient équipés d’un circuit permettant la génération du signal Macrovision pour empêcher la recopie du signal vidéo de la sortie analogique vers un magnétoscope.
Ce mode de protection était donc alors encore d’actualité malgré qu’il soit à l’origine destiné à la cassette VHS.
Ne voulant pas avoir trop d’emmerdes sur mon petit blog auto-hébergé encore tout jeune à ce moment là avec des plaintes pour détournement d’un système de protection anti-copie, je ne l’avait pas publié.

Maintenant, en 2024, le DVD est totalement considéré comme obsolète et ce système de protection analogique Macrovision l’est tout aussi.
Je considère qu’il n’y a donc plus aucun problème à détailler un moyen de contourner un système commercial de protection anti-copie, surtout si c’est maintenant pour faire de la copie personnelle ou de sauvegarde.

Comment fonctionne ce système de protection anti-copie ?
Ce procédé ajoute un signal parasite dans le signal vidéo analogique au moment de la synchronisation verticale entre deux trames (soit une demi-image en entrelacé) et plus précisément sur certaines lignes non-visibles juste à la fin de la séquence de synchronisation verticale et avant les premières lignes visibles.

synchro2.png

Observé à l’oscilloscope en action, voici à quoi il ressemble :


Les magnétoscopes utilisent la synchronisation verticale pour s’auto-calibrer pendant un enregistrement afin de déterminer à quelle tension est le noir et à quelle tension est le blanc.
Si cette calibration se fait mal à cause de ce signal parasite, l’image sera mal enregistrée par le magnétoscope.

Un exemple connu est qu’à la relecture de tentative de copie d’un signal protégé, l’image devient progressivement sombre, perd parfois sa couleur et devient instable puis retrouve sa luminosité puis s’assombrit à nouveau et tout cela en boucle.
Pas très agréable pour regarder son film en copie pirate sur VHS ! ;)

Voici ce qui passe lors d’une tentative de copie d’une VHS protégée par le signal Macrovision vers une autre VHS au moyen de deux magnétoscopes reliés par prise Péritel :

IMG_7706.JPEG

De plus, certains magnétoscopes, enregistreurs numériques et cartes d’acquisition sur ordinateur peuvent détecter ce signal particulier et refuser alors de l’enregistrer.
C’est ce qui s’est produit pour moi avec l’exemple présenté en début d’article mais pas pour la vidéo de démonstration précédente.

En analysant plusieurs exemples de signaux Macrovision sur différentes VHS, j’ai noté que ce parasitage qui a été ajouté n’a pas toujours la même durée dans la synchronisation verticale.

Il a existé sur le marché des « stabilisateurs » vidéo qui permettent de supprimer le signal Macrovision.

Mais ça m’amusait bien plus d’essayer de me bricoler mon propre appareil pour ça ! :D

Sachant où était localisé le problème sur le signal vidéo, j’ai alors réalisé un premier prototype permettant de retirer le signal parasite utilisant que des composants simples avec des puces LM et des puces série 4000.

IMG_20150326_220005.jpg

Son principe est relativement simple : pendant le temps où le parasitage Macrovision peut se produire, le circuit remplace le vrai signal par un autre qui reprend les mêmes niveaux de tension que juste avant.

Il fonctionne aussi bien en PAL/SECAM à 50 Hz qu’en NTSC à 60 Hz.

Ce prototype marchait pas trop mal donc j’en ai fait une version finale avec une plaque d’essai en époxy et un joli boîtier.

IMG_20150403_204427.jpg IMG_20150403_205447.jpg
IMG_7242.JPEG
IMG_7244.JPEG



Puis cette année (en 2024), soit plusieurs années plus tard, après avoir amélioré la qualité de mes numérisations, j’ai commencé à renumériser l’intégralité de mes VHS.
J’avais donc besoin à nouveau de ce petit appareil bien utile pour mes cassettes ayant le système d’anti-copie Macrovision.

Je savais qu’il avait le défaut de décaler les premières lignes de l’image.


Cela me dérangeait de refaire des numérisations avec ces défauts.
Si je veux numériser mes cassettes une fois pour toute et ne plus les refaire, autant que ça soit bien fait.

De plus, je n’avais pas utilisé de liaison coaxiale entre le circuit et les connecteurs vidéo pour éviter l’ajout de parasites dans le signal vidéo.
Je n’en avait heureusement pas mais ça serait dommage d’en rajouter, ne serait qu’un peu, alors qu’il en a déjà assez avec ce foutu signal Macrovision !

J’ai donc décidé d’améliorer mon appareil et d’en profiter pour documenter son fonctionnement au propre sur ce blog. ;)

C’était donc partit pour la recherche d’améliorations !

IMG_7237.JPEG


La première a été de corriger le problème de premières lignes décalées qui été réglé en ajustant le timing de remplacement du signal Macrovision en changeant certaines valeurs de résistances et de condensateurs.


La seconde a été l’utilisation de câble coaxial pour relier le circuit aux connecteurs RCA.
J’ai utilisé pour cela du cable coaxial RG174 que j’avais en stock et que j’avais acheté sur Aliexpress.
Lien Aliexpress : https://fr.aliexpress.com/item/1005003655900069.html

cable_coaxial_rg174_aliexpress.JPG
IMG_7254.JPEG
IMG_7262.JPEG IMG_7257.JPEG
IMG_7274.JPEG
IMG_7270.JPEG


La troisième amélioration a été de remplacer la puce LM324 qui contient 4 amplificateurs opérationnels par son équivalent à 2 amplificateurs opérationnels avec la puce LM358 parce que je n’ai besoin justement que de 2 amplificateurs opérationnels dans mon circuit.
Ce remplacement n’apporte absolument rien pour la qualité de la vidéo ou sur la suppression du signal Macrovision. C’est juste pour simplifier l’électronique.
J’avais utilisé une puce LM324 au début parce que c’est ce que j’avais en stock à ce moment et que ça faisait le job.
La puce LM324 peut très être conservée au lieu de la LM358 si on n’a que ça.

IMG_7278.JPEG
IMG_7408.JPEG


La quatrième amélioration a été de mettre un fusible.
Il paraît que c’est bien les fusibles. Oui c’est tout bête et j’aurais dû en mettre dès le début.
J’ai utilisé des portes fusibles provenant d’eBay que j’avais en stock.
Lien eBay : https://www.ebay.fr/itm/224283765505

porte_fusible_ebay.JPG
IMG_7677.JPEG
IMG_7679.JPEG

J’ai mis un fusible rapide de 100 mA parce que c’est le plus petit que j’avais en stock.
Vu que l’appareil doit consommer au maximum 2,6W soit 11 mA à 230VAC sans les pertes dues au transformateur, je pense qu’on pourrait mettre un fusible de 50 mA sans soucis.


Et pour finir la cinquième amélioration, à laquelle j’ai pensé alors que je croyais avoir tout fini et commencé la rédaction de cet article, a été l’utilisation d’un relais pour que le signal vidéo passe par l’électronique de l’appareil uniquement lorsqu’il est sous tension et de faire en sorte que le signal vidéo aille directement de l’entrée vers la sortie lorsque l’appareil est éteint.
De cette manière, je n’ai plus à le débrancher quand je ne m’en sert pas. Il restera à côté du magnétoscope et il suffira juste de le mettre sous tension pour qu’il corrige le signal.
C’est assez évident comme concept mais vu que je n’ai pas besoin de cet appareil tout le temps, je le débranchait et rangeait quand je n’en avait plus besoin.

J’ai utilisé un relais miniature 12V trouvé sur Aliexpress qui est un clone d’un OMRON G6S-2.
Je l’ai pris en 12V car c’est la tension d’alimentation de tout le circuit.
Lien Aliexpress : https://fr.aliexpress.com/item/1005005380593942.html
Datasheet relais OMRON G6S-2 : datasheet_OMRON_G6S-2.pdf

relais_aliexpress.JPG
IMG_7721-1.JPEG
IMG_7726.JPEG
IMG_7744.JPEG
IMG_7743.JPEG

On pourrait se dire qu’il aurait été plus simple d’utiliser un interrupteur d’alimentation double qui commande en même temps l’alimentation et là où doit aller le signal vidéo mais je n’étais pas serein avec des connexions vidéo très proches des connexions du 230VAC sur le même interrupteur.
Je n’ai pas trop envie que du 230VAC parte vers mon magnétoscope ou ma carte d’acquisition.

IMG_7724.JPEG


En autre amélioration possible à faire plus tard serait l’ajout d’un connecteur S-Video.
La modification est assez simple car il suffit de faire passer uniquement le signal de luminance à travers l’appareil vu qu’il contient la même chose qu’un signal composite mais sans la couleur.
Le signal de chrominance n’est pas concerné par ça.
Mais vu que je n’en ait pas vraiment l’utilité actuellement, j’ai laissé comme ça.



Voici l’appareil dans sa version vraiment finale :

IMG_7755.JPEG
IMG_7746.JPEG
IMG_7747.JPEG
IMG_7749.JPEG
IMG_7750.JPEG
IMG_7752.JPEG

Vu qu’il s’occupe que de corriger le signal vidéo, il y a qu’une entrée et une sortie vidéo à l’arrière.
Le son de la cassette vidéo protégé qu’on souhaite numériser peut être capturé directement.

IMG_7756.JPEG


Et voici la visualisation sur oscilloscope du signal en entrée et en sortie de mon appareil :


En défaut encore présent et visible sur la vidéo de l’oscilloscope est le fait que le signal de remplacement décroît lentement mais ça n’a pas l’air de poser de problème à mon matériel de capture vidéo donc je verrai plus tard si je te tente de corriger ça.


Le circuit a permis de numériser cette séquence présente au début d’une VHS annonçant que la cassette est protégée contre la copie grâce au système Macrovision :
Mouais ! :D



Voici le schéma électronique :

schema_circuit.PNG
Version PDF : Schema circuit anti-Macrovision.pdf


Liste de documentations techniques sur certains composants utilisés :
- Relais OMRON G6S-2 : datasheet
- Puce LM1881 (Séparateur de signaux de synchronisation vidéo)  : datasheet
- Puce LM358 (Double amplificateur opérationnel) : datasheet
- Puce CD4016 (4 interrupteurs analogiques CMOS) : datasheet
- Puce CD4069 (6 portes logiques inverseuses CMOS) : datasheet
- Puce CD4081 (4 portes logiques AND CMOS à 2 entrées) : datasheet
- Puce CD4098 (Double multivibrateur monostable) : datasheet
- Transistor BC549C : datasheet


Pour ceux que ça intéresse, le boîtier que j’ai utilisé est un MULTICOMP G416 (pdf) en ABS.
C’est un boîtier que j’avais en stock quand j’ai fait la première version de mon circuit.

Lien GoTronic : https://www.gotronic.fr/art-boitier-abs-g416-6614.htm
capture_multicomp_g416_gotronic.JPG

Lien Farnell : https://fr.farnell.com/multicomp/g416/boitier-gris-abs-150x80x45mm/dp/1526735
capture_multicomp_g416_farnell.JPG






C’est un bien joli schéma et les améliorations sont cools mais comment ça marche ?


L’entrée/sortie contrôlée par le relais :

Pour rappel, j’ai utilisé un relais pour avoir le signal vidéo à traiter qui passe par l’électronique du boîtier uniquement lorsqu’il est sous tension. Le reste du temps, le signal va de l’entrée vers la sortie.
Cela se traduit dans la réalité comme ceci :

- Avec l’appareil éteint :
Le relais est éteint et le signal vidéo qui vient du connecteur d’entrée va directement vers le connecteur de sortie.
explication_relais_1.PNG

- Avec l’appareil allumé :
Le relais est allumé, le signal vidéo avec Macrovision sur le connecteur d’entrée va vers l’électronique et le signal vidéo sans Macrovision qui sort de l’électronique va vers le connecteur de sortie.
explication_relais_2.PNG

J’ai utilisé un relais à un double commutateur pour pouvoir manipuler l’entrée et la sortie en même temps.
On aurait pu agir uniquement sur la sortie mais j’avais des doutes sur le fait qu’on laisse connecté sur l’entrée l’électronique de mon circuit qui dans ce cas serait en parallèle de l’appareil branché en sortie ce qui pourrait baisser la tension du signal vidéo.

explication_relais_3.PNG




Le traitement du signal :

Déjà, à quoi on a affaire ?
On a vu plus haut que le parasitage Macrovision est inséré à la fin de la synchronisation verticale.

synchro2.png


La partie synchronisation verticale d’un signal vidéo issue de la lecture d’une VHS sans Macrovision est comme ceci :
C’est globalement pareil avec du bruit sur le signal en plus.
La monté de signal sur la droite de la capture d’écran, c’est normal. C’est des éléments blancs visibles en haut de l’image produite par le signal vidéo.

_DS1Z_QuickPrint2.png


La partie synchronisation verticale d’un signal vidéo issue de la lecture d’une VHS avec Macrovision est comme cela :
On voit un GROS truc qui n’a normalement rien à faire là !

_DS1Z_QuickPrint5.png


Vu que le parasitage se produit pendant la synchronisation verticale, dans un premier temps j’ai fait appel à une puce LM1881 et sa sortie VSOUT (Vertical Sync OUTput) pour avoir un signal simple (en bleu clair sur la capture d’écran) qui me dit quand cette synchronisation commence.

explication_signal_1.PNG
synchro4.png
DS1Z_QuickPrint1b.png


Puis j’ai utilisé un multivibrateur monostable CD4098 pour générer une impulsion qui dure le temps du parasitage et qui est déclenchée juste après le signal VSOUT fourni par le LM1881.
On a ainsi un premier signal qui permet de déterminer quand il faut remplacer le signal Macrovision par un signal propre.

explication_signal_2.PNG
DS1Z_QuickPrint1.png


Si on regarde le signal vidéo avec Macrovision de plus près, on voit que le parasitage ne se produit pas lorsqu’il y a des impulsions de synchronisation horizontale.

DS1Z_QuickPrint3.png


Il faut donc récupérer les impulsions de synchronisation horizontale pour ne pas que le remplacement se fasse à ce moment là.
Pour cela, on peut utiliser la sortie CSOUT (Composite Sync OUTput) du LM1881 qui fournit un signal logique de la synchronisation verticale.

explication_signal_3.PNG
synchro3.png
DS1Z_QuickPrint5.png

Problème ici : Ce signal est lui aussi perturbé par le signal Macrovision.

J’ai fait donc appel à un second multivibrateur monostable CD4098 pour avoir une impulsion de synchronisation horizontale plus propre pendant le parasitage Macrovision.

explication_signal_4.PNG
DS1Z_QuickPrint9.png

Désormais, on a un premier signal qui indique quand il faut faire le remplacement de signal pendant la synchronisation verticale et un second quand il faut le faire en dehors des synchronisation horizontale.

DS1Z_QuickPrint12.png

Il ne reste plus qu’à utiliser une porte logique AND d’une puce CD4081 pour réunir ces deux conditions ensemble pour former un seul signal logique qui indique à quel moment précisément on doit remplacer le signal Macrovision par un signal propre.

explication_signal_5.PNG
DS1Z_QuickPrint15.png

Ce signal logique de remplacement combiné commande alors des bascules analogiques CD4016 qui vont soit laisser passer le signal analogique original lorsqu’on ne remplace rien, soit remplacer le signal original par un signal analogique de remplacement.

explication_signal_6.PNG

Mais pour pouvoir remplacer ce signal Macrovision par un signal analogique de remplacement, il faudrait savoir comment on obtient ce signal analogique de remplacement.

Pendant que le signal n’est pas remplacé, un condensateur est chargé ou déchargé en suivant la tension du signal original. Il a pour effet de lisser le signal analogique enlevant tous les parasites qui s’y trouve. Mais on ne peut pas l’utiliser directement parce qu’il lisse aussi tous le reste du signal vidéo analogique.
Un premier amplificateur opérationnel LM358 (à gauche) est utilisé comme source de courant afin de charger/décharger le condensateur lorsque la bascule analogique CD4016 est active.
Un second amplificateur opérationnel LM358 (à droite) est utilisé également comme source de courant pour le signal de remplacement et pour ne pas tirer trop de courant trop rapidement au condensateur qui doit garder sa tension suffisamment longtemps.

explication_signal_7.PNG

Au final, lorsque le signal logique de remplacement est non-actif, c’est le signal original qui ressort sur la sortie de l’appareil.

explication_signal_8.png

Et c’est uniquement lorsque le signal logique de remplacement est activé que le chargement/déchargement du condensateur est arrêté et sa tension en cours sert de signal analogique de remplacement puisque sa tension actuelle est sensée être celle d’un signal lissé sans aucun parasite.

explication_signal_9.png

Et c’est ainsi que le signal Macrovision semble avoir disparu du signal original !

DS1Z_QuickPrint26.png

On peut observer sur l’exemple dans la capture d’écran précédente qu’il reste néanmoins un morceau du signal Macrovision.
Cela est dû à la durée du signal qui n’est pas identique sur toutes les cassettes.
Il faudrait modifier les valeurs résistances des multivibrateurs monostables pour augmenter la durée  de remplacement du signal.
Cependant, vu que le signal original restant est très court, il n’est pas détecté comme un signal Macrovision mais semble considéré comme un simple parasite ordinaire par le matériel d’acquisition sur lequel j’ai testé mon circuit.

Il reste cependant un petit défaut :
On voit que la tension du signal de remplacement chute au fur et à mesure du remplacement.
J’ai essayé de monter la valeur de condensateur pour éviter qu’il ne se vide trop vite mais cela a pour effet que sa capacité est trop grande pour qu’il puisse se charger et suivre la tension du signal original correctement.
Vu que cela ne semble pas poser problème au fonctionnement du signal sur mon matériel d’acquisition vidéo, j’ai laissé ça en place.
Si c’est problématique à un moment et que j’y trouve une solution, j’en parlerai dans cet article ou dans un autre pour une seconde version de cet appareil.



C’est un circuit assez simple au final qui fait des permutations analogiques à partir de quelques commandes logiques.
Pas besoin de microcontrôleur ici.


Fait amusant avec ce circuit : l’intégralité de ses composants existaient déjà avant que le système Macrovision existe. :D



Le chat a comme d’habitude surveillé et contrôlé toutes les améliorations faites sur mon circuit.

IMG_7227.JPEG IMG_7230.JPEG
IMG_7265.JPEG IMG_7277.JPEG
IMG_7716.JPEG IMG_7719.JPEG

Ajouter un commentaire

Nom/Pseudo :

Email (optionnel) :

Site web (optionnel) :

Commentaire :

Vérification: