With friends moving to faraway lands for fresh and exciting adventures of employment, it becomes increasingly difficult to enjoy the simple things in life, such as bumming for an afternoon watching movies and internet videos about cats. We wanted to fix this.
What it does
GroupTube is the meeting point of modern web-based video players and the 90s era chatroom. You can upload and distribute video files, or stream them directly from services such as Youtube. Playback is then synchronized amongst all the users in a given lobby, and control is shared with incredibly low latency.
How I built it
We heavily customized the HTML5 Media Element, integrating flow controls with websockets via Socket.IO.
Challenges I ran into
Video encoding is always a delightful monolith of pain, but through one (almost) sleepless night we persevered and were able to lead the project to a relatively decodeError-free state!
Accomplishments that I'm proud of
We are especially proud of being able to sync the audio of numerous users to the point where a group of laptops could be converted into an ad-hoc speaker system, with no perceivable offset between players.
What I learned
We leverage the opportunity McHacks gave us to have a very intense and accelerated learning experience; we came to understand the power and utility of git blame, the encouraging force of groovy beats, and the importance of keeping a "flask" on you.
What's next for GroupTube
Moving up in the search engine indexes.