- Effet vidéo gratuit et open source permettant de reproduire l’esthétique VHS sur un ordinateur personnel, avec une émulation fidèle des artefacts de la TV analogique et des VHS
- Au lieu d’imiter l’apparence d’une cassette VHS à l’aide de simples tables de couleurs et de superpositions, utilise un algorithme qui modélise le fonctionnement réel de la transmission NTSC et de l’encodage VHS
- L’algorithme de base provient de ceux développés dans composite-video-simulator, zhuker/ntsc et ntscQT
- Écrit en Rust, avec prise en charge du multithreading et de l’accélération SIMD, ce qui permet, contrairement à des effets similaires comme ntscQT, une exécution en temps réel même à des résolutions bien supérieures à celles d’une vidéo NTSC réelle
- Disponible sous forme d’application autonome, d’application web, ainsi que de plugin pour After Effects, Premiere et les logiciels compatibles OpenFX, avec prise en charge de DaVinci Resolve, Hitfilm et Vegas
Aperçu
- ntsc-rs est un effet vidéo gratuit et open source qui émule fidèlement les artefacts de la TV analogique et des VHS
- C’est un outil qui recrée la nostalgie de la VHS sur un ordinateur personnel, avec une version téléchargeable 0.9.4 et une démo en ligne
- Les effets VHS classiques reproduisent en général l’apparence d’une cassette VHS de manière approximative à l’aide de simples tables de couleurs et de superpositions
- ntsc-rs utilise un algorithme qui modélise le fonctionnement réel de la transmission NTSC et de l’encodage VHS
- Les algorithmes de base proviennent de composite-video-simulator, zhuker/ntsc, ntscQT
Implémentation et formats disponibles
- Implémentation écrite en Rust, avec multithreading et accélération SIMD
- Contrairement à des effets similaires comme ntscQT, elle peut s’exécuter en temps réel même à des résolutions bien supérieures à celles d’une vidéo NTSC réelle
- Disponible sous forme d’application autonome, d’application web et de plugin pour les logiciels de montage vidéo
- Le plugin peut être utilisé dans After Effects, Premiere et les logiciels compatibles OpenFX
- Exemples de logiciels compatibles OpenFX : DaVinci Resolve, Hitfilm, Vegas
1 commentaires
Commentaires Hacker News
Cela me rappelle une citation de Brian Eno sur les traces propres aux nouveaux médias :
« Ce qui paraît aujourd’hui étrange, laid, maladroit et désagréable dans un nouveau média finit inévitablement par devenir sa signature. La distorsion du CD, le tremblement de la vidéo numérique, le son grossier du 8 bits : dès qu’on peut les éviter, on commence à les chérir et à les imiter. C’est le son de l’échec. Une grande partie de l’art moderne, c’est le son des choses qui échappent au contrôle, d’un média poussé jusqu’à sa limite puis brisé. Le son d’une guitare saturée est la trace d’un son trop fort pour le média censé le contenir. Un chanteur de blues à la voix fêlée, c’est le son d’un cri émotionnel trop puissant pour la gorge qui le porte. L’excitation du grain rugueux de la pellicule et d’un noir et blanc délavé vient du fait d’assister à un événement trop important pour le média chargé de l’enregistrer. » — Brian Eno
Par exemple, les années 80-90 paraissent être une époque plus heureuse, aussi bien pour ceux qui y ont grandi que pour les autres, et des défauts comme les artefacts VHS replongent le spectateur dans cette sensibilité
Mais l’audio et la vidéo analogiques ont aussi des caractéristiques qui ont disparu par la suite ou se sont fortement dégradées. Par exemple, pour atteindre une fidélité du niveau du vinyle, le MP3 a besoin d’un bitrate très élevé (le CD, lui, y arrive sans problème), et la netteté des images en mouvement sur CRT n’a toujours pas été égalée par les écrans modernes, et ne le sera peut-être jamais à cause du caractère sample and hold des écrans actuels
« Tout nouveau média rend l’ancien obsolète, et l’ancien média devient alors le contenu ou la forme artistique du nouveau. »
« Quand l’ancienne base devient le contenu de la nouvelle situation, elle apparaît à l’attention ordinaire sous forme esthétique. En même temps naît une nouvelle récupération ou une nouvelle nostalgie. »
Les nouvelles technologies qui connaissent un grand succès commencent généralement comme quelque chose de dernier cri et d’impressionnant, et ce n’est qu’avec le recul que les gens finissent par les regarder de haut
Je me faisais la réflexion : dans ce genre d’émulateurs de TV, je ne crois jamais avoir vu l’implémentation du cas où l’oscillateur vertical se décale légèrement et où l’image se met à remonter lentement en roulant
Ce n’est pas juste une imitation d’effet : c’est en pratique assez proche d’un vrai modulateur/démodulateur NTSC logiciel
https://github.com/LMP88959/NTSC-CRT
J’ai aussi regardé https://codeberg.org/fsphil/hacktv, qui génère différents signaux de télévision analogique pour émettre avec un HackRF. Mais ce que je veux, c’est plutôt l’inverse : un émulateur de récepteur analogique, capable d’accepter aussi des signaux incorrects et de se dégrader comme une vraie télé analogique
Je me demande si on ne pourrait pas s’en servir pour entraîner une IA à faire l’inverse. Autrement dit, l’entraîner à produire une vidéo de haute qualité à partir d’images avec de vieux artefacts de TV analogique/VHS
On partirait d’une vidéo de haute qualité, on créerait une version analogique/VHS avec cette bibliothèque ou un outil similaire, on obtiendrait ainsi des données de vérité terrain, puis on utiliserait ces données pour entraîner l’IA
Il faut aussi émuler les décalages de phase de la sous-porteuse couleur et les échecs de détection du color burst pour retrouver toute la saveur des artefacts de TV analogique
Bien sûr, il faut aussi du PAL et les Hanover bars
Il y a longtemps, j’ai écrit un émulateur NTSC en C basé sur d’autres équations. En revanche, il prend différentes valeurs comme la phase en argument de ligne de commande et prend en entrée une image farbfeld en niveaux de gris pour produire une sortie farbfeld, donc c’est pour des images fixes, pas pour de la vidéo
Il fut un temps où j’ai voulu disséquer complètement l’étonnante émulation NTSC d’OpenEmulator
Je suis tombé dans un terrier de lapin en regardant quelques cours YouTube sur le traitement du signal avant de perdre ma motivation, mais pour les personnes intéressées, j’en ai tout de même décortiqué une bonne partie ici : https://observablehq.com/@zellyn/apple-ii-ntsc-emulation-ope...
J’ai aussi fait un portage JavaScript de la page liée là-dessus
Ce filtre pré-calculait les noyaux pour toutes les couleurs et tous les décalages de phase, puis effectuait des opérations RGB signées pendant le rendu. Le fait de pouvoir recréer les bizarreries de l’ancien matériel avec lequel nous avons grandi est satisfaisant, car cela permet de le comprendre sans le mythifier
Pourquoi y a-t-il autant d’affection pour le NTSC et si peu pour le PAL et le SECAM ?
J’ai installé le plugin OpenFX et je l’ai testé dans DaVinci : c’est rapide, il y a beaucoup d’options de contrôle et le résultat est excellent
On peut aller d’un rendu très subtil à quelque chose de presque complètement brouillé. Dès qu’on automatise les paramètres, ça devient vraiment intéressant, et j’apprécie aussi le fait que ce soit basé sur une vraie émulation. Je pense que je vais clairement l’utiliser pour du montage
C’est bien de voir ce domaine se développer activement. Cela dit, je me demande comment les gens du côté de la simulation d’artefacts voient cela
On croise souvent ça sous forme de shaders pour émulateurs, mais il existe aujourd’hui aussi une forte demande, dans la production vidéo, pour dégrader structurellement une image propre de cette manière. Les créateurs veulent un rendu de caméscope des années 90, mais il est difficile pour une équipe de tournage d’utiliser réellement le matériel et les formats lourds de cette époque
J’aime bien. J’ai toujours aimé ce genre d’effet, et j’en avais même bricolé une version bien plus simple autrefois
Ça consistait à diviser un pixel en trois valeurs r, g, b et à les disposer côte à côte pour imiter le fonctionnement des LED. J’avais même fini par créer une image donnant un effet rayé sur un site web : https://github.com/victorqribeiro/oldTerminal C’était le mieux qu’on pouvait faire sur le web sans canvas
Je retenterai peut-être ça un jour avec du CSS moderne