Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Location Overlay Displays Filename When Using Apple's Videos #1279

Closed
kpanattoni opened this issue Dec 31, 2022 · 14 comments
Closed

Location Overlay Displays Filename When Using Apple's Videos #1279

kpanattoni opened this issue Dec 31, 2022 · 14 comments

Comments

@kpanattoni
Copy link

Hello,

I did not find this issue in the issues list, nor did I find any information on this in the FAQ and Troubleshooting Guide on the main page. My search skills are not always that great, but please point me to the right post if I did not find it.

I am downloading videos that are directly from the Apple servers containing videos for the AppleTV version, all of which are from the spreadsheet that I am sure everyone here has seen. In the past, and I do mean back in the 1.0 beta days, I could turn on the overlay for Location, and I would see the location information. I do not remember when this began, but now if I turn on the Location overlay, all I see is the filename. I am curious if this issue is in the way the video is cached, or if it is supposed to be in the video's embedded metadata. Either way, I am not sure how to fix this, despite having had success with showing the locations without any work on my end. I have tried to use the recommendations in the add local source prompt that says the best place to store the local files, but this has not helped any, so I have had them hosted on my external with no playback issues other than this.

What am I missing? I am certain that others have had this issue before, I just cannot find anything about it, let alone a solution. System configuration info is below.

Thanks!
-Kim

M1 Mac Mini 2020 8GB RAM
MacOS Ventura 13.0.1
LG 27UL500-W via HDMI

AerialLog.txt

@glouel
Copy link
Collaborator

glouel commented Dec 31, 2022

Hi @kpanattoni

I am downloading videos that are directly from the Apple servers containing videos for the AppleTV version, all of which are from the spreadsheet that I am sure everyone here has seen.

I admit I have no idea about that spreadsheet, but if it's that's old, it's likely why it's not working.

The old video files have nearly (or at this point probably completely) all been replaced by newer ones by Apple over the years, and the new manifest with the location data are made for the "new" videos, and not the super old ones.

So, first, why are you downloading them manually ? The whole point of Aerial is that it can download those videos for you from Apple servers, and keep up with the latest location information/new videos introduced.

If you want to download all videos from Apple servers :

  • Open Aerial settings
  • Go to "Cache", uncheck "Automatically download videos" in the middle, this will disable the "rolling" cache
  • Click "More videos" on the left. Ensure "tv OS 16" is checked (you can leave the other ones unchecked)
  • Press "Download all videos" bottom right

This will download all the "newer" versions of the videos, and location information will work with these.

Before you do that though, click "Advanced" and at the top choose your favorite video format. Your M1 mac can handle anything, 4K HDR looks best for most people.

Makes sense ?

@kpanattoni
Copy link
Author

kpanattoni commented Dec 31, 2022

Hi @kpanattoni

I am downloading videos that are directly from the Apple servers containing videos for the AppleTV version, all of which are from the spreadsheet that I am sure everyone here has seen.

I admit I have no idea about that spreadsheet, but if it's that's old, it's likely why it's not working.

Here is the link to that spreadsheet; it is updated every so often: https://docs.google.com/spreadsheets/d/1bboTohF06r-fafrImTExAPqM9m6h2m2lgJyAkQuYVJI/edit#gid=1684411812

The old video files have nearly (or at this point probably completely) all been replaced by newer ones by Apple over the years, and the new manifest with the location data are made for the "new" videos, and not the super old ones.

So, first, why are you downloading them manually ? The whole point of Aerial is that it can download those videos for you from Apple servers, and keep up with the latest location information/new videos introduced.

I am downloading them manually since I do not have broadband at home and use my phone's hotspot (which does not have the greatest reception here at all...), which I know is not ideal... But I download them from my phone either when I have good reception or have WiFi, then copy them to my computer, use a local source, and go from there. Still, no, not ideal.

If you want to download all videos from Apple servers :

  • Open Aerial settings
  • Go to "Cache", uncheck "Automatically download videos" in the middle, this will disable the "rolling" cache
  • Click "More videos" on the left. Ensure "tv OS 16" is checked (you can leave the other ones unchecked)
  • Press "Download all videos" bottom right

This will download all the "newer" versions of the videos, and location information will work with these.

Believe me, I really want to do this, but that would again mean taking the Mini somewhere with me to set it up. :P Likely the mall or Starbucks. ;)

Before you do that though, click "Advanced" and at the top choose your favorite video format. Your M1 mac can handle anything, 4K HDR looks best for most people.

