Raspberry Pi Project Overlays Subtitles as Closed Captions

Raspberry Pi
(Image credit: Theloosearrow)

We love Raspberry Pi projects that involve TVs, and have covered several in the past that recreate authentic experiences including one project that broadcasts a UHF signal that any CRT close enough can tune into.

But this project, created by a maker known as Theloosearrow on Reddit, adds another missing piece to the puzzle by creating a closed captions effect for displaying subtitles. Using a Raspberry Pi and Arduino, this Raspberry Pi project overlays subtitles as closed captions while outputting video to a TV. 

Theloosearrow explains that a Raspberry Pi is used to play video through its composite output. This is fed to an Arduino fitted with a Video Experimenter Shield, which has all sorts of fun tools to tinker with, but Theloosearrow is using it for its LM1881 video sync separator. With this module, it’s possible to include a custom close caption signal with the Raspberry Pi’s video output signal.

On the Pi, a custom Python script is used to both play videos and transmit SRT subtitle file data. It tells the Arduino when to play each line at a specific point in the video so everything synchronizes in real-time. The Arduino creates a closed caption signal using this subtitle data that the TV is able to natively display.

To see this closed captions Pi project in action, check out the original thread shared to Reddit.

Ash Hill
Freelance News and Features Writer

Ash Hill is a Freelance News and Features Writer with a wealth of experience in the hobby electronics, 3D printing and PCs. She manages the Pi projects of the month and much of our daily Raspberry Pi reporting while also finding the best coupons and deals on all tech.

  • SophiaOlivia37
    Admin said:
    Theloosearrow has added a closed captions overlay to his Raspberry Pi video output in real-time to a CRT TV.

    Raspberry Pi Project Overlays Subtitles as Closed Captions : Read more
    great advice! I had a similar query & your response really helped me out. Thanks