Ntsc-rs – open-source video emulation of analog TV and VHS artifacts (ntsc.rs)

390 points by gregsadetsky a day ago

npunt 19 hours ago

Time to wheel out one of my favorite quotes about the signature of a medium:

"Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature. CD distortion, the jitteriness of digital video, the crap sound of 8-bit - all of these will be cherished and emulated as soon as they can be avoided. It’s the sound of failure: so much modern art is the sound of things going out of control, of a medium pushing to its limits and breaking apart. The distorted guitar sound is the sound of something too loud for the medium supposed to carry it. The blues singer with the cracked voice is the sound of an emotional cry too powerful for the throat that releases it. The excitement of grainy film, of bleached-out black and white, is the excitement of witnessing events too momentous for the medium assigned to record them." - Brian Eno

harrall 12 hours ago

I don’t it’s the imperfections that are being chased. Most people don’t pay attention to technical details like that.

Instead it’s about chasing the era. For example, the 80s/90s seemed like a happier time, for both those who grew up in it and those who don’t, and imperfections like VHS artifacts put the viewer in that mindset.

bruce511 11 hours ago

Nostalgia plays a part for sure.

For those born after an era it can be easy to romanticize an era. And for those who lived through it, it can be easy to remember the good, and forget the bad.

Growing up in the 80s with no cell phones meant it was much harder to co-ordinate schedules, events, social events etc. No "I'm outside, where are you?"

Ultimately each era is different. Some good, some bad. But in 20 years expect your kids to be idolizing the "20s". "Such a simpler time than now..."

"You got to stay home for a year? What fun...."

pezezin 10 hours ago

sharperguy 7 hours ago

So in future we will have "retro" streaming platforms that buffer with the spinner a random times for nostalgia and have menus full of promotional material that are impossible to navigate to just find what you're looking for.

reactordev 4 hours ago

You mean CrunchyRoll?

Yes, yes we will. And we'll throw random ad breaks in there in the middle of the dialog just for shits and giggles, unskippable of course, at a +10db volume too.

Yes, just like we make remakes of Windows 95 in typescript, we will make retro video streaming platforms with spinners and buffering effects.

WhrRTheBaboons 6 hours ago

if these things ever went away? we would absolutely have nostalgic recreations.

now, i am not so optimistic we will get there, however.

BretonForearm 18 hours ago

> "Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature [...]

I bet the first viewers of VHS were busier with marveling at color, compactness and convenience instead of thinking of the new medium as something ugly and nasty. New technology that gets very popular usually starts as state of the art and impressive, and it's only in retrospect that people think of it in condescending way.

phire 14 hours ago

Yes, they loved the compactness and convenience (well, I’m not sure anyone ever loved the rewinding/fastfowarding experience)

But the quality/color was always a noticeable downgrade from broadcast quality video (and that was a noticeable downgrade from film). But the sacrifice was absolutely worth it.

It is notable that LaserDisc only came out two years after VHS (and before it reached mass adoption), and it could produce (and often exceed) prefect broadcast quality video. Anyone could see the improvement.

Yet LaserDisc never had much success outside of enthusiasts, simply because it couldn’t match the convenience of VHS. Well… it was mostly the lack of recording, but that’s an aspect of convenience too.

giantrobot 2 hours ago

donw 13 hours ago

osullivj 11 hours ago

ahartmetz 17 hours ago

I've always disliked VHS. Broadcast TV was available for comparison at the time and it looked much better.

DVD resolution seemed fine to me at the time - it does not seem fine anymore.

Cassettes were not great, not terrible compared to CDs. That is still the case because stereo audio doesn't get much better than CDs.

Conclusion: Whether something seems good at the time depends on availability of something similar but better.

unleaded 8 hours ago

flir 15 hours ago

nikau 12 hours ago

Most were enjoying not having to stop whatever they were doing at whatever time a show was broadcast to watch it live on air - time shifting recorded TV was a game changer.

npunt 18 hours ago

Sure the first first ones, but hedonic adaptation happens pretty quickly. If you watched a movie in the theaters and then got a VHS copy to watch on your TV at home, you'd notice the difference, especially if it was a well-worn copy. I remember being so excited about laserdiscs because they overcame the VHS noise.

achairapart 17 hours ago

It was “good enough” for them at the time. Technology is and was always about something good enough for most people. But the Eno quote is about art and aesthetic.

dylan604 18 hours ago

I'm familiar with the quote. Still don't like this nostalgia-esque recreation. As someone that spent many hours in edit bays dealing with these tape based artifacts, seeing them now is not nostalgic but brings out a Pavlovian response nearly PTSD like triggering. However, I do understand why others less in the trenches of trying to avoid these types of issues would want it.

