# Working RTSP Viewer - Coming Soon!

**URL:** <https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855>\
**Category:** Module Development\
**Tags:** perspective\
**Created:** [June 4, 2026, 10:30pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855 "2026-06-04T22:30:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 4, 2026, 10:30pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/1 "2026-06-04T22:30:16Z")

</div>

A sneak peak of what is coming.

Ever wanted to see what was happening down on the factory floor from a dashboard? Nope, didn't think so! So we made it anyways! Currently undergoing heavy testing, but things have been looking great so far and wanted to share.

- 🧱 **Multi‑camera grid** — drop the component, pick your cameras, done. Click a tile to expand.
- 🔌 **No extra ports.** A gateway‑managed media sidecar does RTSP→HLS and everything tunnels through the **gateway web port** you already expose. Locked‑down‑SCADA‑network friendly.
- 📦 **Self‑contained `.modl`.** No installing anything on the server, no separate services to babysit. Install, done.
- 🔐 **Credentials never leave the gateway.** Cameras are configured server‑side and referenced **by name** — the browser never sees a single RTSP URL or password.
- 🟢 Survives a camera wall — **a dozen‑plus streams** at once, with tiles that flip to **OFFLINE** (and auto‑recover) when a camera drops.
- 🦄 UniFi Protect friendly — including the `rtsps://` endpoint with auto cert‑pinning.

### And the part I'm weirdly proud of

A **native gateway config page** (Connections → RTSP Cameras) to add/edit your cameras — _with bulk paste‑import_, so you can dump a spreadsheet of `Name, rtsp://url` and hit go. 🎉

I'm interested to find out if anyone else is excited for something like this. What kind of cameras do you use? How many do you have? (We have over 200 on site) What would you use a tool like this for?

 ![SneakPeakRTSP](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/4/b49ea31983d9b33f9f3600e11959fe6633464e83.png)

 ![sprtsp](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/c/ac9f9180645ac5c88de62c8f0f6301c128062d93.png)

 ![RTSPFlow](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/b/8bc07ac995da7b5a0cd2a933c4b44c11c1148e23.png)

I ran some additional testing, this was done from our dev pc. I won't be able to test on our live server until another double down day when we can restart the gateway. We have so many things running ignition its hard to get a window to restart with a 24/7 facility. I hope this explains a bit more, let me know if there are other specific tests anyone wants.

 ![stress-test-chart-1x_small](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/9/c9f9ea5ae7e447f9df9782dc43f2afb05b4d4c24.png)

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [June 5, 2026, 10:40pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/2 "2026-06-05T22:40:09Z")

</div>

What’s the server load look like with 50 clients and 200 cameras?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 5, 2026, 11:04pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/3 "2026-06-05T23:04:02Z")

</div>

I think the answer will be whatever the sidecar tech can handle… ffmpeg? Gstreamer? MediaMTX?

We’ll see.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 6, 2026, 2:35pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/4 "2026-06-06T14:35:16Z")

</div>

I'm not in the office today or tomorrow, but come Monday I will do some additional testing and report back here.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 6, 2026, 2:35pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/5 "2026-06-06T14:35:59Z")

</div>

We are using MediaMTX 😛

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 6, 2026, 4:21pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/6 "2026-06-06T16:21:06Z")

</div>

I'm curious how you are achieving a single module file delivery when some of MediaMTX's dependencies (like FFmpeg and GStreamer) are LGPL or GPL. Is the sidecar installed/updated dynamically via the internet?

Edit:

MediaMTX appears to mis-state the license of `libcamera`. It claims libcamera is MIT licensed, but the libcamera docs state that it is LGPL2. libcamera has numerous LGPL and optional GPL dependencies. If you are embedding the MediaMTX binary in your module file, you are taking a big legal risk, IMNSHO.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 6, 2026, 5:31pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/7 "2026-06-06T17:31:40Z")

</div>

Seems to be only used by `mediamtx-rpicamera` though?

The RTSP-to-HLS looks like it's all Go / Go libraries.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 6, 2026, 5:35pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/8 "2026-06-06T17:35:36Z")

</div>

> [@Kevin.Herron](#):
>
> only used by `mediamtx-rpicamera`

OK. That makes sense. If you use the binaries that do not support the RPI, that might mitigate the issue.

I did post an issue for them on GitHub.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 8, 2026, 3:23pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/9 "2026-06-08T15:23:37Z")

</div>

