# Content Protection

ByteArk Player SDK for Flutter supports two tiers of content protection: basic encryption that works out of the box, and full DRM for Premium content.

Because the Flutter SDK wraps the native iOS and Android SDKs, the player automatically selects the appropriate DRM based on the current platform — Widevine on Android, FairPlay on iOS.

# Encryption

Symmetric-key encryption for use cases where you need basic content protection. Supported through the native SDK directly — no license server or additional setup.

System Guide
HLS ClearKey Supported by default — no special setup required

# Digital Rights Management (DRM)

Note

The DRM feature of ByteArk Player is available only to ByteArk Video Cloud for Business customers. Please contact sales@byteark.com if you would like to use this feature.

Full content rights management for Premium content. Uses a separate license server to obtain decryption keys at playback time, with strong security.

DRM Guide
Google Widevine DRM for Android via Widevine CDM
Apple FairPlay DRM for iOS via FairPlay Streaming (FPS)

# DRM configuration

Configure DRM per source using the ByteArkPlayerSource.drm factory. Provide one source for each platform's DRM (Widevine for Android, FairPlay for iOS); the player selects the compatible source at runtime:

final playerItem = ByteArkPlayerItem(
  sources: [
    ByteArkPlayerSource.drm(
      url: "<HLS_URL>",   // .m3u8 for FairPlay (iOS)
      drm: FairPlayDrm(
        licenseUrl: "<FAIRPLAY_LICENSE_URL>",
        certificateUrl: "<FAIRPLAY_CERTIFICATE_URL>",
      ),
    ),
    ByteArkPlayerSource.drm(
      url: "<DASH_URL>",  // .mpd for Widevine (Android)
      drm: WidevineDrm(
        licenseUrl: "<WIDEVINE_LICENSE_URL>",
      ),
    ),
  ],
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Note

For more information or to enable DRM, contact our team at support@byteark.com.