Team 15

Inspiration

Our love and interest in old technology and desire to learn new skills like shaders and image manipulation. Also, it fits the theme of Retro well.

What it does

It has three modes:

  • Convert an image
  • Convert a video
  • Render a desktop view in real-time

For both video modes, audio effects are also applied like static and compression.

How we built it

The short answer is with blood, sweat and tears

The long answer is by taking frame(s)/screenshots and parsing them to an OpenGL shader to apply the CRT effects, with a seperate thread processing the audio effects.

Challenges we ran into

Let's just say there were a few challenges;

  • On Linux, Python did not like playing audio and video together
  • OpenGL library documentation constantly references highly deprecated openglcontext library
    • A newer fork exists, but refused to install
  • Tried to use pygame to display the real-time feed, but pygame had other ideas
    • Used opencv imshow instead
  • Shaders
  • Real-time audio processing not working on Linux, so switching to Windows
    • Having to hack around audio sources to get an actual manipulated output

The main challenge was learning all of these tools, since we had very little experience in most of them.

Accomplishments that we're proud of

  • Getting an image to actually show on screen
  • Shaders

What we learned

  • Shaders (not really)
  • OpenCV
  • Audio processing
  • Video processing

What's next for CRTify

We would love to add new features like

  • Allow the user to select an area of the screen to apply effect to
  • Making the real-time output resizable
  • Add more shaders/effects
Share this project:

Updates