feat: add support for RTSP cameras in topo view #1064

Closed
opened 2026-03-28 04:31:19 +00:00 by mfreeman451 · 1 comment
Owner

Imported from GitHub.

Original GitHub issue: #2916
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2916
Original created: 2026-02-26T05:38:03Z


Is your feature request related to a problem?

Would like to add support for Ubiquiti Protect API, we should be able to see camera nodes on the topology map, click on one or a cluster of cameras, and see the camera feed(s) on the deck.gl canvas. We already have some WIP with Axis API / cameras, those should work with this as well.

  • expose endpoints on topology graph
  • WASM plugin for Protect API integration
  • deck.gl / canvas camera integration
  • Protect events integration into ServiceRadar

Need to figure out what the data model/shape is going to look like for cameras, this WASM plugin is going to discover cameras through the Protect API and needs to produce information that can be absorbed/processed by core-elx and end up in the correct schema (ocsf_devices). We probably will have to add additional schema/table to support this additional metadata instead of just trying to stuff it into a metadata field in ocsf_devices

We probably will also need to integrate this into the topology binary data pipeline so we can quickly update the graph if a node changes status as it relates to a camera event or something like that.

https://deck.gl/docs/developer-guide/views

This is a typescript library we could get some ideas from:

https://github.com/hjdhjd/unifi-protect?tab=readme-ov-file

Decoding the event stream:

https://github.com/hjdhjd/unifi-protect/blob/main/src/protect-api-events.ts
https://github.com/hjdhjd/unifi-protect/blob/main/src/protect-types.ts

Need to figure out how we're going to get these events into SR. I think we created a pipeline for agents/plugins to do this need to investigate further.

Describe the solution you'd like

A clear and concise description of what you want to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

Imported from GitHub. Original GitHub issue: #2916 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/issues/2916 Original created: 2026-02-26T05:38:03Z --- **Is your feature request related to a problem?** Would like to add support for Ubiquiti Protect API, we should be able to see camera nodes on the topology map, click on one or a cluster of cameras, and see the camera feed(s) on the deck.gl canvas. We already have some WIP with Axis API / cameras, those should work with this as well. - [ ] expose endpoints on topology graph - [ ] WASM plugin for Protect API integration - [ ] deck.gl / canvas camera integration - [ ] Protect events integration into ServiceRadar Need to figure out what the data model/shape is going to look like for cameras, this WASM plugin is going to discover cameras through the Protect API and needs to produce information that can be absorbed/processed by `core-elx` and end up in the correct schema (ocsf_devices). We probably will have to add additional schema/table to support this additional metadata instead of just trying to stuff it into a metadata field in `ocsf_devices` We probably will also need to integrate this into the topology binary data pipeline so we can quickly update the graph if a node changes status as it relates to a camera event or something like that. https://deck.gl/docs/developer-guide/views This is a typescript library we could get some ideas from: https://github.com/hjdhjd/unifi-protect?tab=readme-ov-file Decoding the event stream: https://github.com/hjdhjd/unifi-protect/blob/main/src/protect-api-events.ts https://github.com/hjdhjd/unifi-protect/blob/main/src/protect-types.ts Need to figure out how we're going to get these events into SR. I think we created a pipeline for agents/plugins to do this need to investigate further. **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here.
Author
Owner

Imported GitHub comment.

Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2916#issuecomment-4008412560
Original created: 2026-03-05T23:21:42Z


might want to check this out, we could receive RSTP feeds in membrane and multi-plex them out to clients, this would be great to reduce the load on cameras for multiple viewer streams https://github.com/membraneframework

Imported GitHub comment. Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/issues/2916#issuecomment-4008412560 Original created: 2026-03-05T23:21:42Z --- might want to check this out, we could receive RSTP feeds in membrane and multi-plex them out to clients, this would be great to reduce the load on cameras for multiple viewer streams https://github.com/membraneframework
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar#1064
No description provided.