Inspiration

BoardStream provides better visibility for students with bad eyesight or sitting in the back of lecture halls.

What it does

Board Stream is an application that live streams a whiteboard for enhanced viewability in classes. The area of the whiteboard between four placemarkers is captured, regardless of camera positioning. Students can also capture screenshots of the whiteboard when external objects block the frame of view.

How we built it

Frontend: Used Svelte to show main elements in one page Used HTML/CSS/JS for styling

Backend: Mapped Flask routes/URL to Python functions UDP socket sends video packets to frontend/UI Used C++ OpenCV library cropped whiteboard, took video input Qt framework allowed for multithreading, simultaneously ran GUI (output) and video input

AWS: Connect to AWS EC2 instance via ssh from local computer Used Putty and PuttyGen Created private key

Challenges we ran into

Unable to implement interactive buttons on the website Trouble transferring video feed to different computers, did not have same level of functionality on different devices Almost deleted file explorer and briefly locked out of computer by toggling security settings

Accomplishments that we're proud of

Program worked momentarily on a computer Learned how to use virtual env and created a web app with a React frontend and Flask backend Implemented OpenCV to broadcast live video on web app Successfully hosted the web app on AWS, connected to EC2 instance through SSH

What we learned

Create outline/plan out different segments of project right when hackathon starts Don't underestimate the amount of time needed to solve errors/trouble shoot

What's next for BoardStream

Automatically capture screen before board is erased or external image (hand, body) blocks view Integrate OCR program that converts writing to text

Share this project:

Updates