Overview
The Brightcove Native SDKs include Android, iOS and tvOS. They are built on the following frameworks:
- Android - Libraries built on top of AndroidX Media3 ExoPlayer (Media3 1.6.1 in Native SDK 10.4.32) [1]
- iOS/tvOS - Libraries built on top of the Apple AVFoundation framework
This table describes Native SDK for Android 10.4.32 and Native SDK for iOS/tvOS 7.2.25. Older SDK version numbers in individual rows identify when a feature was introduced, not which releases are currently supported. A "Yes" indicates SDK capability, subject to the feature guide's device, format, plugin and account requirements. It does not mean every combination of features is supported. The minimum deployment target in an SDK or third-party dependency is not the same as Brightcove's OS support policy. For current supported OS versions, see the following:
Feature support table
| Category | Feature | Native SDK for Android | Android / 3rd Party Platform | Native SDK for iOS | iOS / 3rd Party Platform | Native SDK for tvOS | tvOS / 3rd Party Platform |
|---|---|---|---|---|---|---|---|
| Advertising | FreeWheel | Yes | FreeWheel Ad Manager 6.28.0 | Yes | FreeWheel Ad Manager 6.52.0 | Yes | FreeWheel Ad Manager 6.52.0 |
| Google IMA | Yes | IMA 3.37.0 | Yes | IMA 3.26.1 | Yes (SDK 6.7.0+) | IMA 4.16.0 | |
| IMA Open Measurement | Yes | Yes | Provided by Google IMA | ||||
| Pulse Video Advertising | Yes (SDK 6.12.0+) | Pulse SDK 2.5.20.3.0 | Yes (SDK 6.7.4+) | Pulse 2.6.21.6.0 | Yes (SDK 6.7.4+) | Pulse 2.6.21.6.0 | |
| Server-Side Ad Insertion (SSAI) [2] | Yes (SDK 5.1.0+) | Yes (SDK 6.0.4+) | VAST 4.1 AdVerification | Yes (SDK 6.0.4+) | VAST 4.1 AdVerification | ||
| Analytics | Omniture | Yes | Adobe Video Library 4.11.0 Video Heartbeat 2.0.0 | Yes | Adobe Marketing Cloud 4.21.2 Video Heartbeat 2.3.0 | ||
| Video Cloud Analytics | Yes | Yes | Yes | ||||
| Captions | WebVTT | Yes | In-manifest or sidecar | Yes | HLS; sidecar support inserts captions into the HLS manifest | Yes | HLS; sidecar support inserts captions into the HLS manifest |
| Sidecar TTML (DFXP) | Yes | No | No | ||||
| 608-over-708 | Yes | Yes | Yes | ||||
| Connected TV | AirPlay | Yes (AirPlay 2) | |||||
| Google Chromecast [3] | Yes (SDK 6.3.0+) | Media3 Cast extension 1.6.1 (sender) | Yes (SDK 6.4.0+) | Google Cast 4.8.3 | |||
| DRM | FairPlay | Yes | Yes | ||||
| Widevine Modular | Yes | ||||||
| Forensic Watermarking | Yes (SDK 6.16.3+) | Yes (SDK 6.9.0+) | Yes (SDK 6.9.0+) | ||||
| Live | IMA Preroll with Live SSAI [2] | Yes (SDK 6.10.0+) | Yes (SDK 6.7.7+) | Yes (SDK 6.7.7+) | |||
| Live/ Live DVR (DRM) | Yes (SDK 6.11.0+) | Yes (SDK 6.5.0+) | Yes (SDK 6.5.0+) | ||||
| Live/ Live DVR (HLS) | Yes | Yes | Yes | ||||
| Live/ Live DVR (HLS) with SSAI [2] | Yes (SDK 6.9.0+) | Yes (SDK 6.5.0+) | Yes (SDK 6.5.0+) | ||||
| NextGen Live SSAI | Yes (SDK 10.4.11+) | Use 10.4.22+ for Open Measurement; see the feature guide for later improvements. | Yes (SDK 7.2.18+) | Requires EXT-X-PROGRAM-DATE-TIME for the ad timeline. | Yes (SDK 7.2.18+) | Requires EXT-X-PROGRAM-DATE-TIME for the ad timeline. | |
| Other | 360 Playback | Yes | Yes | ||||
| Multiple Audio Tracks | Yes | Yes | Yes | ||||
| Offline Playback | Yes (SDK 5.0.3+) | See offline playback requirements | Yes (SDK 6.0.1+) | See offline playback requirements | |||
| Picture-in-Picture | Yes (SDK 6.1.0+) | Android 8.0+ | Yes, on devices that support AVKit Picture-in-Picture. See device and plugin requirements. | ||||
| Video Formats | DASH | Yes | |||||
| DASH-CENC (DRM) | Yes | ||||||
| Encrypted HLS | Yes | Yes | Yes | ||||
| HEVC | Yes (SDK 6.13.1+) | Yes (SDK 6.7.4+) | Yes (SDK 6.7.4+) | ||||
| HLS v3 | Yes | Yes | Yes | ||||
| HLS v4 | Yes [2] | Yes | Yes | ||||
| HLS v5 | Yes [2] | Yes | Yes | ||||
| HLS with FairPlay | Yes | Yes | |||||
| MP4 | Yes | Yes | Yes |
Notes:
- [1] ExoPlayer 1 and the legacy MediaPlayer playback integration are no longer supported. SDK 10.0.0 migrated the ExoPlayer integration to AndroidX Media3 (Media3 1.6.1 in SDK 10.4.32). See the Native SDK for Android overview and its release notes.
- [2] Requires Dynamic Delivery
- [3] Limitations for Chromecast with Native SDK for Android