NEW: Roku app for Channels DVR (experimental)


Wow that’s so strange. So with Blend now, do all channels work or are there some that still refuse to play?

I’d expect a TV to be able to play any interlaced 60fps mpeg2 stream directly, since so many are broadcast that way. It’s very confusing that it’s being so picky, especially when regular Rokus have no problem ( clearly states 1080p up to 60fps is supported, when using H264 High 4.1/4.2).


Okay, I’ve done a little bit more experimenting.

I get flawless 1080i with excellent deinterlacing through the Roku media player using the HDHomeRun Connect (since the Prime isn’t working with that). So we know the TCL Roku TV is actually capable of it.

Secondly, I decided to try and play some recordings from the Channels DVR through the Roku media player and it says that the file is damaged or corrupt.

I then remembered I had leftover recordings from when I was using the HDHomeRun DVR service, including quite a few 1080i recordings. They all played perfectly.

So that’s where I stand right now. I know the device can now handle the 1080i content with no issues at full framerate, and that there is some kind of difference between the recordings the Channels DVR is producing vs the recordings the HDHR DVR produces.


How are you playing the channels and HDHR DVR files on the Roku?

On disk the files are identical…


This is the part that makes no sense. The PRIME and CONNECT streams are exactly the same, especially when streaming mpeg2 channels.


Through the Roku’s media player app (DLNA).


Agreed, odd.

I’ll also add that i Have two HDHR Primes, and both act this way via the Roku media player. I am able to use other DLNA players throughout my home to view the HDHR Prime streams with no issues.


I decided to do a little research on TCL-Roku TVs and playback issues. I found a discussion on the Emby forum (via a Google search) and some TCL-Roku users were having very similar issues to my initial one, of channels not loading. Emby was able to resolve the issue, and this post from an Emby developer talks about the specific fix. Not sure if it’s applicable here, but though it may be worth a look:


So I got my MoCa and got the roku working.
So, if this is impacted by the web transcoding settings, is it going to get its own, so that I can get HQ at home and low on my data plan with my iPhone using the web interface?


I uploaded a new version of the app that shows the error message when the player fails.

Given that the system media player app can’t play streams from your PRIME, it’s unlikely our app would be any different. So I’ve kept the mpeg2 direct play code disabled, and the app will try to use the DVR to transcode any live/recorded TV. This works on my Rokus, so I’d be curious to hear what the error message shown is for channels where it’s not working for you.

Just to confirm, previously when you selected Blend deinterlacer were all channels working? Or were some still non-functional?

As far as direct mpeg2 playback, I have a hunch as to why your CONNECT works but PRIME doesn’t and am investigating some options.


I’ve updated the app, but I can’t get it to show any error messages. If I try to tune a channel or watch a recording, the progress bar just fills up and sits at that screen. I let it sit for 15 minutes and the Roku screensaver kicked in, and then when I press a button on the remote it just brings me back to the same screen with the full progress bar.

Regarding deinterlacing, that’s correct. When I set it to blend it works (at half the framerate and stuttering). I can load all channels and recordings with blend. I was able to load a single channel on linear tonight (it was a 720p channel) and it was running extremely slow. I then tried another 720p channel and it just sat at the completed progress bar screen for 5 minutes before I cancelled out.


what about eliminating the dvr requirement if you have an EXTEND doing the transcoding?


In our tests, the Roku is unable to play streams directly from the HDHR. Simply transcoding the stream is not enough, as it also needs to be deinterlaced and remuxed into a format that the Roku can play. The DVR also provides guide data, tuner sharing, combines multiple HDHR units together, and exposes several APIs that make writing the Roku app a lot easier.

During this experimental phase, a DVR server and subscription is required for the Roku app. In the future, that may or may not change.


I’ve uploaded a new Roku app, and a corresponding DVR build (v2017.06.28.2127) which might fix playback on the TCL TV. Let me know if it works.


Updated both and that did the trick!

All channels and recordings tune in or play in just a few seconds and play a full framerate as well. I’m glad you were able to pin down the issue!




The channels for Roku functions more or less okay as presented. Only flaw/bug I’ve been able to reproduce is when a stream pauses, or is interrupted momentarily it freezes. Upon going back one (pressing back button) it shows the first listed channel stream as if that was the player was streaming before the interruption.
Example: stream channel 10 ~Interruption, pause/freeze~ falls back to channel 1.


Not to make things more complicated. In my part of the world my cable company shifted to h264 for all hd channels, thus no more mpeg2 I don’t run our DVR. Is it possible to have the channels app run without the DVR again. If not I can wait patiently it’s not on my main tv.


I’m not sure what you mean…

Channels DVR and the Channels apps all work with H264 channels.

This thread is for the experimental Roku app, which only works with the DVR software.


Sorry I wasn’t clear. I would love to use the roku channels app without the DVR due to the fact in my situation no transcoding is required.


It is not possible to stream from the HDHR directly to the Roku, even if your channels are h264. The Roku requires a special file format, so the DVR server is required to transform the stream into the correct format. The DVR also provides guide data, tuner sharing (so multiple clients can watch the same channel using only one tuner), and a buffer for time shifting.