Overview: Brightcove Player SDK for iOS

Product(s)
Brightcove Player
Video Cloud
Role(s)
Device SDK Developer
Task(s)
Develop with the Native SDKs
SDK
Overview
iOS

Welcome to the Player SDK for iOS developer documentation. Here you will find the information to create native apps for playing video content on iOS devices.

Documentation structure

At Brightcove, we strive to keep the documentation structured, clean and intuitive. As such, we leverage github READMEs for details on all our plugins and integrations. For your convenience, we've listed and linked to these plugins below.

Supported versions

In order to take advantage of the latest technology improvements from Apple, we currently offer support for the following:

Active support

Brightcove provides active support for the latest iOS SDK on the following iOS versions:

  • iOS 10
  • iOS 9

Passive support

Brightcove provides passive support for the following iOS versions:

  • iOS 8

Understanding support levels

There are two levels of support:

  • Active: Brightcove will test and fix bugs on these OS versions.
  • Passive: Brightcove will test on these OS versions, but bug fixes will be handled on a case by case basis.

Generally, Brightcove provides active support for the versions of the OS that are used by 80% of the user base, and passive support for other versions used by at least 5% of the user base.

Getting started

Before beginning development with the Player SDK for iOS there are a few concepts you should learn about:

  1. Media

    The current version of the Native Player SDK supports playing content from your Video Cloud account through the Playback API, or as remote assets with internet accessible URLs.

  2. Analytics

    With the Native Player SDK, Video Cloud customers automatically get robust analytics data reported in Video Cloud.

  3. CocoaPods

    The Brightcove Player SDK for iOS and its plugins can be added to your project using the CocoaPods dependency manager. Use the latest Brightcove-Player-SDK podspecs.

  4. Player SDK for iOS installation, quick start and architecture

    To aid in your understanding of the SDK, you can find a detailed breakdown of the architecture in the Player SDK for iOS. Learn how critical components interact to handle the complexities of controlling the native video player.

    Here, you'll also find the latest beta version of the SDK, if one exists.

  5. Player SDK for iOS overview

    For a quick overview, learn how the Brightcove Player SDK components interact with the native iOS components.

  6. SDKs developer forum

    Join us in the SDK developer forums where SDK related questions are answered by the community and Brightcove engineers. Currently a private group, you'll have to request access, providing details about the project you're working on to gain entry.

  7. Video-on-Demand training

    View a series of training videos that walk you through the steps of building a Swift app in Xcode that plays a video from your Video Cloud library.

Download the SDK

The Brightcove Player SDK for iOS contains two installation packages:

  • A dynamic framework which supports the following:
    • iOS 8 and higher
    • tvOS 9.0 and higher

Get the latest version of the Brightcove Native SDK for iOS:

  Package
(Github Repo)
Podspec Reference Documentation Notes Samples
SDK Native SDK for iOS v6.0.2 BrightcoveSpecs SDK Reference Release Notes Sample Applications

or select this button:


 

To view the product updates for all of the Native SDKs and the associated plugins, see the Release Notes for the Brightcove Native SDKs document.

Integrations

The following table contains links to get plugins integrated with your SDK implementation. The plugins can be downloaded from their respective Github Repos, and each repo contains a detailed README with instructions on how to setup the plugin.

The sample applications demonstrate the basic functionality of each plugin integrated with the SDK. These sample apps are a good way to learn about each plugin, and serve as a reference point when debugging.

Previous integation versions

Category Brightcove Plugin
(Github Repo)
Podspec Reference Documentation Sample Apps Supported Partner/Vendor Plugin
Advertising IMA plugin v6.0.2 [1] [2] Brightcove-Player-SDK-IMA IMA Reference Google IMA Samples Google IMA v3.5.2
FreeWheel plugin v6.0.2 Brightcove-Player-SDK-FW FreeWheel Reference FreeWheel Samples FreeWheel Ad Manager v6.15.0
Once UX plugin v6.0.2 Brightcove-Player-SDK-OUX Once UX Reference Once UX Sample None
Analytics Omniture plugin v6.0.2 Brightcove-Player-SDK-Omniture Omniture Reference Omniture Samples Adobe Video Heartbeat v2.0.0

Adobe Marketing Cloud v4.11.1
Captions Sidecar Subtitles plugin v2.1.6 (integrated into core SDK) [3] [4] Brightcove-Player-SDK-SidecarSubtitles Sidecar Subtitles Reference Sidecar Subtitles Sample None
Controls Player UI (integrated into core SDK) [7] Brightcove-Player-SDK-Player-UI Player UI Reference Player UI Sample None
DRM FairPlay plugin v1.1.3 (integrated into core SDK) [5] Brightcove-Player-SDK-Fairplay FairPlay Reference FairPlay Samples None
Widevine v2.1.4 (deprecated) [6] Brightcove-Player-SDK-Widevine Widevine Reference   Widevine v6.0.0.12790

The Widevine, Omniture, and FreeWheel Plugin podspecs are hosted at the BCOVSpecs repository ( https://github.com/brightcove/BCOVSpecs). In order to install these via CocoaPods, you must be manually add them to your local CocoaPods podspec repositories using this command:

pod repo add BCOVSpecs git@github.com:brightcove/BCOVSpecs.git

Advertising

Here is additional information you may find helpful when working with the Advertising plugins.

IMA plugin

The placement of VAST ads is typically specified by a VMAP document. VAST describes an ad while VMAP describes the placement of ads in a video. For code details, see the BasicIMAPlayer iOS sample.

When working with IMA ads, it is best practice to check that your ads work outside of the SDK before implementing them. The following links will be helpful for this:

Samples

The following table contains links to code samples that are in addition to the samples associated with the integrations in the previous section.

For a complete list of code samples, see the collection of samples for the Brightcove Player SDK for iOS.

Sample Application Description
Basic Sample Plays videos from a Video Cloud playlist.
Player UI Customization Shows several layouts for custom controls.
DVR Live [1] Runs an HLS live stream.
Native Controls Uses the iOS native player controls.
360° Video Plays a 360° video, as long as the projection property is set. When the Video 360 button in the control bar is tapped, the video is displayed in VR Goggles mode with side-by-side images. For details, see the Using 360-Degree Videos with the Mobile SDKs document.

Solution guides

The following table contains links to developer docs which will help you get started with your own app using the Brightcove Player SDK, and guide you through some of the features and functionality available.

Guide Description
Brightcove Player SDK for iOS Setup Learn the basics of working with the Brightcove Player SDK for iOS by walking you through the development of a simple video playback app using content from your own backend system.

Video Cloud customers will additionally retrieve and play a video from the Brightcove Catalog service.
Source Selection Learn about the default rendition selection process when playing a video.
Resizing the View Learn how to resize the video view to implement a full-screen button.
Using Brightcove Analytics Video Cloud customers will learn how to set properties in Brightcove Analytics from your mobile app using the Brightcove SDK for iOS.
Using WebVTT Captions Learn how to configure WebVTT captions for HLS videos when using the Native SDK for iOS.

Offline Playback with DRM

This feature allows you to create apps for iOS mobile devices to download content to be played back offline. Your content remains secure with DRM.

For details, see the Offline Playback with DRM for the Player SDK for iOS document.