Show HN: Phosphor – a CRT TV video player for your Mac

JoAz1111 pts0 comments

I built Phosphor. Phosphor is a CRT TV on your Mac. It can take almost any video file and play it as if it’s being shown on a real CRT.It tries to emulate a CRT all the way down to the electron beam and the individual red, green, and blue phosphors. It simulates the beam scanning across the screen, 240p and 480i raster modes, phosphor persistence, glow, bloom, convergence, composite-video artifacts, and curved glass.It’s built natively using Swift and Metal and is hyper optimized for Apple Silicon, so it runs like butter. Video frames stay on the GPU, and the expensive CRT reconstruction only runs when a new video frame arrives.You can choose between aperture grille, slot mask, and shadow mask phosphors. You can also switch between RGB, S-Video, NTSC, and PAL signals, along with consumer TV, Trinitron, and studio-monitor profiles.Parts of the renderer are based on CRT-Guest-Advanced HD, which I adapted to native Metal and expanded with beam timing, individual phosphor masks, HDR output, direct video playback, and a bunch of Apple Silicon specific optimizations.I’ve always found it odd that we have great CRT shaders for retro emulation but not for viewing old videos the way they were meant to be watched, and I’m really happy I managed to make this a reality.Would love to get feedback, especially from people who know CRTs well. It’s 100% free and open source.

video phosphor beam built individual phosphors

Related Articles