HLS option

So, I have been testing the HLS option from the Debug settings. It seems like a good solution for streaming devices that don't have a lot of free memory for the pause buffer. The HLS option provides a fixed 60 minute pause buffer stored on the server for any streaming device.

In my testing on a Shield Pro (ethernet connected), a Chromecast Google TV, a Sony Google TV, and a Firestick 4k TV Max, I found it takes about an extra 2 seconds to start a live stream and it had a couple of short pauses in the first 10 seconds.

While these things didn't cause me much concern, I did have problems when watching a recording. When playing a recording, the player would invariably lock up and crash especially while moving the scrubber bar. This makes the HLS option unusable for me. Channels works fine without using this option, just thought it would be a nice thing to solve the small pause buffer problem

2 Likes

The seek issue may be fixed in the recent beta builds. Were you testing beta or store build?

Using Beta version v2022.07.07.2314 on all clients. When I disable the HLS option, I don't seem to have any problem playing the recordings. I did notice a little jitter in one of the videos that would consistently cause the player to lockup only when using the HLS option.

While using the HLS option, I simultaneously steamed 5 different channels on five clients. At the same time, I started a browser transcoded live stream. Then I started recording 2 other channels, utilizing all 8 of my tuners. Everything seemed to work very well.

My server is only a Beelink U59 running Windows 11 pro. My storage is a 4TB Westen Digital USB3 portable drive, that I know many of you think is somewhat lame. It seems the Channels server software is very efficient. I know Apple TV is the preferred client, but your support of Android and FireTV is greatly appreciated.

2 Likes

By installing the latest beta app (version 207.22.320) on the Fire TV and seeking a bunch back and forth, I was unable to replicate any problems with seeking.

Could you record a video of the screen when you are seeking and upload it here so we can see what's going on?

OK, I don't seem to be able to duplicate the failure when just moving the scrub bar on recordings with HLS on or off. Not sure how I could be so mistaken. But I do have one TV recording that causes the player to lockup at about 4 minutes and 20 seconds into the recording only when HLS is on. It plays with VLC, but has a jitter (bad spot) at that time. I will send the file. You may decide it is just a bad file and nothing can be done, but it does play for me without the HLS option enabled.

At any rate, I am satisfied with HLS operation and will be using it on all my Android and FireTV devices. Maybe you can consider adding the option to the mainstream release.

2 Likes

So I had no idea what this was in reference to and had to backtrack to a thread I was not following to learn:

I hope you don't mind, but I'm going to edit the title to this thread because I think this is something very useful and interesting that not a ton of people are aware of!

Whatever, I just want to see if I can use the HLS option to improve my pause buffer time on my low memory devices. I found out HLS was developed by Apple to use for HTTP Live Streaming. It provides high quality video and audio at the expense of some latency. As implemented on Channels it provides a fixed 60 minute pause buffer located on the server.

I am getting some short pauses mostly at the beginning of a live stream that can be mitigated by forcing a short pause at the beginning of the stream. I would prefer if the Channels developers would add another option for HLS to add a small user selectable pause on the client or find another way to fix it.

The buffering issue should be fixed in the latest apk beta

I'm curious if you can play this recording in a web browser at the same point and if it gets stuck or not.

The recording does not get stuck using the web browser to play.

I just updated to the latest Beta on my Firestick 4K Max and my Chromecast Google TV and I still am getting three or four very short pauses within the first 15 or 20 sec. If it didn't pop up the scrubber bar, it might not even be that noticeable. If I force about a 1 second pause as soon as it starts playing, then I don't have any more unforced pauses.

Okay please submit diagnostics after it happens

Just submitted diagnostics after receiving several unforced pauses.

After further testing with HLS, looking at the stats I can see the cache doesn't have enough data before the video starts playing. Whenever it runs dry, the video pauses. I have a 1G internet connection on my server and my wireless connection for the Firestick TV 4K Max speedtest to the server shows 486 Mbit/s, 3.76 ms latency, and 2.26 ms jitter. The cache doesn't ever seem to completely fill unless I force a short pause.

HLS video and audio quality is very good. For me the extra latency in the video starting is acceptable. I think this can be a very good solution for the limited pause buffer on many of the Android and FireTV devices.

A few notes about your post:

This doesn't really have a bearing on this issue, as all your clients seem to be wireless. Bandwidth doesn't seem to at issue, merely latency.

The quality of the streams is the same as the source. The only difference is that the server is taking the transport streams (TS) it uses internally, and remuxing those to HLS; the content doesn't change, only the parcel within which you receive it.

I am glad you found a solution that works for you.

I made some more changes to buffering behavior in APK v2022.07.27.0042

Thank you for testing this experimental feature. It gives us more confidence its working correctly which will help us make it available in the regular app sooner.

The problem with the client cache still exists, as it isn't filled with enough data before the player starts. Now I can force a pause to allow the cache to fill eliminating the problem, but I would prefer that it be handled with software. I thought someone might think the reason the cache wasn't filled was because of a poor network connection to the server. I realize you are extremely knowledgeable about the Channels software, but others may be interested in my results.

1 Like

Upgraded to your latest. Still getting pauses. The video starts playing when the cache only has 1 sec of video data which doesn't seem to be enough. I get fluctuations of about 1 sec in the cache total while the video is playing.

It is supposed to wait for 2s of data with that build. Something must not be working.

Okay please try new beta

Installed new beta, works perfectly now. I have tested it on my Firestick, Chromecast, and Phone. I will do more testing on my other devices. I do get almost 5 sec of latency before the live stream starts, except on TVE channels it is only 3 seconds at most. But that is what I was expecting so it is acceptable to me.

2 Likes