Can ChannelsDVR use the encoded stream from an HDHomeRun Extend?

I have been able to successfully add a remote HDHomeRun Flex Duo as a source into ChannelsDVR. However, I ran into the problem that the stream seems to be too high bandwidth so all the channels from that HDHomeRun play very choppy, if at all.

After searching for a solution, I discovered that the HDHomeRun Extend has a built-in transcoder which can be enabled by adding the transcode= parameter to the URL being used. This may help me successfully stream the remote channels. However, my question is if ChannelsDVR supports streaming from the transcoded stream. My main interest is for Live TV, and not so much for DVR recordings. If ChannelsDVR can use the transcoded stream, then I may pick up an HDHomeRun Extend off eBay to resolve my problem.

I found the following thread that talks about this subject, and there is one reply in there that seems to indicate that it does use the transcoded stream, but the thread is old. Additionally, its in the DVR section so I'm not sure if the answer only applies to the DVR:

If ChannelsDVR does have the ability to use the transcoded stream, is there an option to select which transcoder to use? The options are heavy, mobile, internet720, and internet 480. See the following doc for more info:

I know I could possibly use other solutions like TVheadend, but I am trying to keep the solution as simple as possible.

Extend owner here - from memory, Channels can indeed use the transcoded output.

That being said - bandwidth requirements aren't that crazy for a full-bandwidth TV channel. The reason that thread is old, mainly, is because home networks have zoomed past where the transcoding is needed.

Essentially, if you have choppy video, fix the problem, don't assume it's bandwidth. What is your network connection between the Flex Duo and your DVR hardware?

Thanks @hancox. So as mentioned, this is via a tuner at a remote location. The tuner is literally in another state. Both locations have high bandwidth fiber, so at first, I was surprised it wouldn't play smoothly. However, the sites are connected via a VPN, so I am guessing that the VPN overhead might be causing the latency and the choppy video. The only solution I can think of is to transcode down the stream so that it plays reliably.

Although I don't think either site has any data caps, I also don't want to run into a problem where the remote ISP is wondering why so much bandwidth is being used for upstream. Transcoding at the remote location would lower the bandwidth being used. I only plan to use the remote stream occasionally, but again I just don't want to run into any problems with the remote ISP.

I am going to try testing a second solution later today that doesn't involve a VPN, but I am not sure if that is going to work.

Also, curios @hancox if you see any options in ChannelsDVR regarding what transcoding stream to use with your HDHomeRun Extend?

You don’t need an extend. You just need to setup the connection properly. Since both sites are using fiber I would think bandwidth is not the problem. Can you describe the setup that you experienced poor performance? Instead of transcoding you need to go the other direction and remux an hls stream not transcode it. What is the upload speed at the remote site?

Run a server at both locations connected with Tailscale and use codec=copy in the m3u

The technologies in play aren't really designed for higher-latency connections. They're made for LAN bandwidth and LAN latency.

Channels DVR will set to the options you cited earlier from the GUI, but i don't think they will be too helpful.

Thanks @Rice. My location is 1Gbps up/down. Remote location is 800Mbps up/down. So yeah, there should be plenty of bandwidth. Yeah, I am using Tailscale at both locations for the VPN, including using Subnet routing at the remote location so I can get to the HDHomeRun tuner. In my ChannelsDVR sources, I have the remote HDHomeRun set as an actual HDHomeRun device. Didn't think of using it as an HLS stream instead, but I can give that a try.

Do you have a link regarding where I can get more info regarding the codec= option? Did a search but I am not finding much info.

I was also going to suggest something using a remux, like @Rice did, but beat me to it.

Note - @Rice suggestion involves 2 servers AND the VPN, not just the VPN. Alternatively, you could also use a non-server means (like ah4c), at the remote site, to produce an m3u, but likely with some drawbacks.

Your enemy here is jitter and latency, not bandwidth, so unless the transcode changes the transport stream method (and i don't think it does), transcoding won't help.

There is no reason to send the traffic from the remote tuner over the VPN. Set up an exclusion so the traffic dose not go over the VPN tunnel.

Its Tailscale. I'm not sure if you could do that with Tailscale (or if you can, how I would go about doing that). Also, the only way I can get to the tuner is via the Tailscale tunnel. Long story short, the remote tuner is behind two routers/firewalls.

Of course. I have one and it works well

Any HDHR will work with Channels

The encoder on the EXTEND is not good.

You will need to install Tailscale at the os level on both sides. If you try to enable the one built in to channels dvr it will have issues. Install a dvr server on the remote machine. Make sure to leave remote streaming to off and network discovery off on the remote server.

Your url to grab the channels

http://100.xxx.xxx.xx:8089/devices/ANY/channels.m3u?codec=copy

Here is a thread
Here

1 Like

Thanks @Rice. Yes, I learned quickly that Tailscale in ChannelsDVR wasn't serving my needs (for example I wasn't sure how to get it to see subnetting) so I installed it at the OS level and that made everything start working. That is obviously for my local server. What I am trying to avoid is having to install a remote server. It's at a relative's house and I don't want to start installing a bunch of equipment there. I already have the HDHomeRun and an extra router installed there.

What I currently have at the remote site is a router that has Tailscale on it. I enabled Tailscale in the router, including enabling subnetting, and that let me see the HDHomeRun that I placed behind it (although I have since learned that with the Tailscale subnetting feature that I could also put the HDHomeRun in front of the router). This router is behind the ISPs router - again I wanted the least amount of disruption in my relative's network. For example, if they ever have to call the ISP for help, I didn't want them having to deal with a 3rd party router I placed there. Unfortunately, the ISP router has no Tailscale/VPN options in it. This is the configuration where I am trying to make this work.

When you say to install a server at the remote site, do you mean a ChannelsDVR server? I suppose maybe I can install one via something like a Raspberry Pi. I am currently a yearly subscriber and pay $80/year for my current local ChannelsDVR server. Would I have to pay a second $80/year to set up a second server, or would my current account work on a second server? Not sure if I want to spend $80/year just for this one additional channel source, which is another reason I am trying to make this work without needing to set up a remote server. If there is no additional cost, then I might go the Raspberry Pi route (I actually have an extra one lying around).

Yes that server will remux and hls will give you the stability you need to deal with the occasional latency.

No, the devs have said multiple dvr’s are fine but you can only have one that can have remote streaming enabled.

This should be a fine place to start. Just be aware that the pi won’t have enough to transcode but should be ok with a remux. A n95 Beelink would also be a great choice.

No, the devs have said multiple dvr’s are fine but you can only have one that can have remote streaming enabled.

Worth clarifying its only one server with port forwarding enabled. Remote streaming through a VPN such as Tailscale has no limit. :grin:

2 Likes

Great! Maybe I'll give this a try. I actually also have an AceMagician Mini PC with an Intel N95 processor that I haven't put to good use, but that might be overkill.

It might be a bit of overkill, but you are going to get far better performance with that N95 box since it supports Quick Sync on the iGPU. :grin:

Personally I would use the n95, install Tailscale on that and remove the second router, it sounds like it’s only there to provide Tailscale.

I use this exact setup with a Beelink to get hdhr channels from a different location into my home server. It has been rock solid for nearly a year.

I actually have the router there for a second reason - it acts as a Wireguard VPN server. I have that so I can "location shift". But I guess I could also do that with the new server I am planning to put down there.