npunt 18 hours ago

We all want what we don't have. Back in the day we were desperate for a clearer picture and found these artifacts annoying. We longed for an alternate reality that was as crisp as our own. Nowadays folks that didn't experience the pre-digital era want aesthetics that embrace the imperfections that today's visual culture glosses over. They want reminders that life wasn't always this way.

breezybottom 5 hours ago

Animats 18 hours ago

I'm getting really tired of seeing dust and scratches applied to YouTube video. Especially when it's applied to zooms and pans over stills.

myself248 6 hours ago

stgo 18 hours ago

There's also Marshall McLuhan:

- Every new medium obsolesces the previous one - which then becomes the content, or the art form, of the new medium.

- Once the old ground becomes content of a new situation, it appears to ordinary attention as aesthetic figure. At the same time, a new retrieval or nostalgia is born

hackernulls 15 hours ago

I don't miss TV movies recorded on VHD one bit, with their unstable paused picture and muddiness. Also not the slow speed and unreliability of 3.5" disks.

xahrepap 12 hours ago

I miss being able to skip ads and previews without “this feature is disabled for this disk”.

Kaliboy 19 hours ago

I never heard of this quote, but "heard" something similar a while ago, must have been 2020.

I was watching a live worship session on Youtube and it was beautiful, kept my mind at peace.

Now mind you at the same time I was also a perfectionist, which means you tend to see imperfections in others.

Now at a certain point the singer's voice broke as she was hitting a high note. But before I could mentally register the imperfection I heard or felt such a clear gentle voice that said: "that was the most beautiful part".

In an instant it reframed the imperfect into perfect for that moment and thus forever.

And that's what your quote encompasses. Good read, thanks for sharing.

npunt 18 hours ago

Cracks in the voice are so visceral. One I love is in the Rolling Stone's Gimme Shelter, Merry Clayton is just about screaming and her voice cracks and they kept the band's cheering reaction to it on the record [1]. Truly a case of the subject matter trying to break out of the medium.

Related is that a lot of cultures embrace intentional imperfections in art for spiritual reasons, as it conveys authenticity and humility in the face of perfection. E.g. Persian flaw [2].

[1] https://en.wikipedia.org/wiki/Gimme_Shelter

[2] https://en.wikipedia.org/wiki/Persian_carpet#cite_note-68

jeffreygoesto 8 hours ago

flir 15 hours ago

101008 19 hours ago

In the same vein, the most beautiful part of Patti Smith performing "A Hard Rain's A-Gonna Fall" at Nobel Prize Award Ceremony is when she mistakes the lyrics. Whenever I need to cry, I watch that video.

ErroneousBosh 6 hours ago

> In an instant it reframed the imperfect into perfect for that moment and thus forever.

In Islamic art, the artist often leaves a mistake in a pattern, or a little blob, or some error somewhere in it, because only God is perfect.

In Japan, craftsmen will leave a tiny scratch on an immaculately polished piece of wood, to show how perfect the rest is.

PowerElectronix 10 hours ago

I'm gonna have to "yes, but" here. Yes, there's no doubt the limitations of a media are interpreted by most as desirable things to chase, like scanlines in a crt that's outputting a low resolution image.

But there are also certain qualities in analog audio or video that were lost or severely degraded in the technologies that came after. For example, you need an extremely high bitrate mp3 to get to the fidelity of a vinyl (CDs can achieve it without issues, though) and in crts image clarity in movement is still unmatched in modern displays, and will probably always be due to the sample and hold nature of modern displays.

breezybottom 5 hours ago

CD distortion? Did you mean vinyl record distortion?

exsysadmin 4 hours ago

BobbyTables2 18 hours ago

That is pretty good!

Hmm. Now that we have 1 terabyte 1000MB/s NVme drives, we can really be nostalgic about the 1.44Mb 3.5” floppy drives that have about 30KB/s throughput…

Might even be practical with the latest trends in storage pricing…

qubex 9 hours ago

There’s certainly a Baudrillard reference to be made here, but I’m not awake enough to exactly phrase it (yet).

bel8 18 hours ago

The power of nostalgia.

pipes 11 hours ago

One of my favourite quotes too.

IshKebab 10 hours ago

> CD distortion

What?

picofarad 5 hours ago

Advent of digital mixing and therefore the loudness wars started roughly contemporaneously with the compact disc audio format becoming mainstream. Most complaints of AAD mixes of old vinyls converted to disc were poor, and DDD mastered stuff sounded harsh because of the novelty of compression (audio compressor, not filesize or redbook/Wav/CD-A compression.)

