All video services are similar in two key aspects. Even with a relatively small number of concurrent viewers the load may become an essential issue. Also, the users may opt to abandon the service in case of faulty video delivery. The issues with video delivery are often relating to high load and suboptimal use of resources. To address such challenges in our projects, we used a special video load balancer module. In this post, we are going to provide you with details relating to the balancer and building of efficient video platform by optimal load distribution. Continue reading
Category Archives: Highload
How to develop highload services on Node.js
In this post, we are going to focus on developing based on a relatively new technology, Node.js. It is rapidly gaining in popularity, and not unreasonably. Node.js allows you to implement faster Web services capable to hold extreme load, which is critical to video service projects. For example, in Node.js you can easily build real-time statistics collectors , large-scale chats, etc. Of course, services written in C++ have a higher performance margin, but are too costly to implement. On the contrary, Node.js allows you to quickly create complex systems. In this post, we will use Node.js to build a simple application that can hold very high load. Continue reading
Case Study: BBC Olympics
The BBC Olympics sports broadcast service is one of the largest media events of 2012. It has brought the video service industry to a totally new level, earning for the 2012 Olympics the popularity of "truly digital games". In this context, it is critical to acknowledge the importance of expertise gained and leverage it in further growth. In this post, we are going to dwell into the project, its implementation, and valuable experience that you can apply to your own projects. Continue reading
Video Statistics Service
It is in no way a secret that video statistics and analytics are crucial to any video portal. One of the main rationales behind video statistics is to enable settlements with copyright holders. However it covers a number of other crucial tasks, including:
- Limit the number of parallel viewers using the same account (obviously, you do not wish all friends and relatives of one lucky customer view content under a single account? Well, let them watch it, but at least sequentially rather than in parallel ).
- Prevent viewing of any video to users that have got a subscription by mistake or due to some manipulation,
- Evaluate the quality and popularity of video
- Return to the point where watching was interrupted last time (on any device)
- And, last but not least, enhance the user experience.
Of course, we should keep in mind that, every video portal has specific tasks that absolutely cannot do without the viewing statistics. In this post, we are going to discuss specifics of such a service. Continue reading
Flash Media Server 4.5.2: Reliable Streaming
Some time ago, Adobe announced a minor update to its Flash Media Server, version 4.5.2. In the new release, HTTP streaming failover has been supported. Such features are vital to large-scale and mission-critical services, especially those offering live content. Some relevant details are outlined below. Continue reading
Video Project Scaling
Launching of large-scale online video portals requires a great deal of precision and accuracy at the design stage. In addition to complex infrastructure of a Web platform (the portal itself), we have to deal with a no less complex infrastructure video platform (as content delivery is only part of the platform). In this post, we will discuss some of the important principles of online video service design that we have learned over the five years of working on similar projects. Continue reading
HTTP Dynamic Streaming: building a cluster
In our previous articles, we have examined in detail the mechanisms of caching HTTP Dynamic Streaming content using NGINX Web server. However with large-scale projects, such approach alone is often insufficient. In this article, we will discuss building the high-performance HTTP Dynamic Streaming Content Delivery Systems. Continue reading
Creating a High Load Ads Delivery System Based on OpenX
OpenX is an open ad server to manage Web based campaigns and deliver ads to consumers. Currently, this is actually the only available open source ad solution you can install on your server and adapt to your needs. We have already presented to you a review and a small demonstration of this product earlier, see Ads delivery on Openx.
In this article, we have tried to bring together all available online information on how to gain the maximum OpenX ad server performance. Continue reading