I have all of the formats available, from 1080p all the way up to 4k HDR and boy do those look amazing! :) There are some videos that are apparently not available in 4K, so I download those as well just because they are awesome videos.

Makes sense ?

Makes complete sense... Just wish I could do it that way without killing the data on my phone's hotspot. ;) It is my internet connection that does not make sense. :P

P.S. - That sheet has two other pages that it refers to for its links, so you have to download it and open it in something like Excel or another program that does not respect the hidden attributes (I used Numbers) and displays all of the sheets.

Thanks!
-Kim

@kpanattoni
Copy link
Author

I know this is a minor thing, and it is not as crucial as others and might not even matter to some, but I wanted to ask about it. :) Happy New Year!

@glouel
Copy link
Collaborator

glouel commented Jan 1, 2023

Thanks Kim for the link to the spreadsheet, had no idea this existed ! From what I can see it's mostly (maybe near totally ?) current so the vast majority videos should work with locations. There's also as you pointed out some old 1080p videos that don't have a 4K equivalent. For most of these, Aerial won't be able to display location information.

And understood your situation, this is not the first time this has happened so there are workarounds for it, but it's probably something minor in your setup.

So first thing first, the location data is in the ressource file that Aerial gets from Apple server, you will minimally need to let Aerial download this at startup, or get it manually and put it in the right place if you really can't. In order to check if you have it, go to Advanced, scroll down a bit, and press Show log in finder.

Capture d’écran 2023-01-01 à 15 58 25

This will open Finder to where Aerial store its files, what you absolutely need is a folder called "tvOS 16" with the content as shown below :

Capture d’écran 2023-01-01 à 15 59 39

TVIdleScreenStrings.bundle is provided by Apple and contains translations in many languages, this is where (most) translations come from.

Assuming you have those, the second step is to make sure your videos are actually in Aerial's Cache. Aerial won't be able to match the location info if you add your files using the "Add local..." in "More videos", it will display the filename instead.

So first go to Advanced, pick the format you want (probably 4K HDR).

Second, go to Cache and set it up like this if not done already :

Capture d’écran 2023-01-01 à 16 17 13

Make sure automatically download videos is unchecked. That means, Aerial won't download and use your bandwidth from now on.

Third step, press Show in Finder here, it will open the Cache folder. Simply copy your 4K HDR videos here.

Last step, in More videos, make sure "tvOS 16" is checked. This way, Aerial will match your files with the informations from the manifest, and display location correctly.

It's a bit convoluted but this should 100% work. Let me know if it does and happy new year !

@kpanattoni
Copy link
Author

Thanks Kim for the link to the spreadsheet, had no idea this existed ! From what I can see it's mostly (maybe near totally ?) current so the vast majority videos should work with locations. There's also as you pointed out some old 1080p videos that don't have a 4K equivalent. For most of these, Aerial won't be able to display location information.

Most welcome about the spreadsheet; I found it a few years ago and I do not remember specifically how, though it likely had to do with that hotspot data thing. :P

Peculiar, that about 1080p videos; I thought the location information was something embedded into the file's metadata, but then again I am still learning here. :P

And understood your situation, this is not the first time this has happened so there are workarounds for it, but it's probably something minor in your setup.

Yeah, my setup has got to be wonky for this to not be working right. Let me go through all of this and get back to you. :)

So first thing first, the location data is in the ressource file that Aerial gets from Apple server, you will minimally need to let Aerial download this at startup, or get it manually and put it in the right place if you really can't. In order to check if you have it, go to Advanced, scroll down a bit, and press Show log in finder.

Capture d’écran 2023-01-01 à 15 58 25

This will open Finder to where Aerial store its files, what you absolutely need is a folder called "tvOS 16" with the content as shown below :

Capture d’écran 2023-01-01 à 15 59 39

TVIdleScreenStrings.bundle is provided by Apple and contains translations in many languages, this is where (most) translations come from.

Assuming you have those, the second step is to make sure your videos are actually in Aerial's Cache. Aerial won't be able to match the location info if you add your files using the "Add local..." in "More videos", it will display the filename instead.

So I am guessing that "Add Local" is merely for other videos people might have on their computer that they just want included in Aerial simply because they have some great videos? That makes sense, though I do have to wonder: If I have these files from said spreadsheet, there is no subdirectory structure?

So first go to Advanced, pick the format you want (probably 4K HDR).

Second, go to Cache and set it up like this if not done already :

Capture d’écran 2023-01-01 à 16 17 13

Make sure automatically download videos is unchecked. That means, Aerial won't download and use your bandwidth from now on.

