Export (0) Print
Expand All

Developing Video Player Applications

Updated: July 8, 2014

Azure Media Services supports many popular streaming formats, such as Smooth Streaming, HTTP Live Streaming, and MPEG-Dash. Microsoft also provides many different SDKs and Player Frameworks that allow you to create client applications that can consume streaming media from Media Services.Building Client Applications

  • Web Browser

  • iOS Devices

  • Android Devices

  • Windows Applications

  • Windows Phone

  • XBox

  • Other Devices

Azure Media Services Client Model

SDKs contain libraries and APIs that allow you to create client applications. Player Frameworks are built on top of the SDKs and contain user controls for common applications scenarios and out-of-the-box sample player applications and documentation. Both SDKs and Player Frameworks are available for multiple platforms.

Web Browser Support

Most browsers only support progressive download with the HTML5 video element. Safari on iOS and Macintosh OS support HTTP Live Streaming (HLS). To enable you to support browser-based streaming support Microsoft provides the following:

  • Smooth Streaming Client SDK

  • Microsoft Media Platform: Player Framework

  • HTML5 Player Framework

  • OSMF Smooth Streaming Plugin for Flash

MPEG-DASH Browser Support

To create video players that consume MPEG-DASH, you can use dash.js, an open source MPEG-DASH video player written in JavaScript. Its goal is to provide a robust, cross-platform player that can be freely reused in applications that require video playback. It provides MPEG-DASH playback in any browser that supports the W3C Media Source Extensions (MSE), today that is Chrome and IE11 (other browsers have indicated their intent to support MSE). For more information on dash.js see the GitHub dash.js repository. For an example of how to use node.js in an HTML 5 application. See []

Smooth Streaming Client SDK

The Smooth Streaming Client SDK provides an easy-to-use interface for developers and designers to create rich Smooth Streaming experiences using the Microsoft Silverlight platform. The SDK is composed of .NET Framework-based APIs that provide support for simple operations such as play, pause, and stop and also for more complex operations such as scheduling advertisements, selecting and tracking bitrates for Smooth Streaming playback, and many more. Examples of available client-side features include simple controls such as Play, Pause, and Stop, as well as more complex functionality such as full DVR, Instant Replay, Live Ad Insertion, Multiple Camera Angles, and Seek (Fast Forward/Rewind) capabilities.

Microsoft Media Platform: Player Framework

Smooth Streaming Client SDK for Windows Phone 8.1 enables developers to build Windows Phone 8.1 store applications that consume On-demand and Live Smooth Streaming content with PlayReady protection.

The Smooth Streaming Client SDK is a core component of the broader open source Microsoft Media Platform: Player Framework (MMPPF). For most scenarios, the MMPPF is the simplest, most robust way to build a new Silverlight player that supports the full set of Smooth Streaming functions. The Smooth Streaming Client SDK can be ideal for some scenarios, however, such as adding rich Smooth Streaming features to a Silverlight media player based on a different framework, or where unique scenarios can't otherwise be addressed.

To get started quickly, a Smooth Streaming Sample Player is included with each release of the MMPPF. (See the MMPPF Project on Codeplex.) This contains a pre-built player that supports Smooth Streaming. To play your content simply edit a configuration file - no need to compile. Quick-start documentation about how to build your own player for multiple endpoints, including Windows Phone, is available on the MMPPF Documentation page. For more Windows Phone development information, see the Windows Phone Dev Center.

HTML5 Player Framework

The HTML5 Player Framework is intended for use in browser-based applications. The framework has been tested in the latest versions of both desktop and mobile browsers that support the HTML5 video tag. It should be noted that the W3C does not currently have a standard for adaptive bitrate streaming so most browsers only support simple progressive download playback at this time. Microsoft, along with ninety other technology and media companies, is driving a standard called MPEG DASH that promises to become the industry-wide standard for adaptive streaming in the future. We expect MPEG DASH to be supported in browsers, devices, and various application platforms. Once it has been implemented we will update the HTML5 player framework to support this standard. For more information, see HTML5 Player Framework on CodePlex.

Smooth Streaming OSMF Plug-in for Flash

The Smooth Streaming plugin for Open Source Media Framework 2.0(OSMF) enables you to build applications in OSMF or Strobe Media Playback (SMP) that consume Smooth Streaming content. Developers can easily add Smooth Streaming playback capabilities to existing OSMF-based players as well as dynamically load the plugin for use with Strobe Media Playback and enable their existing or new applications to consume Smooth Streaming with very little to no code changes. For more information, see The Smooth Streaming OSMF plug-in for Flash.

iOS Devices

Microsoft provides two frameworks for delivery of adaptive streaming content to iOS devices: iOS Azure Media Player Framework and iOS SDK for Smooth Streaming with PlayReady.

