Thanks, I actually have gotten it working with a nat, but the issue is that the channels DVR server client list just shows the firewall's IP as the client IP.
I've actually gotten this working several ways, I have it working right now using site2site wireguard tunnel. Not just channels but the native HDHomeRun app.
What I'm trying to do now is to figure out a way to do it without encryption and tunneling which isn't required IMO for streaming tv. Just tunneling may work too, the point of this exercise is for a remote site with a not very powerful networking device to still be functional for streaming.
When I say remote networks, I'm on fiber and so are the other sites, are close latency wise. I'm talking between 2ms and 8ms. One is not on fiber, its on xfinity and the latency is much higher, 20-30ms, still not high. Even this cable site can use HDHomeRun across a wireguard tunnel with socat redirecting the broadcast packets.
I tried to get the HDHomeRun tuner to work directly through public IP space with it on an rfc1918 range, but there is a single piece to that puzzle that I can't get working. When the HDHomeRun client sends a discovery packet, the payload of the returned packets include the rfc1918 address and the client never gets the lineup.json file.
I'm using PFSense firewall, which supports aliases,and hostnames in aliases. The sites are on dynamic IP space that doesn't change often, but stilll... they have dyndns hostnames, those are in the firewall aliases, and I reference them in the rules and the NAT statements so I can keep things pretty buttoned up, but like I said the one portion of the discovery process isn't working, and unless I can figure out a way to modify the payload of those 2 udp packets that return from the tuner on the fly I need to ditch that way. Also they don't support ipv6 on the tuner yet so thats out, as well as any method that nats or tunnels because it will always include its rf1918 in the payload directing the native client.
We are days away from 2023, latency is not as big of a thing, and with the advent of major ISPs pushing for v6 adoption NAT may not be strictly neccesary in many circumstances. All of the networks I'm dealing with right now have public IPv6 /56 or /64 blocks.