Video Platform Development in DENIVIP Media

developers of video apps

DENIVIP Media has been creating video platforms since 2008 (usually in conjunction with services, portals and applications). Over the 4 years of developing ad-hoc video platforms for different projects, we have accumulated a decent expertise and information on many hindrances that are almost inevitable in video projects. In this post, I would like to brief you on how we design video platforms and what drivers have to be taken into account when creating a new or upgrading an old video platform. Also, I would like to note major forthcoming trends in the development of video platforms foreeable for the near future. Continue reading

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


BBC-Olympics-2012

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

HTTP Live Streaming Cookbook Updated!

ios-video-hls

Creating technically seamless applications has always been a pretty tough task in terms of time and complexity. Moreover, helpful data is scattered across multiple sources. This also applies to iOS video applications development. In this post, we have aggregated the most vital and helpful information on efficient use of all the features of HTTP Live Streaming, with detailed data source list. These materials are prerequisite to anyone who intends to ensure high quality of viewing experience. Continue reading

Flash Player 11.4 and AIR 3.4 Now Released!

Recently, Adobe announced its new releases of the Flash Player and AIR products, offering a number of new fascinating features:

  • More video cards supported by Stage3D
  • Concurrency (ActionScript Workers)
  • Support of iOS Push Notifications in AIR
  • Direct publishing of AIR apps to iOS
  • Support for iOS 5.1 SDK
  • Carbon APIs no longer supported by AIR
  • Compressed textures with an ATF alpha channel
  • Ambient AudioPlaybackMode
  • StageVideo.attachCamera
  • Camera.copyToByteArray/Camera.copyToVector
  • LZMA support for ByteArray

Below you can find out some details of the new features. Continue reading

Video Statistics Service

video-analytics

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

iOS Player with VAST Video Ad Support

apple-advertising

Ads based monetization has been widely adopted by the developers of free-of-charge iOS applications. To support banner ads in such applications, Apple offers a ready solution. However if your application is built around a video player, you may prefer inline ads shown in video pauses. As far as we know, no widely used free solution yet exists for this. In this post, we’ll tell you how you can easily add video ads to your app. For this purpose, you’ll have to add our free iOS VAST Player library to the OpenX ad server. Continue reading

JavaScript Tests and Their Automation

Test case efficiency is vital for large scale projects, when parts of applications vary in their behavior. Perhaps the most common case is when a large group of developers is working on the same or interfacing modules. This often results in unexpected changes in behavior of functions written by other programmers. Also, firefighting sometimes may result in inadvertent changes to critical parts of the application. Continue reading

HTTP Streaming: Load Balancing

balancing-http-streaming

In most cases, modern video content delivery systems are based on HTTP Streaming. This technology delivers video in a series of fragments (chunks), several seconds each. The most popular video delivery formats are Apple HTTP Live Streaming and Adobe HTTP Dynamic Streaming. In the near future, MPEG DASH will also probably become popular. The benefits offered by this type of delivery consist in a more stable video platform operation over a heterogeneous public network (Internet) and use of existing mechanisms of traditional CDN networks (HTTP chunk caching). But often traditional media is not sufficient, and large-scale online video services usually require a more flexible management of video content delivery. In our projects, we use our Video Load Balancer. In this post, we are going to outline the basics of its operation that might be helpful to your projects regardless of the load balancing technology you use. Continue reading