bluerobotics / bluerobotics/cockpit
Video streams: provide live status information
- Dominant language
- TypeScript
- Stars
- 198
- Forks
- 63
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 57
Description
Expanding on some suggestions in #800, we should support:
- [x] an optional debug/quality overlay in the Video widget, showing FPS, bitrate, and dropped frames
- [x] optional recording/logging of those values
- relevant to #621 if logging to the subtitle files
- even if it's just stored in Cockpit's logs and saved/accessed separately, that should still be much faster to check than scrubbing through a long video recording
- if we do this approach then we should probably run an automated video quality check after each recording, and notify of potential problem periods and/or provide a graph of video health over time (which could potentially replace `#800`)
- [ ] a "video health" mini-widget, tied to an incoming video stream in the same way the recording widget is
- I'm imagining a video symbol (per connected stream) in the top right mini-widget bar, with the symbol colour/icon based on thresholds for quality, e.g.
- green video-camera --> all good
- yellow video-camera --> some dropped frames, or inconsistent FPS/bitrate
- yellow video-camera with black exclamation --> bad enough that investigation is recommended
- red video-camera with black exclamation --> poor quality - footage unlikely to be usable
- grey video-camera with red cross --> camera stream not detected as available
- status changes could also create text notifications for the notification bar
- hovering over the icon should show
- status highlights (i.e. the cause of the status, like "low FPS, 21.3/25")
- any corresponding recommendations (check power supply, camera temperature, etc), and
- an obvious marker on any visible players of the video stream it's connected to (e.g. a red border on the widget(s), or fading/blurring all the other widgets)
- clicking on the icon should either
- open a pop-up showing the video quality info + common troubleshooting tips, or
- toggle the debug overlay for any corresponding video widgets that are using that stream
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names the Video widget, recording widget, incoming video streams, and the top-right mini-widget bar; locate those entry points first and review how streams are represented. Define the requested quality states, thresholds, notifications, hover details, and click behavior before implementing the unchecked video-health mini-widget. Done means the widget reflects stream health and connects to the relevant video players as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- audio-video-rtc, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100