We came up with KeyVid after realized how daunting of a task online school will be this year. We thought back to how much time it took to create slideshows and video presentations last year and didn't want that stress to build on further to this new format.
What it does
KeyVid is an automated slideshow/video creation platform primarily for school projects that allows users to input what their topic is, along with their main header points. From there, KeyVid uses webscraping algorithms to generate royalty free images, use image processing to put text on them, and create an mp4 file of all frames. What would take you 10 minutes or more now takes a simple 30 seconds.
How We built it
KeyVid was built in C# and asp.net core. Asp.net core identity was used to create users, and was slightly extended to include video Guids in the user classes. SignalR websockets were used for a small portion of the user header management data structure, this allowed for real time data manipulation in that field. For webscraping, I implemented my own funneling algorithm and for video processing I used ffmpeg.
Challenges I ran into
The biggest challenge I had was making ffmpeg work. initially I kept the application files for ffmpeg in the debug folder of the core library, but after an hour of being stumped I found it needed to be moved right into the asp.net application in order to work. This was overall a pretty bad mistake on my part, but definitely a learning experience.
Accomplishments I'm proud of
Overall, I think the thing I'm most proud of is the webscraping algorithm. In the past I've webscraped before, but this new funneling technique that I utilized to minimize documents down to a single node seemed to help a lot with performance.
What I learned
I learned a lot about image and video manipulation in c# with this project, my future projects will definitely implement these features because I honestly had a lot of fun learning how to edit and create new image files using System.Io and System.Drawing.
What's next for Keyvid
The future of KeyVid, in the most optimistic sense, is exciting for me. There are definitely a lot of things I'd love to had. To begin with, I started working on the google slides api for creating a slides document automatically, I believe that this feature would definitely be helpful to many students. Furthermore, I would also love to add a more varied image processing method, such as font options and more random placement for text.