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
Log in or sign up for Devpost to join the conversation.