Custom channel to import from local dvr to remote

I have a Channels DVR in two houses, one house has an HDHomeRun tuner. They're both on great connections, about 4-6ms between them and plenty of upload bandwidth(FTTH on both).

I was told I could use custom channels to pull the HDHomeRun channels from the local to the remote DVR.

Problem is I need some info, when I goto create a new source from Custom Channels, it needs stream format, the source url, and guide data, not sure what to put for each of these. Does the original DVR export these at a certain URL? Is there an option I need to check to enable that? Do I get this data from somewhere else? Do I manually build files?

You can export a lineup for a source as M3U, but it can only work locally. You'll need to use a VPN to do this between houses.

1 Like

Have wireguard tunnel between the two, both subnets can talk to each other.

What would I use for guide data? Is there a way to pass that along or export a file, or even tell it, hey this is provider xyz in this zip code, so just grab it from there?


When the m3u is exported, it includes the tvc-guide-stationid which, when imported, will be used to determine the network in the lineup. So it should just work.

1 Like

This is awesome, thank you so much

You can do it without a VPN if you use a session token.

Is the VPN required for making a direct connection from the remote DVR server to the HDHomeRun tuner, or does that even still flow through the channels dvr server on the side of the connection with the HD HomeRun tuner?

You don't want to communicate directly with the HDHR over the internet, I have high bandwidth fiber connections on both ends and still can't get it to work without using the DVR to create an HLS stream.

They're on the same provider, physically within 20min drive and latency wise 3-5ms when I checked right now
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 3.218/4.156/4.958/0.553 ms

Arguably better latency than some people have on their own lan. When I traceroute the public IP of the remote side from my firewall, it's the 4th hop away. So its basically 3 ISP routers between me and the other side. I have had HDHR working over VPN but its a pita, and the remote side does not have great vpn hardware, I'm trying to reduce complexity and simplify everything, as strange as it sounds, by introducing a remote side dvr unit. The ttl restriction on the HDHR units is kind of dumb IMO, and like I said I have a work around but I don't like it.

You have two choices, you can use a session token or you can use Tailscale or a vpn. Pull from the channels m3u playlist from the main dvr hdhr location. Here is examples of using ts stream which is more susceptible to issues with connection. It tunes really fast though. Or you can use hls(remove format=ts and replace with codec=copy) which handles interruptions better. 10710F25 is a hdhr id. Change to yours. Create a custom channel in the remote dvr using these URL’s.

Tailscale, WireGuard setup

http://your.main server.ip.or.a.tailscale.ip:8089/devices/10710F25/channels.m3u?format=ts

Session id cookie setup

Session id doesn’t require any machine vpn resources but you have to replace the session cookie every 29days. I’ve done it both ways and I prefer Tailscale route.

For the guide data

xxxxxx.xxxx:8089/devices/10710F25/guide/xmltv?duration=604800 Or add guide data provider via zip code 

Thanks, a lot of options to test out here, appreciate all the info

The second option @rice gave is probably your best bet with "format=ts" and the session cookie. Read this is you need more help getting the M3U...

I would suggest against pulling EPG data from another DVR. It is better to use the same EPG provider as the original DVR. There are subtle differences per this thread:


These two are not the same. Also for those who would like to try a quick direct site-2-site OpenVPN setup

This is working decently over a manual wireguard site2site vpn i have. But I'm trying to see if I can get it going with wireguard so I can drop the site2site requirement. I can't get the two channels DVR boxes to communicate over tailscale.

They both show as "connected' and its green, etc.

So this works:

When I replace with the tailscale IP starting with 100.x, it can't connect. Any ideas?

You can’t use WireGuard and Tailscale at the same time. If you want to use Tailscale you have to disconnect from WireGuard first.

Thanks, I wasn't finding anything definitive to answer that, and I wasn't sure how to test it since its inside the channels app install.