Maybe. I lived through the 90s as a cd purchaser and I tend to agree, CDs were real nice, but different. By the time I had a cd player, tapes had exotic coatings and EQ-trickery to mask the hiss and whatnot of tape media.

grishka 3 hours ago

Relatedly, I recently made a software decoder for SECAM and PAL: https://github.com/grishka/miscellaneous/tree/master/AVDecod...

Though in my case the purpose was to digitize my video tapes and teach myself about DSP.

throwaway2046 2 hours ago

Looks interesting... Is there an equivalent encoder that can be used with this to generate VHS footage purely in software?

BigTTYGothGF 21 hours ago

Idle thought: I don't think I've ever seen one of these TV emulator things implement the situation where the vertical oscillator was slightly wrong and you get the picture slowly looping up the screen.

superdisk 20 hours ago

This one does. You can configure the noise injected into the signal and when it gets too much, it loses sync and the picture starts rolling. It's actually a software NTSC modulator/demodulator, not just an effect to simulate it.

https://github.com/LMP88959/NTSC-CRT

jmbwell 20 hours ago

I sincerely appreciate this fidelity to fidelity

zephen 15 hours ago

RgrTheShrubbr 18 hours ago

These are both amazing projects, but why does NTSC-CRT feel more accurate to how I remember television looking than ntsc-rs?

doubletwoyou 16 hours ago

gregsadetsky 21 hours ago

I actually posted ntsc-rs as it came up in my research - I'm also looking for something like what you're describing..!

I was also looking into https://codeberg.org/fsphil/hacktv which generates a variety of different analog tv signals (meant to be broadcast using HackRF) - but yes, I want the opposite - an analog-receiver-emulator...? And one that would be "ok" with incorrect signals // fail like an analog TV would... :-)

picofarad 5 hours ago

Slow scan and fast scan television encoders and decoders exist, probably the algorithm is public domain, so you can just increase the bandwidth and speed until you get what you're looking for, then you can tamper with IQ .wav files to edit the "signal".

It can't be that hard for someone with skill and determination!

ErroneousBosh 6 hours ago

There is, but there isn't one that puts in realistic "teletext sparkles" at the top.

I'd donate heavily to one that would actually let you send decodable teletext pages in the output ;-)

genewitch 4 hours ago

like the ones in Holland in the 90s? I don't remember if i noticed it in other countries at that time, but for sure there was like whole text areas on TV channels you could go to, and i think someone at the time told me there was interactive chat through the TV too but they may have been yanking my teenage chain.

ErroneousBosh an hour ago

JdeBP a day ago

You're not getting the full experience of analogue telly artifacts until you emulate colour subcarrier phase shift and colour burst detection failure. (-:

And of course PAL and Hanover bars.

stevesimmons 21 hours ago

Which is why NTSC was often said to mean Never Twice the Same Color!

reaperducer 20 hours ago

In my decades working in TV it was always "Never The Same Color."

See also: Picture At Last!

See also: System Essentially Contrary to the American Method

cf100clunk 3 hours ago

ReptileMan 17 hours ago

LeFantome 13 hours ago

xattt 20 hours ago

Good thing they fixed it in Always The Same Color.

picofarad 5 hours ago

zellyn a day ago

I once tried to fully analyze the amazing NTSC emulation used in OpenEmulator. I went down a rabbit hole that involved losing motivation several lessons in to a signal processing class on YouTube, but for those interested, I did at least pull quite a lot of it apart here: https://observablehq.com/@zellyn/apple-ii-ntsc-emulation-ope...

I also ported it to JavaScript (linked from above page)

gblargg 21 hours ago

I educated anyone who asked about the NTSC filter over the years because I wanted to see less-optimized implementations of it, given how much faster hardware is than the mid 2000s (it precalculated the kernels for every color at every phase offset and did the signed RGB math during rendering). There's something satisfying about being able to recreate the peculiarities of old hardware we grew up with, as a way of demystifying it.

alok-g 10 hours ago

Could this be used for training AI to do the reverse, i.e., generate high-quality videos from older analog TV and VHS artifacts? Start from high quality videos, use this or a similar library to generate analog/VHS videos that now have the ground truth available, train AI from the data.

Ylpertnodi 3 hours ago

Reddit - ukrainewarvideoreports - the Ukrainians are taking their relatively poor 'Last frame' drone shots and ai-ing them to be shockingly-detailed images of people about to die.

peacedrone 18 hours ago

