SRT streaming protocol (and pfsense)?

Has anyone been working with the “new” SRT streaming protocol and specifically any tips on passing it through pfsense?

I was looking at trying to build out an NDI system, but after chatting with a rep. from Panasonic, they seem to be backing the open sourced SRT protocol (as well as optional license for NDI | HX). I have about 40 minutes worth of reading under my belt now, and I think this would be a better way to go forward with our “out of studio” studio productions.

I’m going to be learning more as time allows, and hopefully we will be buying many of the Panasonic AG-CX350 cameras to replace our 10 year old cameras. If not these, then I’m going to push for something that can still do SRT streams for real time (almost really real time) video transmission over IP from our campus LAN or maybe a little over the web (just for fun).

here’s a link to the SRT Alliance and there is more on the Haivision website (they created it):

And yes OBS seems to support this, as does Wirecast and VMix. Would welcome thoughts from people using or now starting to research this technology.

1 Like

Working with SRT since Month, what is your Issue with pfSense? It’s just a normal UDP stream so nothing you need to be afraid in pfSense. No fancy STUN / TURN like in SIP required.

Thanks. I thought it would go right through with a simple forward. The hard part is getting my campus IT department o allow a wider use of UDP, they have a lot of stuff locked down because security… That’s the reason for everything you don’t want to bother doing.

The Advantage of SRT is you can use it in a so called rendevouz mode where the server on connect accept push and pulls. So instead of open a port locally on your system you can push it from your Production to the taker. Most High Ports UDP wise in Company firewalls are fine.

SRT is no doubt gained tons of traction and is quickly becoming one of the major ingest protocols for real-time live video streaming use cases. The only thing that seems to be a problem with your plan is that if you want your users on the campus plan to watch the streams in a browser, there’s no support for SRT in the browser, so you will need to translate that to a protocol that the browsers support.

To do this you will need to put a media server in the middle which will then convert the SRT stream into something that browsers can handle. The conventional approach is to convert the SRT stream to HLS or similar HTTP based streaming protocol, but that introduces a ton of latency. A better approach is to use WebRTC for the playback since it’s built for realtime. You might want to check out Red5 for this, as they have a lot of similar use cases converting live SRT to WebRTC and being able to scale that to many thousands of streams. If you are looking for an open source alternative, you might also look at Janus and Pion. I believe those also have support for SRT ingestion.

Good luck! :four_leaf_clover:

SRT is not a deliverable or end user protocol, it’s an intermediary for production work with key features of being easily routed and being low latency. Best case is the stream is generated in the camera front end, just after the imaging section for the lowest glass to production switcher delay.

This is similar to NDI | HX but more easily routed.