You’re seeing video everywhere; news sites, online magazines, small business sites, big business sites.
YouTube, in a number of years, has become the net’s most engaging platform.
Video is taking over, and we’ve had a number of projects over the past year that can corroborate that fact. One in particular was born of a client’s needs for a short video-recording feature; a real-time communications function that we’d craft in an ASP.Net web application.
The client in question had an existing team collaboration web portal (which we’d also developed for him prior) in which users could create an account for their own companies. The administrator would then segment different teams and departments, adding company employees, effectively creating a database. It had various modules that allowed for facilitated communication, and with the help of these modules, employees were able to collaborate and share content with one another; documents, video, assessments and feedback surveys, to name a few possibilities. Users were also able to create and schedule activities, training sessions and meetings on the calendar.
It was primarily developed using ASP.Net WebForms, C#, Entity Framework, SQL Server, jQuery, jQuery UI, Underscore.js and knockout.js. Several design patterns, like Factory, IoC using NInject, Repository and Unit of Work were also utilized to craft the interface.
Video was perhaps the only feature that was not included in the original development. So, we got to work.
The main site would allow users to record short videos, enabling them to share video messages with other members. They’d should have been able to upload the video onto the main site, to specify that key team members were the only ones with access to it, to designate it with a title and short description, and to do so on any browser.
In developing the function there were several different techniques utilized. Each had their own pros and cons, including time required and cost of software, implementation and individual limitations. We decided first and foremost to use Web RTC, utilizing MediaStream “getUserMedia” API in HTML5. The issue we experienced here is that not all browsers were completely supporting HTML5 and RTC. We needed a solution/API that would fulfill this requirement and that would be more time-effective.
Shortly thereafter, we found Camera Tag, a solution which handled all video recording and created a stream of recorded videos with all the functionalities we needed (play, record, re-record, and publish) by creating a recording file through their own servers. Additionally, users would be able to share their recorded videos with other users as well. This solution was not free but the pricing was based on the number of recorded videos. We implemented the video recording feature.
Sometimes, the simplest solution is the best option.