Just installed the OpenFX plugin and tested in DaVinci. It runs snappy and looks awesome with tons of control. It can go from subtle to soup. It really starts getting interesting when you automate the params. Appreciate that this is rooted in actual emulation. I'll definitely use this in my edits. Good find!

liampulles 18 hours ago

I'll wait until they do some PAL emulation: take an NTSC source, blurrily upscale it to 576p, apply a crap deinterlacing algorithm to produce a technically progressive image, and some frame blending to get it to 25 fps. Shitorific.

devindotcom a day ago

I do love that this is an area of such active development. But I'm curious to see what the artifact simulation crowd thinks of it. I most often encounter them as shaders for emulators and such, but of course this kind of structure degradation of a pristine video is also in high demand these days for video production. Producers want that 90s-camcorder look but crews can't actually use the clunky 90s-camcorder hardware and formats.

nemomarx a day ago

I'm actually surprised there isn't much of a scene for authentic camcorder footage - directors love to bust out real black and white film cameras for stuff?

devindotcom a day ago

Film is a fun, interesting, authentic, and useful medium for filmmakers, and there are established workflows for it. A camcorder writing interlaced video to miniDV may have its charms (I still have a great old Panasonic 3CCD one) but as a filmmaking tool it would be really inconvenient. Shooting in an ordinary digital workflow and adding the effect later is a no brainer production-wise.

That said, I would not be surprised to see camcorders, DV or VHS or whatever, rise up as a Polaroid-like alternative to smartphone cameras! Old digital point and shoots are already popular that way.

xattt 20 hours ago

ClikeX 18 hours ago

bufordsharkley 20 hours ago

numpad0 15 hours ago

The difference is that films had better performances than digital equivalents in some areas for a long time. It isn't/wasn't just nostalgia.

The imaging device used in electronic camcorders before the transition to CCD had visibly gray whites. They weren't so great by any standards. Hence very few chases it, with nostalgia being the sole reason to do it.

mgaunard 12 hours ago

Why so much love for NTSC and so little for PAL and SECAM?

grishka 3 hours ago

emayljames 12 hours ago

Interlacing is synonymous with 80's/90's video

mgaunard 8 hours ago

PAL and SECAM are also interlaced.

Except PAL/SECAM don't have any of the color issues of NTSC.

cf100clunk 3 hours ago

zzo38computer 11 hours ago

I had written a NTSC emulator in C, based on some other equations I had found, although it expects command-line arguments to control many things (such as the phase), and expects a grey scale farbfeld picture as input and produces farbfeld as output, so it is with still pictures rather than videos.

throwaway2046 9 hours ago

Could you provide a link to your project?

atum47 17 hours ago

That's nice. I've always been a fan of this effect. I myself was working on something (way simpler) in the past. I was just getting a pixel splitting into three separate values (r,g,b) and plotting them side by side to emulate LED behavior. I end up creating an image that you can use on your website to give the impression of lines - https://github.com/victorqribeiro/oldTerminal (that was the best I was able to do without using canvas, for the web).

Some day I might try it again using modern css

MycroftJones 18 hours ago

Fantastic! Is there something like this also for the scratch and hiss of old LP vinyl records? And the various types of squeals, crackles and fuzz of old ham radio setups? Never found anything that can really simulate those well.

myself248 6 hours ago

The trick is that the scratches need to recur at the right revolution rate, while the bandwidth needs to slowly decrease as the stylus nears the end of the groove. Hmm.

1bpp 17 hours ago

I used to play with the free iZotope Vinyl VST, it does a decent job at emulating pop/hiss, wow/flutter, and frequency response.

For ham radio-like sounds, maybe use SDR software like SDR++ and just pipe in a regular audio input, then mess with the decoding settings like LSB/USB.

rpastuszak a day ago

Greg! I love this!!! Just last night I was trying to rewatch the x-files and was telling Luna that I would need to get a TV filter/shader/overlay thingy to see it the way it was meant to be seen.

You mind reader you

gregsadetsky 21 hours ago

Rafał!!! U+1F62D U+1F62D U+1F62D!!!! haha

I'll email you. sorry everyone, just two pal's pall'ing around xx

sillywalk 20 hours ago

I was immediately reminded of the fake VHS line artifacts for Stranger Things - A Bad Lip Reading[0], which I assume are sort of a bit about the fake film grain things during the opening titles in the Stranger Things show.

[0] https://www.youtube.com/watch?v=S-4rhjO6xYg

agentifysh 21 hours ago

heres a test output it looks convincing

https://x.com/AgentifySH/status/2063351105162224119

BobbyTables2 18 hours ago

