OGPlayer

The video player SDK

Native SDKs.
One API.

Native playback on every platform behind a single, mirrored API — live & DVR, multi-DRM, server- and client-side ads, subtitles, casting, content ratings and a fully themeable player UI.

Free to evaluate — the full SDK, every feature, no sign-up, no time limit. The player shows a small OGPlayer watermark until a license key removes it.

Android 8.0+ · Jetpack Compose iOS 18+ · SwiftUI Web · <og-player> React Native · Fabric Flutter · coming soon

The actual player chrome — identical on every platform.

Every feature, every platform

Distilled from the cross-platform parity matrix — dig into any of them in the guides.

Don't take our word for it

The full demo runs in your browser — real streams, real DRM, real ads, no signup. Better yet: paste your own stream URL and watch it play in our player.

Write it once. Ship it everywhere.

The same class names, the same listeners, the same error codes — an integration ports between platforms almost mechanically.

val player = OGPlayer.Builder(context)
    .setLicenseKey("OGP1…")
    .build()

player.load(
    OGMediaItem.Builder("https://…/master.m3u8")
        .setTitle("Tears of Steel")
        .build(),
)

Native, modern on every platform

No XML layouts, no UIKit wrappers, no jQuery-era widgets — the player UI is built exclusively on each platform's modern toolkit.

Android

Media3/ExoPlayer engine with a Compose-only player UI — drop OGPlayerView straight into your Compose tree. Published AAR artifacts.

Demo app on GitHub →
iOS

AVFoundation engine with a SwiftUI-only player view — OGPlayerView is a native SwiftUI citizen. Swift Package Manager.

Demo app on GitHub →
Web

hls.js with native-HLS fallback, a framework-agnostic <og-player> element — npm package or a single script tag.

Demo app on GitHub →
React Native

The same native players behind a typed Fabric component — <OGPlayerView> from npm wraps the Android and iOS SDKs, so playback, DRM and ads never leave native code. Flutter is coming soon.

Demo app on GitHub →