Live Streaming on iOS

In our work, we often need to implement video streaming from iOS devices in real-time or near real-time. A common example is the use of iOS devices as surveillance cameras or creation of streaming applications like Periscope. Problem statement often imposes additional requirements like enabling of stream playback on another device or running the app smoothly in the browser or VLC player, low latency (video streaming in near real-time), low resource consumption (long battery life), no need in a dedicated media server, etc.

Continue reading

How to Optimize Waveform Rendering in iOS

In the article we are going to share our experience of finding the optimal way to visualize a waveform in an iOS app, choosing between CAShapeLayer and drawRect(), and certain nuances of using Swift. The publication is targeted at those who create complex custom UI components for sound processing, but also any iOS developers wishing to broaden their horizons. Continue reading

AirPlay and HDMI

If you develop gaming or multimedia applications for iOS, then AirPlay is absolutely a must for you, almost a standard. Indeed, what could be better for a user than watching favorite videos or photos on a big screen of a plasma TV or playing advanced games using iPhone/iPad/iPod as a multi-touch joystick? AirPlay has been designed specifically for this purpose. Continue reading

HTML5 <video> Analytics

If you offer online video services, no doubt you have not once thought of video views analytics. In a Flash-based OSMF framework, there is GTrackPlugin to collect statistics on content viewing. Also, you can also use our OSMF Video Analytics.

However, if your service HTML5 based, you need a purpose designed viewing analytics. To build such a plugin, HTML5 Media API should be used. For more on this API, read this post on HTML5 player implementation. Continue reading

OSMF Plugin to Save Video Playback Position

In a previous post we wrote about the options to save video playback breakpoint. To our mind, the most efficient technology is sockets-based. In this article, we’ll show it to you in more detail. You’ll know how to create and run a plug-in for the existing OSMF player in order to send the current position to the server. You can download the plug-in with its source code and examples from our website labs.denivip.ru. Continue reading

Flash Media Server: URLs tokenization

This post continues a series of in-depth overviews on the development of Flash Media Server C + + plugins implementing a custom logic to handle user content delivery requests. Here we will discuss the RTMP URL based content tokenization. It uses an authorization plugin enabling content delivery with dynamically rather than statically generated links. This authorization plugin is often requested by video content copyright holders. Continue reading

Web-Based Video Publishing

As the popularity of multimedia content is growing explosively, the companies are more inclined to put such content at their Web resources. This article will brief you on the main approaches to multimedia publishing and provide details on how to configure your own video content delivery infrastructure. Most probably, you have already found yourself in a situation when you needed to publish conference materials or a managerial speech addressed to your employees or customers, on your site. Continue reading

HTTP Dynamic Streaming: Configuring Web Server Cluster

Video content is now ubiquitous on the Web, but sometimes user experience leaves much to be desired. We have already discussed here enabling high performance configurations to deliver video content based on Adobe Flash Media Server. Still, sometimes HTTP delivery is more efficient. In this article, we would like to give you an overview of how to build a high performance video delivery system based on NGINX and Apache Web servers. Continue reading