Understanding Encoding in the playback settings of Channels DVR

I recently gained access to ATSC 3 channels in my local area. However, initially, when I attempted to view those local channels, I experienced video studder and audio that was out of sync with the picture.

That problem was resolved by going to the playback settings in Channels DVR on my 4K Firesticks and switching to hardware encoding versus software encoding. So, my problem was fixed.

However, just a question here so that I can better understand "encoding". When the playback setting is changed from software to hardware, what exactly is that doing? In other words, what is the actual hardware that it is utilizing to render the video/audio? Is the "hardware" the 4K Firestick itself, my new HDHR tuner(s), or my NAS?

Just trying to better understand this setting. Thanks for any replies here.

It’s the hardware decoder on the client device, the fire stick in this case.

1 Like

If you're connecting remotely, then it could be the server and the client working. The server could be encoding the video and the Firestick decoding it. Actually, if you have it set to do so in the Firestick settings, it could be doing this over the LAN, too.

Thanks for the replies here. Yes, I was just curious how that all worked (in a general way) when selecting hardware encoding versus software encoding on the 4K Firesticks. I've got firesticks on my bedroom TVs, and I just know they would not stream the live broadcasts on the ATSC 3 channels (correctly) until I switched the playback settings over to "hardware" and not "software".

Interesting though that Apple TV is set up differently. For example, on Apple TV, under playback settings and advanced settings, there's simply a switch for video and audio drivers where you keep it on the "default" mode (versus "experimental" mode). There's nothing on Apple TV whereby you would need to select "hardware" versus "software". And my Apple TV (on my living set) worked flawlessly without me making any changes in order to view the live ATSC 3 broadcast channels.

Just some observations here.

There is no encoding happening on the firestick, only decoding. It has to take the compressed video data and turn it into a picture. There is a hardware chip that can do so very quickly, but sometimes has bugs or other issues. In software mode it uses regular CPU instructions, which can be slower. Especially on advanced codecs like HEVC over ATSC3

1 Like

I think you mean decoding.

That's because the state of hardware decoders on Android is such a mix of random devices, including many whose hardware decoders are woefully broken. By contrast, Apple's hardware decoders are a known factor, and consistent across devices.

1 Like

Kryptonyte said:
"If you're connecting remotely, then it could be the server and the client working. The server could be encoding the video and the Firestick decoding it. Actually, if you have it set to do so in the Firestick settings, it could be doing this over the LAN, too."

What you indicated (for any remote viewing) which I have not (yet) tried, makes sense in regards to the server (in my case a NAS) actually doing the encoding part and then a remote 4K Firestick doing the decoding.

But back to my original post, I now wonder why anyone (when using a 4K Firestick) would ever want to stick with the "default" setting of "software" versus changing it to "hardware". At any rate, I don't fully understand all this encoding and decoding stuff, but just found it interesting with the 4K Firestick and the fact that I was required to make the change in playback settings in order to get ATSC 3 channels to work properly.

For a long long time there was a bug with the hardware decoder in Fire TV devices. It was a pain for many EU/UK users, as it broke interlaced H.264 content. (It worked for years, then Amazon broke it, and finally after nearly 2 years they fixed it.)

Situations like that are why there is an option. (Similarly, TiVo broke their hardware decoder, too.)

1 Like

It's almost like ... channels dvr should have their own hardware device, so they would be able to have some form of control over the performance.

1 Like

Thanks guys for all the great feedback here! I now have a much better understanding. And, yes, I meant decoding and not encoding.

With the next release we will default to Hardware on firetv sticks again.

3 Likes

That's probably a good thing if you guys set the default to "Hardware" on Fire TV sticks on your next release. That may prevent some of us dummies from getting confused....lol.

That being said, I learned something new today; and you guys did a great job of explaining it to me!

PS of course, now I understand why your current build has been using the "software" setting as the default. As you said in your earlier post, there had been a bug in the hardware decoder for Fire TV devices due to Amazon breaking it. So I can see how there's lots of "moving parts" and it's amazing Channels DVR works so well given all the complexities.

1 Like