The selected streaming bandwidth is not respected

If I stream a channel directly with a selected speed of 4Mbps the stream is constantly being streamed at ~7Mbps. It streams at ~7mpbs based on iftop, "settings webpage of server" and the "show stats" option. I've tried other streams and it is hit or miss. I'm streaming a live channel so there isn't a big buffer, and iftop shows the average stream over 40 seconds of around ~7Mbps.

It definitely used to work, not sure if its because I updated to a preview release (currently on 2021.10.03.1816) or something else.

My setup is:
Intel G5500
Ubuntu 20.04.3 LTS (headless)
8 GB Ram
2 X HDHR Prime

Channels is installed default, no docker or VMs.

The Selected Stream references the selected bitrate of the stream being used (which impacts the total data used to watch the recording). Download refers to the measured rate of how quickly the connection is able to download data.

We download as fast as the network connection allows.

1 Like

I understand that, but this is a live stream. The buffer is staying constant because it is basically live 1-2 seconds behind.

I just noticed the Video Bitrate being reported towards the bottom is also showing 7mbps. You’re right something is going wrong here. Are you using hardware or software Transcoding on the DVR?

Can you submit diagnostics and let us know when you have so we can see more about what’s going on?

I just submitted diagnostics on my iphone SE2.

I generally use hardware transcode, but I switched it to software for a sec. The CPU and server isn't transcoding according to the CPU load and the activity.
image

I have noticed this problem too. When you select a channel and the bitrate is less than the option selected in settings it will not transcode. If the bitrate is higher than the option selected in settings it will transcode. The server appears to decide if it will transcode based on whatever the bitrate of the channel is when initially selecting the channel. Often when a commercial is playing when initially selecting a channel the server will not transcode the entire session due to the lower bitrate.

I think I have seen that too, because 2Mbps seems to work where 4Mbps doesn't work.

Edit: This seems to be exactly what is happening, sometimes the transcoder is triggered for 4Mbps and sometimes it isn't. It seems to always be triggered when the setting is 2Mbps.

FWIW, I am using a M1 Mac Mini with software decoding and adaptive streaming turned off. The Mac mini’s hardware decoder seems to be poor.

This is an interesting issue. It does look like the problem is that the bitrate we're getting from the cable channel is varying more than we anticipated. We take the sampling of the bitrate when we start streaming the channel and it's only 4mbps which causes us to decide to remux it. Then later it goes up to 8mbps.

We'll have to talk internally about this, but we may have to force transcoding on Cable H.264 channels even if the bitrate at the level that we could transcode because we won't be able to predict if it will go up later.

Thank you all for pointing this out.

2 Likes

Thanks eric for the quick responses. I really do appreciate getting responses from developers and I wish more software worked like that.

As an outsider, a possible solution could be to take a rolling average of bit rate and turn transcoding on or off based on that in a similar way that adaptive transcoding works. I understand that there probably are some challenges with that solution. Forcing transcoding, as you suggest, would be a good option, especially if you could enable it or disable it.

Cheers