iOS Media Player Framework

The Azure Media Services iOS Media Player Framework library makes it easy for iPod, iPhone, and iPad developers to create rich, dynamic client applications that create and mix video and audio streams together on the fly. For example, applications that display sports content can easily insert advertisements wherever they choose and control how often those advertisements appear even when the main content is rewound. Educational applications can use the same functionality, for example, to create content in which the main lectures have asides, or sidebars, before returning to the main content. The SDK contains a sample player application that demonstrates how to build an iOS application that uses most of these features to create a content stream on the fly as well as enable the user to trigger an insert dynamically by pushing a button. For more information, see iOS Media Player Framework on GitHub.

iOS SDK for Smooth Streaming with PlayReady

The iOS SDK for Smooth Streaming is a library the enables iOS developers to build premium Smooth Streaming client applications for the iPad and iPhone platforms. It enables you to develop player applications that can playback Smooth Streaming content protected with PlayReady DRM. It includes support for multiple audio languages, stream and track selection. The iOS SDK also allows you to create applications that consume Apple HLS content. To use this SDK you must purchase a license. For more information email sspkinfo@microsoft.com.

Android Devices

You can develop player applications for Android devices using the OSMF Plug-in for Flash, or the Microsoft Smooth Streaming Client Porting Kit (SSPK) described in the next section.

Windows Applications

For writing client player applications on Windows there are two choices: Smooth Streaming Client SDK and Microsoft Media Platform: Player Framework for Windows 8 Applications.

Smooth Streaming Client SDK

The Smooth Streaming Client SDK for Windows 8 enables development of Smooth Streaming Windows Store applications. You can use the Microsoft Media Platform Player Framework and Smooth Streaming Client SDK to build rich media experiences on Windows 8 using the same back-end infrastructure you use for Smooth Streaming applications for the browser, set-top boxes, Windows Phone, and other mobile devices. For more information, see Smooth Streaming Client SDK. For an example of how to build a Smooth Streaming Windows Store Application, see How to Build a Smooth Streaming Windows Store Application.

Microsoft Media Platform: Player Framework for Windows 8 Applications

The Player Framework for Windows Store Applications is built on the Smooth Streaming Client SDK, This framework allows you to add advanced video playback features to your Windows Store applications using either the HTML/JavaScript or XAML/C# app models. The player framework supports many advanced features including:

  • Adaptive streaming and advanced playback heuristics

  • Closed captioning support via SMPTE-TT and TTML

  • Advanced DVR-style playback

  • Robust skinning and styling

For more information, see Player Framework for Windows 8 on CodePlex.

Windows Phone Applications

For writing Windows Phone Client applications Microsoft provides the following:

  • Smooth Streaming Client SDK for Windows Phone

  • Microsoft Media Platform: Player Framework for Windows Phone

Smooth Streaming Client SDK for Windows Phone

The Smooth Streaming Client SDK for Windows Phone enables development of Smooth Streaming Windows Phone applications. For more information, see Smooth Streaming Client SDK. Quick-start documentation about how to build your own player for multiple endpoints, including Windows Phone, is available on the MMPPF Documentation page. For more Windows Phone development information, see the Windows Phone Dev Center.

Microsoft Media Platform: Player Framework for Windows Phone

The Player Framework for Windows Phone is based on the Microsoft Media Platform: Player Framework for Windows 8 Applications but designed exclusively for Windows Phone 8 applications. It includes support for advertising, localization, and player skinning. This SDK is not backward-compatible with Windows Phone 7. You can download MMP Player Framework 2.7 on CodePlex if you need to target Windows Phone 7 devices. You can download the Player Framework for Windows Phone 8 on Codeplex.

XBox Applications

For developing XBox applications Microsoft offers an Application Development Kit (ADK) that includes an XBox SDK and framework. These enable you to write XBox client applications that can consume Smooth Streaming content with PlayReady DRM. Additionally you can monetize your applications with built-in ad support and rich analytics. To download the ADK you must join the XBox Registered Developers Program. For more information about developing XBox applications, see XBox Developers Program.

Other Devices

To develop player applications for other devices, you must purchase a license for the Smooth Streaming Client Porting Kit. Microsoft Smooth Streaming Client Porting Kit (SSPK) is a Smooth Streaming client implementation optimized to help embedded device manufacturers, cable and mobile operators, content service providers, handset manufacturers, independent software vendors (ISVs), and solution providers create products and services for streaming adaptive streaming content in Smooth Streaming format. SSPK is a device and platform independent implementation of Smooth Streaming client that can be ported by the licensee to any device and platform. For more information, see Licensing Microsoft Smooth Streaming Client Porting Kit.


Build Date:

2014-09-09

Community Additions

ADD
Show:
© 2014 Microsoft