Is a new star growing in the Universe?
It sounds a little pretentious, but my feeling is similar to a proud parent showing the videos of his cute daughter dancing ballet in the school presentation.
Here you will find a description of steps followed from the original idea until to implement and deploy the web application Myvdo.me
Purpose of the project.
Join my peer Heimer Rojas our main goal was to implement a useful application able to retrieve data using APIs in order to apply several pieces of knowledge obtained in the past nine months in Holberton Colombia.
After elaborating on some ideas, we decided on an idea which includes music and video (my peer is a passionated for music) and so we create a web application that takes the lyrics of any song and based on it, would create a video with images associated with these lyrics.
Personally I had edited some videos based on pictures for some familiar birthdays and the complexity to choose the pictures and synchronize it with music was always a headache.
First steps
After defines the first approach and some basic requirements were necessary to research several topics like lyrics standard formats, video libraries, and data source information. It takes more time than the planned because the synchronized lyrics are not so easy to reach and in some cases, it has a huge cost for an MVP project.
Flow diagram
How we do it?
Taking the flow diagram, the technologies used on this deployment were Python in all the back logic and communication with data sources (eg. Youtube, Musixmatch, Google Search, Microsoft Cognitive Services); the integration with frontend was Django and Bootstrap was used for it.
Main features
Synchronization. Perhaps the main feature is the ability to sync the images, music, and subtitles as only one product.
Correspondence. Synchronization is not only about times else the correspondence between any of the main words on each paragraph of lyrics and the images.
Themes. Our application has the ability to choose 4 themes of images set for video creation. We can use beautiful pictures, or images from the TV Series The Simpsons, Futurama or Rick & Morty.
Technical challenges
One of the main challenges was the interaction with multiple data sources (APIs) due to project complexity. Each one of the sources has different rules and the JSON file obtained from each one have different structures. Due it, was necessary to use specific commands or libraries for each one of them, and to summarize all the results in only one function and so, be able to work with these data.
Another one was the video composition and to standardize all the images used before to create it; it was a pivot process because the video didn't comply with our requirements and just before to obtain the same format and size were possible to control the output.
Useful links
www.myvdo.me
www.myvdo.me/about
https://github.com/ledbagholberton/Frank1