ntsc.jsguide Open the app ↗

Choosing an analog-video tool

Several good tools make video look like it went through composite, tape and a CRT. They mostly solve the same premise for different jobs — this page is for finding the right one quickly, including when that is not this one.

All free and open source unless noted.

If you want to… Use
Put this look on a clip in your edit ntsc-rs (AE / Premiere / OpenFX / Resolve)
Render a file at above-NTSC resolution ntsc-rs
Play the signal live — knobs, MIDI, audio-reactive, feedback ntsc.js (this project)
Try it in ten seconds with nothing installed ntsc.jslive demo
Composite artifacts inside a game emulator Blargg's nes_ntsc / snes_ntsc
A CRT screen look over anything RetroArch CRT shaders
The reference implementation to read or build on composite-video-simulator
Real analog hardware, no simulation LZX Industries and similar (commercial)

The tools#

Where ntsc.js fits#

It is a live instrument rather than a file processor, and that follows from how it is built: the whole signal path stays resident on the GPU as compute shaders, so changing a control is a uniform-buffer write rather than a re-render. What that budget buys:

What it does not do#

Written from the other projects' own documentation, not from benchmarks run here — nothing above is a performance claim about anyone else's code. If something is out of date or unfair, please open an issue.