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

HTML5 Application Optimization

This article provides tips on how to optimize the client part of large-scale Web projects (most of the recommendations also apply to small projects, however). Just within a few years, Web sites have made a giant leap, having evolved from simple static pages to complex applications. The website frontends have as dramatically grown in size and logic, and now they demand no less attention in the context of optimization than backends, as the frontends are responsible for interacting with the users. Continue reading

iOS DRM: Secure iOS Video Delivery and Playback

HTTP Live Streaming (HTTP LS) is a protocol strongly recommended and actively promoted by Apple as the best solution for online video delivery to mobile devices. But neither the protocol itself, nor its tools offered by the iOS API, implement a full-fledged DRM support. The new version of Adobe Access 4.0 adds this missing functionality to the iOS-devices. Continue reading

Overviewing Best Practices in iOS Application Development

It is usually said, that the most important driver behind Apple’s mobile devices popularity is its maximum attention to detail. Small, seemingly insignificant details make up product’s appeal for the end user. But to develop a good application, it is not sufficient to give heed to detail at the user interface level. You need to be aware of and comply with the best practices at all stages of development, from design to support. This paper gives an overview of such best practices presented both by Apple and by independent iOS developers. Continue reading