Skip to content

What is OGPlayer?

OGPlayer is a video SDK for anyone who ships video — from a side project to a broadcast streaming service. It gives you a production player — playback, live & DVR, multi-DRM, ads, subtitles, casting, content ratings, watermarks and a fully themeable control chrome — as native code on every platform:

PlatformMinimumEngineUIDistribution
AndroidAndroid 8.0 (API 26); Android TV, Google TV, Fire TVMedia3 / ExoPlayerCompose-only OGPlayerView, remote-control chrome on TVMaven AARs
iOSiOS 18; Apple TV (tvOS 18)AVFoundationSwiftUI-only OGPlayerView, Siri Remote chrome on TVSwift Package Manager
Webevergreen browsers, Safari 16+; Samsung Tizen 5.5+ and LG webOS 5+ via ogplayer/tvhls.js + native HLS, dash.js for DASH<og-player> custom element, remote-control chrome on TVnpm / script tag
React NativeRN 0.80+ (New Architecture)the native Android/iOS SDKs<OGPlayerView> Fabric componentnpm
FlutterFlutter 3.29+ (Dart 3.7+)the native Android/iOS SDKsOGPlayerView widgetpub.dev

React Native and Flutter apps get the real native players: ogplayer-react-native and ogplayer_flutter are thin typed wrappers over the same Android AARs and iOS frameworks — rendering, playback, DRM and ads never leave native code.

The API is mirrored, not merely similar. OGPlayer, OGMediaItem, PlaybackListener, AnalyticsEvent, AdListener, OGUiConfig and the error-code table exist with the same names and semantics on every platform. The parity matrix tracks this feature-by-feature.

In practice that means:

  • your Android integration is a working specification for your iOS and web builds;
  • analytics pipelines receive identically-shaped events from every client;
  • one error-handling table (and one set of custom error messages) covers everything.
  • Playback — HLS and MPEG-DASH (DASH on Android and the web), VOD, live, live-DVR with edge-aware controls, low-latency HLS, playback speed, quality selection, trick-play thumbnails, picture-in-picture.
  • Multi-DRM — Widevine, PlayReady and FairPlay behind one config, with rotating-token providers and silent license renewal.
  • Ads — Google IMA and FreeWheel behind one provider SPI, with SDK-drawn ad chrome (progress bar, AD chip, countdown, cue markers).
  • Tracks — embedded and sideloaded subtitles, multi-language audio, caption styling and viewer text sizing.
  • Chrome — every control individually toggleable down to fully headless, replaceable icons, color/dimension tokens, up to 8 custom action icons, every word and screen-reader label localisable from one strings map, and a label on every control for TalkBack, VoiceOver and web screen readers.
  • Overlays — watermarks and any content in nine anchored slots, automatically kept clear of controls and hidden during ads.
  • Content ratings — Kijkwijzer-style age and descriptor icons at program start, with pluggable artwork.