Skip to main content
No Result Found
Get your setup working faster. Join our Discord for optimisation tips from elite testers. Join our DiscordJoin our Discord

AV metrics for Nvidia Shield

Measure audio and video playback quality on Nvidia Shield App Automate sessions, and retrieve the metrics using two REST API endpoints.

Streaming and OTT teams can test that their app runs on a device, but not easily test how well playback performed. AV Metrics closes that gap.

When you run an App Automate session on a BrowserStack Nvidia Shield (Android TV) device, BrowserStack measures how well audio and video actually played, with no changes to your app, and lets you pull those metrics for each session through two REST API endpoints. For each session, it captures objective playback-quality signals you can assert on in CI, for example, whether a build started slower, dropped to a lower resolution, stuttered more, or errored, rather than manually reviewing the session video.

AV Metrics for Nvidia Shield is currently in beta, and BrowserStack is actively refining its accuracy and coverage. For queries, contact BrowserStack support.

What the feature provides

The signals follow the lifecycle of a single playback:

  • Whether it played at good quality.
  • Whether it stayed smooth.
  • Whether the audio was clean.
  • Whether anything broke.
  • Whether device conditions affected it.
Category What you learn
Playback quality Video codec or format, resolution, adaptive resolution changes during playback, and bitrate. Confirms the viewer got the intended quality, for example, real 1080p or 4K, not a silent downshift.
Smoothness Frame rate (FPS) and dropped or janky frames. An objective stutter measurement.
Audio health Audio track format and channels, and audio glitches such as dropouts or underruns.
Errors and reliability Decoder or codec playback errors, and rebuffering events, including how often and how long playback stalled mid-stream.
Device and environment Display mode and HDR, device thermal, CPU, and memory during the session, and network throughput. This is the context that explains why quality changed.

Supported devices and boundaries

  • Nvidia Shield (Android TV) only today. AV Metrics doesn’t yet support other Smart TV platforms, Fire TV, Apple TV, and Roku, and they return an empty result.
  • Player technology matters. Apps built on standard Android players get the full metric set automatically. Apps built on web or browser technology, or using tunneled 4K or HDR playback, may produce little or no frame-level data, so FPS, jank, and rebuffering may come back not reliable.
  • Rebuffering. BrowserStack detects rebuffering from frame-timing gaps. Precise sub-second counts are best-effort for standard players and unavailable under tunneled playback.

BrowserStack can’t measure premium Digital Rights Management (DRM) content. Protected premium titles, for example, Netflix, Prime, or Disney+ premium, rely on copy-protection that these test devices can’t satisfy, so that content doesn’t play and produces no metrics.

BrowserStack measures your app’s own non-DRM or unprotected streams fully.

Access the metrics for a session

Retrieve metrics after the session completes, using two GET endpoints on the App Automate host app-automate.browserstack.com. Authenticate with HTTP Basic auth, using your BrowserStack Username as the user and your Access Key as the password. Each request takes two query parameters, instance_id and session_id.

Endpoint path What it returns Format
/private-cloud/smart-tv/av-metrics/report An aggregate, at-a-glance scorecard for the session. The summary a CI gate or API consumer reads. JSON
/private-cloud/smart-tv/av-metrics/dump The raw time-series: every per-sample record captured during the session, for your own deeper analysis. NDJSON (one JSON record per line)

Both endpoints require these two query parameters:

Parameter Description
session_id The App Automate session ID. This is the session’s hashed ID, the same one shown on the dashboard and returned by the App Automate REST API.
instance_id The device ID of the Nvidia Shield the session ran on. Available from your session or device details.

Report API: aggregate scorecard

The report endpoint returns a single JSON object summarizing the session. Key fields:

Field Meaning
window Capture window: start, end, and duration in seconds.
video.peak_resolution, video.codecs, video.adaptive_changes Highest resolution seen, the codecs used, with resolution and whether the stream was DRM-secure, and each adaptive resolution or quality switch during playback.
audio.track, audio.underruns Audio format and channels, and the count of audio dropouts.
delivery.effective_bitrate_mbps Peak and average delivered bitrate: network throughput compared to the resolution served.
device_context.display Output resolution, refresh rate, and HDR capability.
device_context.thermal_c_max, cpu_busy_pct_peak, memory_available_pct_min Peak temperature, peak CPU, and minimum free memory during the session.
playback.fps Average frames per second.
playback.jank Janky frame count and percentage, a measure of stutter.
playback.rebuffering Number of mid-playback stalls and their total duration.
playback.playback_errors Count and samples of decoder or codec playback errors.

Each metric under playback carries a reliable flag. For more information, see Understand metric reliability. An example response, with illustrative values, is as follows:

Example response
Copy icon Copy

AV Metrics captures no data for a session in either of the following cases:

  • The app didn’t play video.
  • The device isn’t a supported Nvidia Shield.

When this happens, the endpoint returns HTTP 200 with success: false and the message No AV metrics available for this session. This is an expected empty result, not an error.

Dump API: raw time-series

The dump endpoint returns the full stream of per-sample records captured during the session as NDJSON, one JSON object per line. Use this when you want to build your own charts or drill into moment-by-moment behavior. Each record has a timestamp, a metric name, and a data payload. Metric types include playback_frames (frame timing, the source of FPS and jank), throughput_mbps, thermal_c, cpu_pct, mem, codec, audio, playback_error, and display. Example lines:

Example lines
Copy icon Copy

Understand metric reliability

Every playback metric, FPS, jank, rebuffering, and errors, comes with a reliable flag and, when false, a reason. This is deliberate. Rather than showing a misleading number, BrowserStack tells you when it couldn’t measure a metric for this session and why.

Reliable Reason What it means
true N/A Computed from sufficient, trustworthy data. Safe to assert on.
false insufficient frame samples Playback was too short to compute a stable value. Let the video play longer.
false no playback or pipeline not classified No standard video playback was detected. Either the app didn’t play video, or it uses a non-standard or web-based player.
false tunneled or secure pipeline Playback used a DRM-protected or tunneled, typically 4K or HDR, rendering path, which can’t be frame-sampled from outside the app.

AV Metrics is available for App Automate sessions on dedicated Nvidia Shield devices, but your organization must enable it first. Contact your BrowserStack account team to turn it on.

Frequently asked questions

Not yet. On the roadmap: a precise play-to-first-frame time, continuous per-second quality charts, a perceptual “how good did it look” score, loudness and lip-sync checks, and support for DRM-protected content.

No. Premium DRM content, for example Netflix, Prime, or Disney+ premium, relies on copy-protection that these test devices can’t satisfy, so that content doesn’t play and produces no metrics. BrowserStack measures your app’s own non-DRM or unprotected streams fully.

It means BrowserStack couldn’t compute a trustworthy value for that metric in this session, for example, because playback was too short, BrowserStack didn’t detect standard video playback, or the session used a tunneled or DRM-protected rendering path. The reason field on the metric tells you which. For more information, see Understand metric reliability.

Need help?

If you have any questions, contact support.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback!

Talk to an Expert
Download Copy Check Circle