Un YouTuber s’est intéressé à la possibilité d’enregistrer de la vidéo sur une cassette audio, très courante à la grande époque du Walkman dans les années 80. L’exercice n’est pas si simple qu’il y parait et requiert l’utilisation de Python et JavaScript.
Il y a quelques semaines, nous vous présentions le travail d’Element14 qui transformait 2 viseurs CRT d’anciens caméscopes en casque de réalité virtuelle à l’aide d’un Raspberry 4. Dans cette même idée de mêler anciennes et nouvelles technologies, le YouTubeur Kris Slyka s’est mis en tête d’enregistrer de la vidéo sur une cassette prévue à l’origine pour enregistrer du son.
150 lignes à 4 images par seconde
Avant l’arrivée du Compact Disc ou CD, la cassette audio ou K7 était reine. Bien plus facilement transportable que les disques vinyle, son utilisation a explosé avec la démocratisation des baladeurs, comme les fameux Walkman de Sony, récemment remis à la une par Starlord dans les Gardiens de la Galaxie même s’il a failli le troquer contre un Zune. Prévues pour permettre l’enregistrement de 60 ou 90 minutes de musique stéréo, elles peuvent théoriquement stocker n’importe quel type d’information.
Le YouTuber Kris Slyka, maker et musicien, s’est demandé s’il était possible d’enregistrer de la vidéo sur une cassette audio. Toutefois, la quantité d’information qu’il est possible de stocker est bien trop faible pour convertir un signal vidéo RGB de pleine qualité. Il a donc dû baisser la résolution et la fréquence de rafraichissement afin de garder une vidéo en temps réel. Il est en effet impossible d’enregistrer 11 millions de pixels nécessaires pour chaque seconde de vidéo (768×576 à 25 fps) sur une cassette audio. Après tout ce n’est pas pour rien que les magnétoscopes ont existé jusqu’en 2016.
Afin de contourner le problème, il a donc conçu un script en Python pour encoder la vidéo en un fichier audio. wav et un script en JavaScript pour décoder le fichier audio et afficher la vidéo depuis le son provenant de la cassette. Les codes sources sont disponibles sur GitHub. Afin de gagner en rafraichissement, il utilise l’entrelacement et la couleur est stockée sur la seconde piste audio. Ce qui signifie que le son est absent de la cassette. Une belle prouesse en tout cas.
Source : Hackaday