Metadata usage extreme - how to avoid it?

I have 5 AppleTVs in my house and barn (the barn serves as a guesthouse and workspace). I have Channels set up on a Linux system to provide DVR service for the whole LAN. I have various sized (in terms of memory) AppleTV devices, but even on some with more than the lowed memory available, I get frequent messages that tvOS has deleted the metadata because the cache was full.

Since this is most notable on Infuse, and I use it in Infuse to track what I have and have not watched, at first I was blaming Infuse, but I've seen, in their forums, and others, even here, that, apparently, Channels uses a lot of storage/memory on an AppleTV device. On one system, a 32GB AppleTV (Model A1625), I basically use only Channels and Infuse, but I've started using Silicon Dust's crappy HomeRun viewing program because I find my metadata cache is cleared at least once a week (actually, less than 7 days between clearings). I am not pausing my viewing on this system.

I try to use Channels through my DVR on a Linux server when possible, but I have multiple versions of Channels on my AppleTV. One is the "normal" free version that works with the DVR, the other is the more expensive one that is designed to work on its own, without a DVR server. I also have the one from Testflight.

First, how can I tell which version of Channels a particular instance is? I know the icons are different, but which is which?

Second, what can I do to make sure Channels does not repeatedly use up all the extra memory on an AppleTV device?

It seems to me if I have a Channels server on another computer, acting as the DVR, that Channels should be using that for as much as possible. I've seen at least one thread where users were making it quite clear this is a serious issue. I like Channels. While I pay the monthly fee for the guide and have it recording programs on my server regularly, I find I watch the recordings less and less. But this metadata usage is becoming seriously frustrating. I hate to resort to the "if you don't fix this, I'm leaving" kind of tirade, but it is THAT frustrating.

Channels doesn't use any storage space for metadata, as all of that is stored on the server. What Channels does, is use storage space for the buffer to allow you to pause and rewind, as well as buffer recordings ahead of time to allow for seamless seeking. This buffer is cleared every time you leave the video player. It can use a lot of storage, but it won't use it all up, as it always ensures there's at least a gig or more available on disk.

Infuse stores its entire metadata on disk. This is very unfortunate design thanks to the tvOS policy that purges temp data whenever it feels like it needs to reclaim space. It's a silly policy for an operating system. Infuse's lack of a centralized server means it has to write metadata to disk, it has nowhere else to store it. Doing so on an operating system with a policy like this is just a bad combination, and you're feeling those effects.

  1. Channels doesn't use the disk to store metadata
  2. Having multiple versions of Channels on your device won't lead to it using more storage space.
  3. This is an issue with Infuse, not really a Channels issue.
  4. This isn't something that's likely going to change as this is what makes Channels perform so well.

You may want to audit how many apps are installed on your Apple TV that may be creating a storage deficit. Your disk might be already close to being full, putting pressure on the disk storage sooner than it has to.

I would suggest purging your devices of as many apps/games that you do not use or need, so the disk is as free as possible. And don't bother using the "Manage Storage" section of the tvOS Settings, it doesn't accurately represent storage unfortunately.

1 Like

What you've given me, here is good, solid information, so I can go back to the Infuse forum and say, "I'm tired of you blaming another program. I have clear information on what's going on and why THAT is not true." So I really do appreciate that! Thanks!

Supposedly it (Infuse) can just download metadata - but now you've got me thinking it downloads it AND stores it, instead of just downloading what it needs as it needs it.

One point I'll bring up on the Infuse forum is that they have an iCloud sync feature. I'm going to discuss that issue.

Yeah, I thought I'd be using a lot more apps than I'd use and this is in my study, which includes a daybed for relaxing and breaks - my idea was to be able to take breaks and play games, but I don't do that much. (Part of the problem is the Steel Series controller - it went several months without use and wouldn't hold a charge after - got it replaced and the new one has the same issue!) So I can delete programs.

I was using the Aerial screensaver and I stopped using that - went with what seemed like the least memory-hogging option - using album covers from my Apple Music collection. (Apparently you can't just tell it, "Go to a blank screen!")

Does Channels reserve space at any point? If I don't hit Pause at all and just let the video feed play and don't rewind it or anything else, does Channels automatically reserve space in case it's needed? And once I start to pause and hold or rewind any live video, does Channels, at that time, reserve any memory? In other words, if I just tune to a station and leave it on, does channels use any space? Is there a way to keep it from using it? And is it possible that while Channels is using a buffer, that is when tvOS decides to clear the cache? (I would think, if I'm using a Channels server, that any video buffering would be done on the server, along with DVR recordings.)

Also, how can I tell which Channels app is which? I don't need the stand-alone, since I have a server, so I want to be sure that one is not stored on any systems. With that one gone, how do I tell the difference between "normal" Channels and the one from Testflight? I looked at both apps that I have and checked the version and they're the same.

1 Like

You're going to almost certainly want to turn this on. This allows Infuse to write the metadata to iCloud. So once it's gone through the slow processes of indexing your content from sources on the internet (which takes quite some time), it writes that to iCloud. Then if its storage gets dumped by tvOS, it can just restore it from iCloud, rather than indexing everything all over again from scratch.

No, it just uses the available space on disk.

Yes, it uses storage to buffer the live video while paused so that you can resume watching.

The paid version, Channels for HDHomeRun's icon has our logo on it. The free version that can only be used with a subscription has our logo on it with a play icon in the middle. The TestFlight version is named "Channels Beta", you can see the name of the app on the home screen. If it's in the first row, tvOS does not show app names.

The paid and free apps, are essentially the same, if you have a Channels subscription. You don't need both and can delete one of them.

Thanks, not just for this reply, but also because Channels tends to be so responsive and responsible in terms of what they do and features they provide. I haven't done anything like this in decades, but I just want to make a comparison and say Channels responds and tries to fix issues users have. With Infuse, they seem more interested in making their program what they want so it works the way they want it to. There's a long thread on this issue on their forum and my post about it got bumped to that thread. I get that it's tiring answering the same question frequently, but when a thread is over 630 posts and it's still going on, it's about time to DO SOMETHING to fix the issue and NOT blame the OS or other apps or their developers.

The problem is then it syncs the data across all 5 of my AppleTVs, including the watched/not watched icons, and I do not want that. (I would think it'd be possible to use a UUID for each AppleTV and provide the user a choice to keep watched/not watched for each separate system by keeping that data on the iCloud, along with syncing metadata, but apparently that's not doable for them.) There are a number of reasons we don't want the watched/not watched data shared from system to system. I leave a lot of shows on in the background while working (I can't work in silence!) and I don't want the random shows I watch like that to show up as watched on the AppleTV my wife uses or the one we use in the living room where we're watching together. (Plus there's the barn, with a small guest suite and we don't want what guests watch and what we watch syncing up together.)

I remember having an issue at one point with the Linux system I have the DVR on. That system was down for a while. My memory on this point may be sketchy, but I have a subscription and I couldn't get that version to work directly with the HDHomeRun tuner. I think you, or another dev, sent me a link and code to let me download the other "pay upfront" version that could bypass the DVR server and go directly to the tuner. I could be remembering that wrong, but it gave me the impression the subscription version worked with the DVR server and the other was just for straight viewing, connecting directly to the tuner without going through a DVR server. Am I completely wrong in that view?

Also, one other question: If I use Channels, on AppleTV, with the DVR server working, does Channels buffer the live video on the AppleTV or on the DVR system?

On the Apple TV.

But you can change this behavior under Streaming Quality > Delivery

You can learn more about this here

1 Like

Thanks. Took me a while to get back here, but that answers my questions.