theothernt / AerialViews

A screensaver for Android TV devices including Nvidia Shield, Fire TV, and Chromecast with Google TV. Inspired by Apple TV's video screensaver.
GNU General Public License v3.0
415 stars 32 forks source link

Added a setting to hide / remove numbers from filenames #105

Closed ArmoredCavalry closed 1 year ago

ArmoredCavalry commented 1 year ago

I wrote a script to grab all the Apple videos and use the accessibility text as the filename (with a number appended for duplicates). I added this setting to hide the number from Location display.

As I was writing it, saw that you can just use the original filename from Apple and the app will match that to info from the manifest though (oops!) Figured I'd still make this PR, and see if it makes sense to add?

theothernt commented 1 year ago

Although I appreciate the work, I don't think the PR makes sense at the moment.

I do have a question though - do you think the Aerial Views or Aerial Videos page/docs need improving so that it's more obvious that videos can be downloaded and used directly by the app?

ArmoredCavalry commented 1 year ago

Yeah I think adding the information to the docs about the filename matching would be good!

I was also thinking about this a bit more yesterday, and while it would be quite a bit of work, I think one amazing feature would be the ability to enable the local storage / SMB share as a 'cache'. So, for whatever video sources you have enabled, they would first check if the filename existed, play from there if so. If not it would pull the video from URL and cache on your designated storage for next time.

theothernt commented 1 year ago

Yeah I think adding the information to the docs about the filename matching would be good!

Ok, I'll do that soon.

I was also thinking about this a bit more yesterday, and while it would be quite a bit of work, I think one amazing feature would be the ability to enable the local storage / SMB share as a 'cache'. So, for whatever video sources you have enabled, they would first check if the filename existed, play from there if so. If not it would pull the video from URL and cache on your designated storage for next time.

This is something I've been thinking about for a long time. There are a number of problems to solve...

  1. Android TV (and devices) have very little internal storage so only external (USB, etc) or network storage (SMB) is an option.
  2. Over the last 5 years, Android has made it more difficult to read and write directly to folders. Android 13 will cause even more issues. Also, there is a 'File picker' on phones, this does not exist on Android TV.

So it should be possible for Android 12 or less, but as you say, it's a lot of work but something I would like to do. Before that, a lot more UI customisation (font sizes, weather, custom text) had to be added, plus I'll be refactoring how the app uses manifests (so I can handle more video sources, etc later).

ArmoredCavalry commented 1 year ago

I wonder if (as a stop-gap) it would make sense to host / link to a separate script to bulk-download the video files? Or provide that functionality somehow on the Aerials website? I made one in Python for an example -

https://gist.github.com/ArmoredCavalry/a902df9b44d34963e1890a4038773b63

theothernt commented 1 year ago

Yes, a Python script sounds good.

I would like the ability to download all videos or just the videos from Apple, Jetson (comm1) or Robin Fourcade (comm2).

Same with the quality, although comm1 and comm2 don't have HDR versions.

I'm hoping to add a /Scripts folder to the repo and add in a couple more scripts to 1) download all manifests/json files and 2) extract all language strings for Apple videos.

ArmoredCavalry commented 1 year ago

Just so I don't go too far down the rabbit hole (too late? 😂), I'll go ahead and close this Pull Request, and opened an issue for discussion here - https://github.com/theothernt/AerialViews/issues/106