Cross-platform video playback and DRM done right on every device

One license server, the correct player and manifest on each platform.

Native video playback with FairPlay, Widevine and PlayReady, wired to your license server so streams start fast and play clean on real devices. Day rate: €500.

Repair order

Nº ····

Drop-off

Your day, 9:00

Ready

19:00

You collect

The fix running on your phone, and the change in your source code.

Keep this stub

Nº ····

Day one

€500 excl. tax

Book day one

Remote day rate

€500excl. tax

I have shipped HLS and FairPlay streaming with AVPlayer and Media3/ExoPlayer for live TV and VOD since the first public iPhone SDK in 2008.

You collect

  • Native AVPlayer integration on iOS/tvOS with FairPlay key delivery wired to your license server
  • Native Media3/ExoPlayer integration on Android with Widevine and DASH manifest selection
  • Per-device manifest and DRM logic so each client gets HLS+FairPlay or DASH+Widevine/PlayReady
  • Audio and subtitle track handling, fast start, and clean seeking verified on physical devices

Repair order

  • Why one DRM never covers everything

    FairPlay protects Apple platforms, Widevine covers Android and Chrome, and PlayReady is what Windows and many smart TVs expect. There is no single key system that satisfies all of them, so most catalogs end up packaged twice: HLS with FairPlay for Apple, and DASH with Widevine or PlayReady for everyone else. I set up the per-device decision so the right manifest and the right key system are requested automatically, without forking your backend into a mess.

  • A real player per platform, not a wrapper

    Apple wants AVPlayer driving an HLS stream, and Android wants Media3/ExoPlayer driving DASH. These players have different APIs for track selection, buffering, and DRM session handling. I build the native player on each platform and wire it directly to your license server and key delivery flow, so playback behaves the way the OS expects rather than fighting an abstraction layer.

  • License servers and key delivery

    DRM only works when the player, the license server, and the packaging agree on key IDs, content IDs, and request format. I handle the FairPlay SPC/CKC exchange on Apple and the Widevine license request on Android, including how those calls carry your authentication token. If you already run a license service such as a third-party multi-DRM provider, I integrate against it rather than replacing it.

  • Tracks, fast start, and seeking on real hardware

    Multiple audio languages and subtitle formats (WebVTT, CEA-608/708, IMSC) break in different ways across players, and simulator behavior rarely matches a real Apple TV or a mid-range Android phone. I test on physical devices to confirm that startup time is low, that seeking does not stall or desync audio, and that track switching is reliable. Tradeoffs in segment length and buffer tuning are explained, not hidden.

Frequently asked questions

Your next ticket

The next free day is on the calendar. Start with a free call if you want to talk it through first.

Book a free 20-min call

Keep this stub

Nº ····

Day one

€500 excl. tax

Book day one

Or leave a note at the counter

Describe your project. I answer right away in the chat when I am available, within 24 hours otherwise.