We were watching Incredibles 2 when a epilepsy warning came up during a scene with flashing lights. While film released for an audience might have warnings about possibly epileptic content, videos on the internet may not come with these warnings. Without warnings, navigating the internet can be a minefield for those with epilepsy, who are subject to seizures when watching flashing videos. We want the internet to be a safe place for all people, so we built Caesar to find and warn people about epileptic content.

What it does

Caesar analyzes internet videos as the user watches them. When it detects possibly epileptic content in the video, Caesar warns the user. First and foremost, it blocks the screen, so the user cannot see the content. Caesar then scans the rest of the video at 2x speed and finds other problematic sections of video. The user then chooses whether or not to proceed through the video or to skip around the epileptic content.

How we built it

We used JavaScript to analyze the video. As the video plays, the algorithm searches for parts of the screens that flash. A flash is when the screen transitions from light to dark to light or dark to light to dark. We search for when the amount of screen flashing overcomes a certain threshold. At this point, we give the user a warning and block the screen. To try to improve the amount of processing needed, we save the information about epileptic content in a video in MongoDB.

Challenges we ran into

It was challenging to understand the structure of Chrome Extensions. Only certain parts of the extension are allowed to access and modify the web page.

Accomplishments that we're proud of

We are proud that our extension will make the internet safer and more inclusive. Because it targets content marked with a video tag, our extension works on a variety of video platforms, so it will make browsing safer no matter what websites the user visits.

What we learned

I'm not familiar with JavaScript, so this project was a great introduction. I learned a little about working with the DOM. I also used a NoSQL database for the first time with MongoDB.

What's next for Caesar

We would love to get our extension on the Chrome store to start. We'd also like to explore solutions to analyze videos in advance and without lag.

Built With

Share this project: