Recording conflict management

It would be nice if there was the ability to easily see or be notified of any conflicts for scheduled recordings. It appears you are able to see what has not recorded and the reason on the web interface, but its after the fact. There does not seem to be a way to see of any predictive conflicts.


Part of the reason for this is that Channels does not have exclusive access to the tuners. There is nothing stopping other programs on your network from taking a tuner that Channels was planning on using.

Granted, that does not mean that Channels cannot find some way to notify you if it knows there is going to be a conflict. It just makes the situation much more difficult to program a solution to. It also means that developing a good UI/UX for it is going to be that much harder.

I don't see why this would be so hard. My DirecTV dvr could tell me the second that I made an overlapping selection. Maybe it is as simple as allocating a tuner when the selection is made. If my phone can tell me when I've made overlapping appointments surely the Channels software could do this.

Part of the reason for this is that Channels does not have exclusive access to the tuners. There is nothing stopping other programs on your network from taking a tuner that Channels was planning on using.

I understand that but it still should show you if you have any conflicts assuming that all tuners will be free... So that you can decide which ones you prefer to record. SageTV does this flawlessly as soon as you setup a pass it will let you know if there is a conflict... then it gives you options on how to resolve it ... by letting you select what show you really want to record.

I understand the request for the feature, but I can't seem to grasp "how" this would work in the real world.

Let's say I have one 4-tuner HDHR. In my case we have 4 Android TV setups. We have the HDHR App, Channels and Emby installed on each TV. We also have Channels and Emby on our phones and tablets. I can easily consume all four HDHR tuners without ever using Channels. Channels would have to look forward in time and check the current status of all tuners in addition to checking when the recordings are about to start. If I had four concurrent recordings scheduled, but all tuners were being used by other apps, what would channels do and how would it tell me to stop using the tuners outside of Channels DVR? This is where the feature request gets fuzzy for me. How would Channels alert me and when?

I guess if I had 5 scheduled show set to record from the HDHR it could notify me of that, but overall the conflict management feature could easily fail because the HDHR is not uniquely used by the Channels DVR.

Maybe I'm over-thinking it. :slight_smile:

I understand what you are saying and that’s true if you are using multiple programs. However, in this request I’m referring to just Channels itself looking for conflicts or overlaps in its schedule.

I would like to see this as well. I understand that Channels doesn't know in advance if a tuner will be in use. But, I used to have a Dish DVR shared by many other TV's. The Dish DVR didn't know if a tuner was going to be in use. If a tuner is in use when the DVR attempts to record, it just schedules the recording for the net airing of that episode, even if its on a different channel. In addition, if you have recordings setup that exceed the physical tuners available, it would deal with that situation in advance. The Channels DVR, which I love, doesn't even do that.

Exactly. If I have multiple apps trying to control the tuners it's already too complicated. In my case, even though I have an HDHR I didn't pay for their dvr. If just channels is controlling the tuners I don't see why this would be hard at all. A tuner would be locked out as soon as a recording request is made, for the time that is specified, until the recording is done or canceled.

Back in the day I used to make Excel macros that did essentially the same thing. Just not for a tv.

That's not how HDHR tuners work. Using the HTTP interface to the tuners, they are only locked when streaming to a client.

The legacy UDP/socket based API does allow a tuner to be locked and used solely for a single program. However, AFAIK the legacy API is only used for older original and Dual tuners. If your tuner's model number starts with HDHR4-, then it is using the HTTP API. (Prime/Expand units are the exception: they are the only gen3 models to support HTTP, IIRC.)

Programs like SageTV, Tvheadend, and older versions of MythTV use the old legacy API, so they can get by with claiming a tuner for its exclusive use. But Channels does not work this way presently.