Vintage 16x9 TV memories (;->

I wish my VCR was that good in LP mode back then!

esafak 21 hours ago

You need the 80s soundtrack for the full effect: https://www.youtube.com/watch?v=8oVfIFrpslI

ClikeX 18 hours ago

I'm flooded with nostalgia.

pipes 11 hours ago

Can anyone explain how this is different than shaders in retro arch?

RgrTheShrubbr 18 hours ago

Are there audio emulators out there that simulate VHS compressed warped audio?

gsich 14 hours ago

VHS audio was superb.

1xn 16 hours ago

this is really good effect, fantastic output. I had VCR as a kid :-) Gonna have a look at it, specially as it is a Rust project. :clap clap: Thanks for posting this.

ramses0 3 hours ago

I'm stupefied by the accuracy of the SP/LP/EP rendering differences. Apart from how "accurate" everything is, that one pushed it way past the uncanny valley and into "oh yeah, that's pretty much exactly what it looked like!"

joshuamcginnis 20 hours ago

I wonder if any of this was used to produce Backrooms

therepanic a day ago

It looks quite unusual, I will definitely try it.

fs90 17 hours ago

That's interesting!

nekiwo a day ago

never expected valadaptive to be on front page of HN

Vaslo 15 hours ago

Very cool but the number of settings is overwhelming, not even sure what to do.

mrandish 14 hours ago

This is no doubt a useful production tool when one needs to create the visible artifacts of VHS video for some motivated story reason but as someone who worked in the tech side of broadcast video production starting near the end of the analog era and through the transition to digital, I'm not generally a fan of doing so outside those specific contexts.

The reason is that full bandwidth 6 Mhz analog composite or component video could look wonderful. If you ever have the chance to see a 2-inch quad VTR playing a master tape on a broadcast quality monitor pleased do. I suspect you'll be shocked at how good it looks, even to modern eyes. Yes, the absolute resolution is lower, but the magic of those analog broadcast standards was how gracefully they fit so much image into 6 Mhz of bandwidth. Conversely, VHS tape recording was the absolute worst, most compromised form of that. At the time, it was the best that could be done at consumer prices. But no one ever thought it was remotely good quality in any sense other than perhaps "better than nothing", and even that was hardly unanimous.

There's something about full bandwidth broadcast quality analog composite video that can be genuinely aesthetically pleasing, even compared to digital HDTV. Sadly, very few consumers ever got to see it in its pure, unadulterated form. Even live broadcasts, after being sent up a transmitter tower and down an aerial antenna, were a decimated form of the original signal at the head end (although leagues better than VHS). Yes, modern digital IS better in almost all ways, but in a few ways there was, and still is, something uniquely 'good' about that analog head-end video signal. I won't say 'better' because that's an aesthetic and stylistic judgement but definitely 'good'. Whereas, there's literally nothing good about VHS. At no point ever did a 1980s video creator look on their equipment shelf, see a VHS camcorder next to... literally any other camera or recording system, and say "I'll take the VHS today because it's the better tool for this job."

There's one context where I'm a huge proponent of recreating our analog past and that's when viewing 1980s and early 90s computer or game console graphics created to be displayed on 15khz analog composite video displays. That's when analog CRT emulation via GPU pixel shaders should always be used. The square razor sharp, hard-edged pixels of such content as seen on modern digital flat screens is an inaccurate distortion of the past because no one in that past, like the people involved in the creation or consumption of that media, ever saw square pixels like that. The only displays we had then were CRTs and images made for 15 Khz analog CRTs look not only different but much better on the displays they were designed on and for (or a good simulation of those displays).

fnord77 21 hours ago

Great, now I won't be able to trust that old videos aren't AI slop either.

quantummagic 20 hours ago

I hope this leads to people being interested in more and larger public gatherings. Seeing things with our own eyes and having fun with other real people.

elpocko 20 hours ago

This will be the thing that does it. That sounds reasonable.

Velocifyer 18 hours ago

You can always use a VCR.

natas a day ago

pretty cool!

modinfo 20 hours ago

To have true VHS effect, I think we should train AI for this, examples from digital videos to record on true VHS tape, on multiples VHS devices then digitalize and calculate difference between original and digitalized from VHS.

Then even we could have filter like: VHS Panasonic, VHS Sony...

This would be very interesting project.

jmbwell 20 hours ago

I might argue that generating and decoding an actual NTSC signal, as the OP project does, would be true in ways that a generative model based on all of that would not be.

marginalia_nu 20 hours ago

Can't you just cut out the AI from this pipeline by recording footage onto VHS and then digitizing that?

caminanteblanco 19 hours ago

I think the idea would be allowing arbitrary videos to be converted without the need for a working tape drive