On the FFmpeg/GStreamer side, I don't think those actually come into play here. MediaMTX (v1.19.0) is pure Go, statically linked, just the one binary. It does the RTSP to HLS remux itself in Go, it doesn't link or bundle FFmpeg or GStreamer. Those only matter if you point MediaMTX at an external ffmpeg/gstreamer process, which I'm not doing, and it wouldn't ship those binaries anyway, you'd install them yourself. That pure-Go thing is kind of the whole reason I can ship it as a single file.

For delivery, nothing's pulled from the internet. The binary is bundled inside the .modl and just gets extracted to the gateway's working dir on startup. No downloading, no auto-updating.

On libcamera, good catch on the docs being off, but from what I can tell libcamera only gets compiled into MediaMTX's Raspberry Pi (linux/arm64) builds. I'm only shipping linux-amd64 and windows-amd64.

And I'll make sure to provide proper attribution wherever it's needed for licensing.

I'll try to get some stress test numbers too when I can, this is only a side project, my normal job's got me developing other stuff right now, so bear with me lol.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 8, 2026, 3:40pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/10 "2026-06-08T15:40:03Z")

</div>

This sounds like a great addition to the Ignition ecosystem. Kudos, Nathan!

---

<div class="post-metadata">

**Author:** ![Steve\_Laubach](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/steve_laubach/32/60900_2.png) [@Steve\_Laubach](https://forum.inductiveautomation.com/u/Steve_Laubach)\
**Post date:** [June 8, 2026, 3:50pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/11 "2026-06-08T15:50:43Z")

</div>

That's really cool!

The images are all blurry though (kidding)

I can see how a number of people would be interested in this.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 8, 2026, 4:02pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/12 "2026-06-08T16:02:17Z")

</div>

lol yeah i have a filter on them, the point is the module not what we are doing in our plant 😛

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 8, 2026, 8:46pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/13 "2026-06-08T20:46:01Z")

</div>

I edited my original post, to show some additional testing information.

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [June 8, 2026, 9:58pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/14 "2026-06-08T21:58:16Z")

</div>

what's the AI front end you're using? looks familiar...

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 8, 2026, 10:02pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/15 "2026-06-08T22:02:23Z")

</div>

The styling, especially on that stress test summary page, screams Claude.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 8, 2026, 10:09pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/16 "2026-06-08T22:09:31Z")

</div>

Tossed all my data into Claude to have it make the flow chart while I was on lunch. Then fed it my screen shots for the other stats image. Then confirmed it didn't change any values. Pretty fun tool to use when its right. We have been doing a test runs with it on site, they are testing out the enterprise plan but personally I prefer the none enterprise tiers. It's a lot of double work right now because trust is super low and honestly I don't think that will change ever, not sure it should tbh.

But for now I will enjoy its perks at no cost to me lol.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 8, 2026, 10:09pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/17 "2026-06-08T22:09:44Z")

</div>

you would be correct lol.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 9, 2026, 3:10pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/18 "2026-06-09T15:10:21Z")

</div>

Looks like we have a planned power outage today, I will be using this chance to get the module loaded on the server. I'll let you guys know more later today how it turns out.

---

<div class="post-metadata">

**Author:** ![NP209](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/np209/32/80704_2.png) [@NP209](https://forum.inductiveautomation.com/u/NP209)\
**Post date:** [June 10, 2026, 6:07pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/19 "2026-06-10T18:07:44Z")

</div>

Well we had a huge win for the testing yesterday. Server load was super low. Really the only limitations we were seeing (with our setup) was the viewing devices. All of our older PC's took the streams well with 100-200 feeds.

We naturally had some issues with older Raspberry PI units not loading the streams, but that was expected. They couldn't even handle a couple of camera feeds with this setup.

But the Pi 5's were doing great with 25 feeds at once.

For us, this does so much more than we actually need on any given screen. Made our IT Director very happy. We started transitioning over today. I will post again if we encounter any unforeseen issues, but I'm hoping to have the module out and in the exchange in a month for others to use. I've never uploaded anything there so I'll have to review that process.

* * *

Next on my plate is to see about integrating some Unifi commands to restart the camera feeds on low FPS and adding zones / rotations which should be easy enough once I figure out their API.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 10, 2026, 6:18pm UTC](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855/20 "2026-06-10T18:18:54Z")

</div>

> [@NP209](#):
>
> Server load was super low.

That's great!

> [@NP209](#):
>
> the viewing devices

Were any of them running Perspective Workstation? If not, any chance of testing with it? And Mobile, perhaps?

[Next page](https://forum.inductiveautomation.com/t/working-rtsp-viewer-coming-soon/115855.md?page=2)
