What you're describing is definitely outside the scope of this change, but it's interesting feedback on how to handle situations where the upload bandwidth of the server is the limiting factor.
I've noticed that television (via HDHomerun over the air) typically comes in somewhere between 10 and 18 megabits per second. In testing remotely on one the 2019-12-21 releases, I found that if the available bandwidth upload from the server is about 12 to 13 megabits per second, nearly matching the program bandwidth (in this case, live TV), that ffmpeg is only processing at about 8% and the media will skip and buffer quite a bit.
Using a more extreme condition, an imported media file at about 34 Mbps (an existing media file, not a live recording), that ffmpeg will compress it, using nearly 90% of the overall multicore CPU - it plays smoothly from the remote. This is with a Shield as the remote client, set for internet streaming. I haven't tested the 12/24 releases yet.
What is it exactly that determines if and when Channels DVR will encode the outgoing stream for the remote client?
I see now, that addresses live vs. recorded.
I'll try the latest beta.
Do the client side Beta versions work okay on MiBox? I see from older posts that Aman has one for testing purposes.
Is there a way to get access to the client beta downloads by using the common Channels DVR login info, or does it have to be some kind of gmail account?
If you download the app via the Google Play store you can join the Android beta from getchannels.com/beta . Sign up with your Google Play login. It doesn’t need to match your Channels account email address.
I see how that's tied together now. Thanks, Eric.
If I download the Beta server software by holding down the update button in the server settings, do the clients automatically know that they need to be using the latest Beta also?
No, the client and server betas are separate.
There is a bug in the released client that only impacts Live TV Adaptive Bitrate that is fixed in the client betas.
Because my clients (FireTV, Shield, MiBox) are set to update apps automatically, as soon as my Google account is flagged as a Channels DVR beta subscriber, it will know to autoupdate to the latest Beta?
Maybe a better question; how do I check on the clients mentioned above to verify that they are running a beta client version and not the original client?
Check the About tab of the app to see what version is running
The Shield claims that it's using Version 2.1.19.beta-v12232301. That unit is set to autoupdate it's apps. Is there something that needs to be done to force it up to the latest beta?
That is the latest beta from 12/23 (ends in .beta-v1223)
So if I update my Channels DVR Server to the latest beta, then I also need to make sure my AppleTV is also running the latest beta version of its app?
Yes, if you have enabled Adaptive Streaming for Live TV you should be running the latest beta version of the app.
If you don't, you may experience strange behaviors including the video stopping playing after a while, quality dropping to lower bitrates when it shouldn't, and other sorts of bad experiences.
OK thanks Eric. I’ll try to make sure I have the latest.
Important Update: I have just released v2020.01.04.0209 that contains a change to remove any negative side-effects of having Live TV ABR enabled regardless of what devices are connected.
Once you upgrade to this latest DVR beta, the DVR will validate if the client is able to handle Live TV ABR without issue and if it cannot confirm it, it will serve it a fixed bitrate stream (the way it has worked before ABR). Only the latest clients have the code required to indicate to the DVR that they support Live TV ABR, so please update your clients if you would like to continue testing.
The good news is you can now have Live TV ABR enabled and clients that are still using the released builds (including Fire TV) will still work the way it used to (with non-adaptive streams).
Great stuff, thanks!
Reading through this forum post:
Regarding the newer ABR feature, are there [or could there be] options on remote client devices that would allow for separate control of how the audio vs. video is handled? For watching OTA remotely at a vacation home or cabin with a full 5.1 [or greater] channel surround system, it would be nice to get the Dolby audio passed uncompressed if possible.
For ABR to work, all bitrates must be sending H.264 video and AAC audio. We send 5.1 channel AAC for the 8mbps bitrate, and 2 channel below that.
The only way to get the uncompressed audio is to pick the Original setting (which will not use ABR in the cases that the audio is not already in AAC).
I just grabbed the Fire TV 4k device for the half off sale (only $25) and it's perfect. Had it running Channels DVR beta in minutes. Absolutely fantastic.
Thank you all for your help in testing this.
I've shipped a new DVR beta v2020.01.15.2157 that turns on Adaptive Bitrate for Live TV for everyone who has Adaptive Streaming enabled (the default).
Note: The server checks if the client is new enough to handle Adaptive Streaming for Live TV and if it isn't, will fall back to a single bitrate.
The App Store versions of all apps are now capable of handling Adaptive Streaming for Live TV, so if you update to that (and the latest DVR beta), you will be using it.