Surfmeter Player SDK

In-app video quality measurement for any player, any platform.

Add real-time video quality monitoring to your existing player integration. The Player SDK collects playback telemetry — loading delay, stalling, bitrate, resolution — and computes ITU-T P.1203 MOS scores in the background, with zero impact on the viewing experience.

Product Overview

Quality measurement inside your app

The Surfmeter Player SDK integrates directly with your video player — on Android, iOS, or web. It observes playback events passively, collecting quality-relevant metrics without intercepting the video stream or affecting performance. Data is transmitted in the background and available instantly on the Surfmeter analytics platform.

Streaming Media European Innovation Awards 2026

Award-winning solution

Recognized with the 2026 Streaming Media European Innovation Award

The Player SDK builds on the same award-winning Surfmeter platform — bringing proven QoS/QoE expertise directly into your apps for trusted viewer-experience measurement.

Key Features

What it does

Multi-Platform Support

Available as an Android AAR, iOS XCFramework, and npm package for web. One consistent measurement approach across all platforms.

Multi-Player Support

Works with ExoPlayer, AVPlayer, Video.js, THEOplayer, Shaka Player, Brightcove, HTML5 Video, and Chromecast receivers.

Background Telemetry

Collects playback metrics passively in the background. No stalling overhead, no UI changes, no impact on the viewer experience.

ITU-T P.1203 MOS

Computes standardized Mean Opinion Scores for every viewing session, predicting how users would rate the quality they experienced.

Audience chart of the Viewer Experience report showing sessions over seven days, stacked by live, feature, and trailer content
Audience

See who is watching

Every session the Player SDK reports appears in the Viewer Experience report in the Surfmeter Dashboard. The Audience chart shows sessions or unique viewers over time, split by content type, device, or network.

Explore the Surfmeter Dashboard
Experience over time chart showing P.1203 MOS over seven days, with one line each for Android, Windows, iOS, Tizen, macOS, and webOS
Experience over time

Follow any KPI by device, network, or CDN

Pick a KPI such as P.1203 MOS, stalling ratio, or initial loading delay and split it by operating system, app version, ISP, CDN, or stream. The chart shows who is affected and when the problem started.

Breakdown table listing sessions, P.1203 MOS, and stalling ratio per operating system, from Android to tvOS
Breakdown

Compare your audience segments

The Breakdown table compares up to 25 segments per dimension with the most sessions. Each row shows its share of sessions and color-graded KPIs, and one click opens the sessions behind it.

Proven in Practice

Multi-platform QoE monitoring for in-house IPTV service

Measurement points

Measure inside your video player

The Player SDK measures viewing sessions in your web player and in your apps on phones, TVs, and streaming boxes. It sends every result to the dashboard.

Measure inside your video player Network diagram from the internet on the left to end devices on the right, with the Surfmeter Dashboard below. Select a zone or a tile to see what is measured there. Internet Peering Core PoP Access Home Devices CDNs Streaming Web & cloud IXP Transit Region A Region B Data center PoP OLT Fiber DSL Cable Mobile Router Web player TV Streaming box Mobile app Surfmeter Dashboard

Scroll sideways to see the whole network.

How It Works

From integration to insights in 4 steps

The SDK is designed for minimal integration effort. Most setups require fewer than 10 lines of code.

1

Add the SDK

Install via npm (web), Gradle/AAR (Android), or CocoaPods/XCFramework (iOS). Initialize with your API key.

2

Connect to your player

Attach the SDK to your player instance. It automatically subscribes to playback events — no manual event forwarding needed for supported players.

3

Automatic collection

The SDK passively captures loading delay, stalling events, bitrate switches, resolution changes, frame drops, and session metadata.

4

Dashboard & analysis

Session data and P.1203 MOS scores appear on the Surfmeter analytics platform. Filter by app version, device, ISP, geography, and more.

Use Cases

Who it's for

Streaming Services

Monitor the quality your viewers actually experience across devices and platforms. Detect issues in real time and correlate with CDN or ISP problems.

Broadcasters & Media Companies

Add quality measurement to your OTT apps without building analytics infrastructure. Get standardized MOS scores alongside your existing analytics.

Telecom Operators

Measure video quality from the customer's app perspective. Complement network-side monitoring with actual viewer experience data.

Test & QA Teams

Integrate quality measurement into your testing pipeline. Track QoE regressions across app releases and player versions.

Ready to see it in action?

Get a personalized demo and see how Surfmeter fits your use case.

Data & KPIs

Supported players and KPIs

ExoPlayer AVPlayer Video.js THEOplayer Shaka Player Brightcove HTML5 Video Chromecast

Video QoE

  • P.1203 Overall MOS
    Perceptual quality score (1–5)
  • Initial Loading Delay
    Time until video starts playing
  • Stalling Ratio
    Playback time spent stalling
  • Stalling Count
    Number of stalling interruptions
  • Average Video Bitrate
    Average data rate of video stream
  • Resolution & Quality Switches
    How often quality changes mid-stream

Playback Details

  • Video Resolution
    Output resolution in pixels
  • Frame Drops
    Frames skipped during playback
  • Codec & Protocol
    Video encoding and streaming protocol
  • Session Duration
    Total length of viewing session
  • Playback State Timeline
    Play, pause, and buffer events over time

Session Context

  • Device & OS
    User's device and operating system
  • App Version
    Application version identifier
  • Connection Type
    WiFi or cellular connection
  • ISP / Network
    Internet service provider
  • Geography
    Country and region of user

See Your Viewers’ Quality. For Real.

Learn how the Surfmeter Player SDK fits into your video stack. Get in touch for a demo or integration guide.

By contacting us, you agree to receive occasional email updates from us about our products or features.