This is a guest post by Duncan Burbidge, Co-Founder and CEO of StreamUK, a UK based webcasting and digital media company.
StreamUK was founded in 2001 to provide digital media solutions and back then you did everything yourself. After 7 years of trying to match the increasing pace of technological development, the decision was taken to investigate options for StreamUK’s main online video platform (OVP).
In 2008, various options presented themselves, including partnerships with the likes of Brightcove, taking investment to re-develop our own OVP or working with an open source variant. After trialling and modelling these approaches, it was decided that the latter (adopting an open source solution) was the most promising for three reasons:
- Culturally – we, and more importantly our clients, needed control of their features from Europe;
- Practically – we have huge value to contribute to the solution from a decade of accumulating knowledge at code, CDN and video levels;
- Temporally(!) – we needed to get to market faster than we could develop from scratch.
StreamUK joined the global Kaltura community of experts (which at November 2011 stands in excess of 20,000) and began to contribute to the codebase of the Kaltura version 1.5 release. As we became more familiar with the project, we became more impressed by it and in early 2009 we recruited a team of four full-time php-Zend developers to build on the framework, planning for a late 2010 release.
During 2010, the team first worked to fully understand the code, initially installing it on a local CentOS-powered environment which allowed:
- The use of PHP with Xdebug.
- A code step through the application to understand the more complex layers and discover settings.
- A application Xdebug profiling in order to design the hardware environment.
The code was found to be genuinely ‘enterprise level’ with excellent scalability and particularly impressive data parsing capabilities.
By June 2010 we were ready to architect the hardware environment:
- The front-end which handles the user videos and allows player customisation;
- The database layer;
- The data-warehousing layer which processes all the statistics (very resource intensive)
- The back-end for partner management,
- The transcoding layer
- The shared storage layer
- The CDN – in this case both Level3 and Akamai were integrated, with Level3 subsequently proving the best option.
- API services layer.
Initially the launch was designed to allow for 10TB of storage and a maximum connection rate of 1,000 users per second. Based on our knowledge of the code and the CDN behind it, these were deemed to be the critical metrics.
From June 2010 until December our team worked on the following improvements:
- Splitting out the codebase so that it could be multi-homed
- Including the Rhozet Carbon Coder transcoding engine to the transcoding series and adding a back-up to the cloud-based Encoding.com
- Incorporating Level3 into the architecture so that stats were properly parsed and reliable
- Adding html5 to the native player code
- Working on the switching logic of the player to reduce the time taken for streams to switch and ensure that live streaming is optimally handled
- Improving the ftp upload facility
- Revamping the entire data wharehousing back-end; and
- Optimising the encoding profiles.
The platform was then ready to be launched as the new StreamUK Media Platform with the tagline, ‘Built on Kaltura and delivered by Level3’. We already had over 100 customers on our old Video Management System ‘VMS’ so the scripted transfer of those was the first task.
During 2011 the Media Platform exceeded expectations as to reliability and performance and this allowed us to beat the financial targets set. The success was capped with the signing of Liverpool Football Club to the platform in the September, a win against direct competition from all of the other leading OVPs.
StreamUK will be hosting Kaltura meetups in the UK, and will continue to contribute to the Kaltura core in upcoming versions.