Channels uses two different types of transport technologies to stream video from Channels DVR Server to your device. This is an overview of them.
Transport Technologies Overview
Channels offers two options when it comes to streaming original quality inside your home. Direct and Stream.
Direct will uses a constant TCP connection to directly stream your video from Channels DVR Server to your device. This is the fastest way to stream video, but it requires a constant connection to your DVR Server. If you lose your connection, you’ll lose your video.
Direct is what is used by default when you are at home and using Original Quality.
Stream uses HTTP Live Streaming(HLS) which uses many HTTP requests and local caching to stream videos.
Stream is what is used by default when you are away from home and using any quality selection or have chosen a quality other than Original while at home.
Protip: Use Stream while at home to place the buffer on the server if your streaming device’s storage is preventing you from pausing for a long enough time.
There are many cases you may choose one over the other. Here is a deeper explanation of each.
Direct uses MPEG-TS over a single TCP connection. This has the benefit of having the lowest latency for tuning and lowest overhead for your DVR and network. The downside is that it is susceptible to experiencing issues if there is high latency (which is why we do not use this for Away From Home streaming).
When watching live from a HDHomeRun, a connection is made directly from the app to the HDHomeRun, bypassing the DVR entirely. If two apps are watching the same channel at the same time, it will use two tuner slots on the HDHomeRun.
When watching live from TVE, a connection is made to the DVR because all TVE streams are served by the DVR. The client stores the entire Live TV buffer locally.
Stream uses HTTP Live Streaming (HLS) which uses many HTTP requests. This has the benefit of being able to handle high latency and variable network conditions much better than a single TCP connection and can recover from intermittent network issues.
When watching Live TV from any source, it will be processed and served from the DVR (but it will not be transcoded). Because each HLS segment is 1 second and the additional processing that must happen, tuning into Live TV can take 1-3 seconds to load (which is generally higher and less consistent than Direct).
This is also putting small additional CPU and disk IO load on the DVR, which generally is not a problem, but can cause issues if the DVR or disk is overloaded.
The server stores the entire Live TV buffer and the client will store as much of it as it can handle with the available disk space.
Tuner Sharing is a feature that modifies the behavior of Direct to cause live TV streams going to the HDHomeRun to go through the DVR, allowing for multiple apps watching the same channel to only use a single tuner on the HDHomeRun.
This setting does not change the behavior of watching TVE streams.
The DVR buffer holds a small number of seconds of data so it is still the responsibility of the client to store the entire Live TV buffer locally. This doubles the amount of network traffic and can lead to flaky problems if the DVR is overloaded or the network is at its limit (from being over WiFi or other such issues).
What should you use?
If you’re not having any problems, use the default settings. Direct streaming without Tuner Sharing will give you the most reliable experience in the most situations.
If you find that your streaming device does not have enough storage to get a very long buffer when pausing, use Stream with Original Quality to have the server handle the buffering, giving you more time to pause.
If you have particular reasons to change the settings, please use these settings to make your experience better.