Complete documentation of all QoE events, metrics, and context data captured by OpenQoE.
OpenQoE captures 12 core event types that track the complete video playback lifecycle.
Player initialized and ready to play video content.
Video view/session started by the viewer.
Playback started or resumed after pause.
Playback paused by viewer or automatically.
User initiated seek/scrub to different position.
Rebuffering started due to insufficient buffer.
Rebuffering ended, playback resumed.
Video quality/bitrate changed (ABR switch).
Video playback completed successfully.
Playback error occurred (network, decoder, DRM, etc).
Quartile milestone reached (25%, 50%, 75%, 100%).
Periodic alive signal during playback (every 10s).
22 production-ready metrics across 6 categories for comprehensive quality monitoring.
| Metric | Type | Description |
|---|---|---|
| openqoe_aggregate_startup_time | Histogram | Total time from player init to first frame (ms) |
| openqoe_player_startup_time | Histogram | Time to initialize player instance (ms) |
| openqoe_video_startup_time | Histogram | Time from play request to first frame (ms) |
| openqoe_page_load_time | Histogram | Page load time before player init (ms) |
| openqoe_video_startup_failure_percentage | Gauge | Percentage of failed video starts (0-1) |
| Metric | Type | Description |
|---|---|---|
| openqoe_rebuffer_percentage | Gauge | Rebuffer time as % of play time (0-1) |
| openqoe_rebuffer_duration | Histogram | Duration of rebuffering events (ms) |
| openqoe_rebuffer_frequency | Gauge | Rebuffer events per minute of playtime |
| openqoe_rebuffer_count | Histogram | Total rebuffer events per session |
| openqoe_rebuffer_score | Gauge | Smoothness quality score (0-1, higher is better) |
| Metric | Type | Description |
|---|---|---|
| openqoe_weighted_average_bitrate | Histogram | Time-weighted average bitrate (bps) |
| openqoe_upscale_percentage | Histogram | % of time video upscaled (resolution < display) |
| openqoe_downscale_percentage | Histogram | % of time video downscaled (resolution > display) |
| openqoe_video_quality_score | Gauge | Overall quality score (0-1, higher is better) |
| Metric | Type | Description |
|---|---|---|
| openqoe_playing_time_seconds | Counter | Total time video was actually playing |
| openqoe_watch_time_seconds | Counter | Total session duration (includes pauses) |
| openqoe_views_total | Counter | Total number of video views/sessions |
| openqoe_unique_viewers | Gauge | Count of unique viewers (hashed IDs) |
| Metric | Type | Description |
|---|---|---|
| openqoe_exits_before_video_start_percentage | Gauge | % of sessions abandoned before video started |
| openqoe_playback_failure_percentage | Gauge | % of sessions with fatal playback errors |
| Metric | Type | Description |
|---|---|---|
| openqoe_viewer_experience_score | Gauge | Overall viewer experience (0-1, higher is better) |
| openqoe_startup_time_score | Gauge | Startup performance score (0-1, higher is better) |
Rich contextual data captured with every event for deep analysis.
All viewer identifiers are SHA-256 hashed with per-org salt before transmission. PII collection is disabled by default and requires explicit opt-in. Geographic data can be limited to country-level only.
Native support for Common Media Client Data (CTA-5004) standard.
OpenQoE automatically captures CMCD data when available from the player, providing standardized metrics for CDN optimization and server-side decision making. All 18 CMCD fields are supported.
| Field | Key | Description |
|---|---|---|
| Buffer Length | bl | Current buffer length (ms) |
| Buffer Starvation | bs | Buffer starvation occurred (boolean) |
| Measured Throughput | mtp | Measured network throughput (kbps) |
| Object Type | ot | m/a/v/i/c/tt/k/o (manifest/audio/video/init/etc) |
| Streaming Format | sf | d/h/s/o (DASH/HLS/Smooth/other) |
| Stream Type | st | v/l (VOD/Live) |
| Top Bitrate | tb | Highest available bitrate (kbps) |
Flexible labeling system for filtering and grouping your QoE data.
Always present on all metrics and events:
org_id — Organization identifierplayer_id — Player instance identifierFixed set for real-time operational monitoring:
asn, cdn, countryoperating_system, player_nameregion, stream_typevideo_title (top-100 + "Other")Broader set for deep historical analysis:
OpenQoE automatically manages dimension cardinality to keep your time-series database performant. High-cardinality dimensions like video_title are capped at top-100 values with automatic rollup to "Other".
Start capturing these events and metrics in your video platform today.