Addendum: Also, by not giving the DVR exclusive access to the tuners, Channels' classic mode of operating can still work. By default, Channels clients connect directly to a tuner for live TV streams, bypassing the DVR completely. Only when the non-default Tuner Sharing is enabled do HDHR-sourced streams pass through the DVR. Removing the option from clients to directly access the streams can have a negative impact on UX: higher network latency and increased network bandwidth. Making a change like that is non-trivial: users may not see the performance hit as a net positive.

I'll take your word for it. Most of this is Greek.

The layman's takeaway is this: while on the surface this looks like a dumb simple feature to have, deeper down it is much more complicated than it seems.

The real breakdown (from a non-developer of Channels who also understands this): it's way more complicated for two major reasons:

  1. Channels was not originally developed with a DVR in mind, just live viewing. Such a paradigm still persists, and informs the current Channels UX. Migrating to a full DVR-centric model is a HUGE decision that affects many users, including those who may never comment on this forum.
  2. If Channels were to pursue this model of DVR first, they would have to reimagine their app and its ecosystem. This means radically changing how it works from the root, and Channels taking "possession" of every discovered tuner on your network as its own.

While both are possible, it would be a huge/radical paradigm shift for the application and its development. While this might satisfy many users who are active on the forum, it would equally push away many users who have been with Channels from the start when it was live TV only.

The paradigm and UX shift is so extreme, it basically necessitates a new app/platform for those who who desire a DVR centric model, rather than a user-focused model. And such a divergence would involve an additional financial commitment for such users to accommodate this.

(Again, I'm not a member of the Channels team, but I do understand how difficult this issue/feature is to implement in a "bigger picture" scenario.)

how exactly does priority work as far as tuners go? i recently added a fake HDHR to my setup in order to get the OTA channel numbers for locast, and it seems to have messed around with my recordings.

the amazing race, which is on right now, is not recording even though i have a pass for it. the reason for this, i'm guessing, is because the fake HDHR only allows three tuners and all three were taken with live viewing and other recordings. fair enough.

however, i also have the built in locast integration still enabled and second in line, just below the new fake HDHR locast. should the system not have used that integration to record CBS at 8pm? do i now need to go in and make sure i set all recordings to only record CBS shows on channel 5900, similar to how i have all of my ABC and NBC shows set to record the TVE streams?

also, on an unrelated but related note, i'm still missing fox via TVE and should definitely have it. i'm in the LA market which definitely has it available via any one of my streaming services, but it hasn't been showing up for quite some time. it wouldn't be a big deal normally, but having to record two locals on locast vs just one makes it a little harder to make everything work...even more so when apparently there is no such thing as tuner priority.

also of note: in the web interface, the amazing race shows as "recorded" although it very much is not.

The DVR server logs will tell you how it tried to record, and from which devices. You should find the answer there. To answer your question, yes, it should fail over to secondary sources if the primary fails.

then something is wrong, because it did not. in either case.

did not tell me why it didn't record (in fact, said it recorded even though it did not), and obviously did not fail over to other sources.

So what does the log say?

the log said absolutely nothing about that episode, but when i clicked on it it showed as "recorded" even though it obviously had not been.

I came here looking for an answer to the same question. Sometimes recordings don't start because all the tuners are in use. It would be great to be notified on-screen if that's what's about to happen so that I can do something about it right away.

2020/11/09 21:00:01.317512 [DVR] Error running job 1604955600-154 24 Hours in Police Custody: The Home County Cartel: could not start stream on channels=[104 4]: HDHomeRun: 805 All Tuners In Use

Is there a chance this episode has been recorded in the past and deleted? If so, the DVR won’t record it again unless you set the pass to “re-record deleted”.

considering it was a new episode, that shouldn't have been the case. the only thing i didn't think to check was whether or not the guide data indicated that it was new...but again, since when i clicked on it in the guide it said "recorded' that would seem to indicate that the system thought it had recorded the episode when it most certainly did not.

even if the issue were a lack of tuners available (which would make sense, since i have the fHDHR in first priority and all three "tuners" were taken), it should have fallen back to the native locast integration and recorded it there...but it didn't.