Third step, press Show in Finder here, it will open the Cache folder. Simply copy your 4K HDR videos here.

Last step, in More videos, make sure "tvOS 16" is checked. This way, Aerial will match your files with the informations from the manifest, and display location correctly.

It's a bit convoluted but this should 100% work. Let me know if it does and happy new year !

Ok, will do all of this and get back to you. :) Again, happy new year. ^_^

@glouel
Copy link
Collaborator

glouel commented Jan 1, 2023

Peculiar, that about 1080p videos; I thought the location information was something embedded into the file's metadata, but then again I am still learning here. :P

The string bundle I mention above is a directory, inside you'll find all the captions for all the current tvOS 16 videos. It gets extra complicated because videos aren't identified by their filename, but by a UUID (that's inside the manifest) then this UUID is linked to a set of keys that gives you the location strings. So basically that's why it won't work with videos outside of the cache, I need the UUID to grab the location info.

So I am guessing that "Add Local" is merely for other videos people might have on their computer that they just want included in Aerial simply because they have some great videos? That makes sense, though I do have to wonder: If I have these files from said spreadsheet, there is no subdirectory structure?

No structure to the Cache, just put the files in there at the root of Cache/

@kpanattoni
Copy link
Author

The string bundle I mention above is a directory, inside you'll find all the captions for all the current tvOS 16 videos. It gets extra complicated because videos aren't identified by their filename, but by a UUID (that's inside the manifest) then this UUID is linked to a set of keys that gives you the location strings. So basically that's why it won't work with videos outside of the cache, I need the UUID to grab the location info.

No structure to the Cache, just put the files in there at the root of Cache/

Well, that made all the difference! I have run into a small issue, however: I do have my video format set to 4K HEVC. If I change it to 4K HDR, the preview window at the top of "Screen Saver" in the System Settings says "Preview is disabled in Ventura Beta", and the screensaver does not play any of the videos. I am definitely not using a beta version. Odd...

Also: When I have nothing in my Cache folder, the screensaver still plays videos that I do not even have downloaded. It is as if it is streaming videos instead. Is this supposed to happen?

@glouel
Copy link
Collaborator

glouel commented Jan 1, 2023

The string bundle I mention above is a directory, inside you'll find all the captions for all the current tvOS 16 videos. It gets extra complicated because videos aren't identified by their filename, but by a UUID (that's inside the manifest) then this UUID is linked to a set of keys that gives you the location strings. So basically that's why it won't work with videos outside of the cache, I need the UUID to grab the location info.
No structure to the Cache, just put the files in there at the root of Cache/

Well, that made all the difference!

Great !

I have run into a small issue, however: I do have my video format set to 4K HEVC. If I change it to 4K HDR, the preview window at the top of "Screen Saver" in the System Settings says "Preview is disabled in Ventura Beta", and the screensaver does not play any of the videos. I am definitely not using a beta version. Odd...

This is just the HDR preview that doesn't work in Ventura, period. The bug was originally in Ventura beta but it's still here in Ventura finals, it's just that I hadn't updated the message. You can use 4K HDR you just won't get the tiny preview thing.

Also: When I have nothing in my Cache folder, the screensaver still plays videos that I do not even have downloaded. It is as if it is streaming videos instead. Is this supposed to happen?

If there's nothing at all, Aerial will try and stream once, cache the file, and will play that endlessly if you have automatic downloads off. Just don't leave your folder empty and set it up with your already downloaded files.

@kpanattoni
Copy link
Author

I have run into a small issue, however: I do have my video format set to 4K HEVC. If I change it to 4K HDR, the preview window at the top of "Screen Saver" in the System Settings says "Preview is disabled in Ventura Beta", and the screensaver does not play any of the videos. I am definitely not using a beta version. Odd...

This is just the HDR preview that doesn't work in Ventura, period. The bug was originally in Ventura beta but it's still here in Ventura finals, it's just that I hadn't updated the message. You can use 4K HDR you just won't get the tiny preview thing.

Actually, none of the videos play once I activate the screensaver. I have it set to a hot corner for any screensaver; just move my mouse over to the corner and whatever screensaver I use is what it loads. However, if I set my format to 4K HDR, even without the preview thing at the top, none of my cached videos play, even if they are the 4K HDR versions of the files.

Also: When I have nothing in my Cache folder, the screensaver still plays videos that I do not even have downloaded. It is as if it is streaming videos instead. Is this supposed to happen?

If there's nothing at all, Aerial will try and stream once, cache the file, and will play that endlessly if you have automatic downloads off. Just don't leave your folder empty and set it up with your already downloaded files.

It does not seem to do that. It does play the videos in my cache folder, but then I see videos that I do not have. I have made sure several times that "Automatically Download Videos" is off, but I still see videos I do not have in addition to the ones I do have. Not sure why. For example, I see Scotland, or Yosemite in addition to my own videos. I double check the "playing now" link and it looks like this:

image
However, I do not have 112 videos in my cache, and I cannot see the downloading progress bar in the lower left that I usually see if it is downloading more videos. I only have 53 videos in my cache, for example. So far, in the Browse Videos videos section of the options, as shown below, I already have things like "Alaskan Jellies 1" in my cache, and yet it asks me if I want to download them:

image

Now if I set the following options in the "More Videos" list as follows, and try to play those 53 videos, I get nothing. However, I expect that.

image

If I activate all 3 versions of tvOS, I do see more of the videos I have downloaded categorised in the various versions, but the number does not add up to the amount of videos I have. It only shows me 19 videos instead of 53.

image

I double checked my Cache settings, and the size of the videos found in there matches the folder size on my OS:

image

image

And of course, going to the Now Playing section, I see the following as a video count, which is off. I know I do not have anything selected for the sake of this screenshot, but look at the number of videos it is counting:

image

Since "Play videos from selected" menu does not give me the option for "Cache", I do not have a way to tell it what to play. So I go to the "Browse Videos" section, and the list takes forever to refresh, but the videos I see that do not have a download button are still fewer than the 53 I have. Here is a screenshot of the Cache folder on the OS:

image

Okay... this reply is waaaaaaaaay too long, but I really am hoping that it helps you see the issue. Especially since when I activate the screensaver, it plays not only some of my videos, but videos that I do not have on my system. I am going to grab the log file and attach it here so you can see if there is just something weird or not.

Again you are being really really helpful! Especially considering that you do this work on your own. Thank you so much for helping me get this far, I am just still struggling with these things. :P

AerialLog.txt

@glouel
Copy link
Collaborator

glouel commented Jan 2, 2023

Ok I think you are close here, but because you use Aerial differently you get tripped by some of the UI.

First, the video count. What you see in the UI is the total count available from Apple. So yes, you will see stuff you don't have listed in here, that's how it works. Because Aerial downloads videos for most people, they want to see what's available, enable what they want, disable what they want, change their mind, etc.

According to your log and some of your screenshot, the problem you have is you have nothing in your playlist :

2023-01-01 17:58:29.086 : Playlist raw count: 0 raw cached count 0 isRestricted: false restrictedTo: 
2023-01-01 17:58:29.086 : Final count : 0
2023-01-01 17:58:29.087 : Empty playlist, not good !

This is what gets you into streaming and you don't want that.

So, easy fix, Now playing on the left, pick then "Locations", and click "Select All".

Capture d’écran 2023-01-02 à 01 20 47

The UI will not reflect here what you have downloaded. It still will show a count of what's available from the source. But as long as there's at least "one" video in the cache that gets recognised, it won't stream anything and just play from what it has, so enable everything.

Now, maybe I didn't explain this enough but you are mixing formats, that's not how it works. I had you previously set a format such as 4K HDR. You should ONLY put 4K HDR videos in your cache, because only those files will get matched. Your other files will be ignored, I can see in your last screenshot some 2K HEVC (so 1080p HEVC), 4K HEVC and some 1080p H.264. Pick a format, stick to it, only put the files from that format in the cache, and you should be ok.

You will see when a video is recognized by the lack of the download arrow in the browse list :

Capture d’écran 2023-01-02 à 01 23 35

This is why doing it with a spreadsheet is messy, you need to perfectly sort your videos.

You can check this old message here for how to cache all videos from another machine using the manifest (entries.json) : #801 (comment)

This is much more foolproof.

If you use a Terminal and go to ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial/tvOS 16

Then do

cat entries.json | jq -r '.assets[]."url-4K-SDR"'

You'll get a list of all the files in that respective format to download. Those will all be supported as long as you make sure what is in your Cache folder corresponds to what you pick in Advanced.

@kpanattoni
Copy link
Author

Now, maybe I didn't explain this enough but you are mixing formats, that's not how it works. I had you previously set a format such as 4K HDR. You should ONLY put 4K HDR videos in your cache, because only those files will get matched. Your other files will be ignored, I can see in your last screenshot some 2K HEVC (so 1080p HEVC), 4K HEVC and some 1080p H.264. Pick a format, stick to it, only put the files from that format in the cache, and you should be ok.

Ok think I got it re: the formats vs the selection in the Advanced menu, there is no way to tell Aerial to play all of your files no matter what format, and you have to choose your resolution and you are limited to that overall? The reason I ask is that there are some videos I want to load that do not have anything but 1080, and I want to include those somehow; they are pretty awesome looking vids. Particularly there is at least one in the Hawai`i collection that are only 1080p despite the bulk of them the others having a 4K or 4K HDR alternate. Not sure what it is about the way the render engine is setup that makes this so, but oh well. Can do.

As to "Now Playing", which I believe you are referring to as the playlist; I guess that there is no way to tell it to only display videos in your cache? My only confusion then is why I can run the screensaver and it will run videos that I do not have in my library, no matter the format. The screen saver will sometimes play something like Grand Canyon, and I do not have any Grand Canyon videos.

Other than that, the whole explanation about the videos having to be in the Cache folder helps a lot. :) I will go back and learn more about the .json files more and how that sort of connection works just so that I can learn more.

Thanks :)

@glouel
Copy link
Collaborator

glouel commented Jan 2, 2023

Ok think I got it re: the formats vs the selection in the Advanced menu, there is no way to tell Aerial to play all of your files no matter what format, and you have to choose your resolution and you are limited to that overall?

Yes, this is how the cache works. The cache expects the file to be in the correct format, there's simply no way around that.

The reason I ask is that there are some videos I want to load that do not have anything but 1080, and I want to include those somehow; they are pretty awesome looking vids. Particularly there is at least one in the Hawai`i collection that are only 1080p despite the bulk of them the others having a 4K or 4K HDR alternate. Not sure what it is about the way the render engine is setup that makes this so, but oh well. Can do.

Again, if you want those, add them separately as local files. You won't be able to get locations for them anyway as the location information simply is no longer provided by Apple, as those files has been replaced by newer ones, and the new descriptions no longer match.

As to "Now Playing", which I believe you are referring to as the playlist;

Yes

I guess that there is no way to tell it to only display videos in your cache? My only confusion then is why I can run the screensaver and it will run videos that I do not have in my library, no matter the format. The screen saver will sometimes play something like Grand Canyon, and I do not have any Grand Canyon videos.

Again, assuming you did what I said :

  • only put files in the correct format in your cache
  • enable everything
  • disable automatic downloads,

Aerial will never stream/download anything new. It will ONLY play what's it your cache. That's how it works with the settings I gave you.

If you see other videos, it's because you didn't follow my instructions on this. By default, it only plays what's cached, assuming

  • it's selected
  • in the proper format.

Don't put stuff that doesn't fit those criterias in the cache, and add them locally and forego the location. You can manually add location information though if you want by editing the manifests that Aerial will create for the local folder after adding it. See this for more on how to edit those files (look for pointsOfInterest) : https://github.com/AerialScreensaver/AerialCommunity/blob/master/CreatingASource.md

@kpanattoni
Copy link
Author

Ok think I got it re: the formats vs the selection in the Advanced menu, there is no way to tell Aerial to play all of your files no matter what format, and you have to choose your resolution and you are limited to that overall?

Yes, this is how the cache works. The cache expects the file to be in the correct format, there's simply no way around that.

I guess that is an Apple thing and not a screen saver thing. Bummer.

The reason I ask is that there are some videos I want to load that do not have anything but 1080, and I want to include those somehow; they are pretty awesome looking vids. Particularly there is at least one in the Hawai`i collection that are only 1080p despite the bulk of them the others having a 4K or 4K HDR alternate. Not sure what it is about the way the render engine is setup that makes this so, but oh well. Can do.

If you see other videos, it's because you didn't follow my instructions on this. By default, it only plays what's cached

Followed to a tee. I do not have Grand Canyon files. Not sure what is up. Not that it matters at the moment, just something I noticed.

Anyway, you have been most helpful, so thank you! :)

-Kim

@glouel
Copy link
Collaborator

glouel commented Jan 3, 2023

Followed to a tee. I do not have Grand Canyon files. Not sure what is up. Not that it matters at the moment, just something I noticed.

It's possible that grand canyon video was downloaded while you had incorrect settings maybe at some point ? I would suggest next time to note the exact time this is happening, and look at the log for the playlist decision (what I pasted a couple of messages above from your log). Or put the log here, with exact time, and I'll have a look.

It should be an either/or situation, either the cache is working or its not, but not some mixed thing.

Anyway, you have been most helpful, so thank you! :)

Np take care !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants