Analyze recording for black/dim frames
mobile_analyze_recordingAnalyze an MP4 recording to measure mean grayscale, detect black or dim runs, and classify frames into brightness buckets for Android UI diagnostics.
Instructions
Sample mean grayscale over an MP4 (ffmpeg), detect black/dim runs, and classify OEM-agnostic brightness buckets (true_black, near_black_content, system_launcher_idle, dark_app_ui, light_app_ui). Bucket ranges are heuristics—calibrate with exportSampleFrames on the device under test. Use mode='flash' for one-call regressions. Full per-frame timeline is omitted unless includeFullTimeline=true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| mode | No | flash: exportSampleFrames=true, timelineDownsampleMs=100, blackThreshold=16 | default |
| path | No | ||
| marks | No | ||
| serial | No | Exact ADB serial from mobile_devices_list; never inferred when multiple devices exist | |
| artifactUri | No | ||
| dimThreshold | No | ||
| blackThreshold | No | Mean gray below this counts as black (default 16 = true_black) | |
| exportSampleFrames | No | ||
| includeFullTimeline | No | ||
| timelineDownsampleMs | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| marks | Yes | ||
| width | Yes | ||
| height | Yes | ||
| dimRuns | Yes | ||
| samples | Yes | ||
| blackRuns | Yes | ||
| sampleFps | Yes | ||
| durationMs | Yes | ||
| frameCount | Yes | ||
| hasDimFlash | Yes | ||
| maxDimRunMs | Yes | ||
| bucketCounts | Yes | ||
| dimThreshold | Yes | ||
| dimFrameCount | Yes | ||
| hasBlackFlash | Yes | ||
| maxBlackRunMs | Yes | ||
| blackThreshold | Yes | ||
| blackFrameCount | Yes | ||
| lastDimOffsetMs | Yes | ||
| timelineSummary | Yes | ||
| dimRunsTruncated | Yes | ||
| firstDimOffsetMs | Yes | ||
| meanGrayTimeline | No | ||
| lastBlackOffsetMs | Yes | ||
| blackRunsTruncated | Yes | ||
| firstBlackOffsetMs | Yes |