1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • 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
Publicité

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

 
GN⁺ 4 시간 전
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

    • À mon avis, ce qu’on recherche, ce n’est pas tant le défaut lui-même que l’ambiance d’une époque. La plupart des gens ne prêtent pas vraiment attention à ces détails techniques
      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é
    • J’ai envie de répondre « oui, mais ». C’est vrai que les limites d’un média sont souvent perçues comme un charme à rechercher par la plupart des gens, et les scanlines d’un CRT affichant une image basse résolution en sont un bon exemple
      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
    • Marshall McLuhan disait quelque chose de similaire :
      « 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 arrêts sur image instables et la qualité trouble des films télé enregistrés sur VHD ne me manquent absolument pas. Idem pour la lenteur et la faible fiabilité des disquettes 3,5 pouces
    • Les gens qui ont vu le VHS pour la première fois ont sans doute été surtout impressionnés par la couleur, la miniaturisation et la praticité, plutôt que de le trouver laid ou désagréable
      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

    • C’est implémenté. On peut régler la quantité de bruit injectée dans le signal, et si elle devient trop élevée, la synchronisation se perd et l’image commence à rouler
      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
    • En fouillant, je suis tombé sur ntsc-rs, mais moi aussi je cherchais un truc comme celui dont tu parles
      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

    • C’est pour ça qu’on appelait souvent le NTSC « Never Twice the Same Color »
  • 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

    • Pendant des années, chaque fois que quelqu’un demandait un filtre NTSC, je lui expliquais cela. Le matériel est aujourd’hui bien plus rapide qu’au milieu des années 2000, donc j’aimerais voir davantage d’implémentations moins optimisées
      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 ?

    • L’entrelacement est pratiquement synonyme de la vidéo des années 80-90
  • 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

    • Ce qui est presque plus surprenant, c’est qu’on voit si peu de vraies séquences de caméscope. Les réalisateurs ne ressortent-ils pas volontiers de vraies caméras noir et blanc sur pellicule ?
  • 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