{"id":24627811,"url":"https://github.com/theothernt/AerialViews","last_synced_at":"2025-10-06T18:30:59.397Z","repository":{"id":37450753,"uuid":"247770158","full_name":"theothernt/AerialViews","owner":"theothernt","description":"A screensaver for Android TV devices including Nvidia Shield, Fire TV, and Chromecast with Google TV. Inspired by Apple TV's video screensaver.","archived":false,"fork":false,"pushed_at":"2025-01-20T11:03:02.000Z","size":5549,"stargazers_count":564,"open_issues_count":27,"forks_count":37,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-01-20T12:21:05.850Z","etag":null,"topics":["android","android-tv","chromecast","exoplayer2","google-tv","kotlin","nvidia-shield","screensaver"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theothernt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"theothernt"}},"created_at":"2020-03-16T16:54:43.000Z","updated_at":"2025-01-20T11:03:04.000Z","dependencies_parsed_at":"2023-10-16T10:43:51.925Z","dependency_job_id":"ef79a200-fe7d-4b35-ad8d-9aff8a5bc827","html_url":"https://github.com/theothernt/AerialViews","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theothernt%2FAerialViews","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theothernt%2FAerialViews/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theothernt%2FAerialViews/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theothernt%2FAerialViews/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theothernt","download_url":"https://codeload.github.com/theothernt/AerialViews/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235538040,"owners_count":19006076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-tv","chromecast","exoplayer2","google-tv","kotlin","nvidia-shield","screensaver"],"created_at":"2025-01-25T05:01:50.867Z","updated_at":"2025-10-06T18:30:59.390Z","avatar_url":"https://github.com/theothernt.png","language":"Kotlin","funding_links":["https://ko-fi.com/theothernt"],"categories":["Kotlin","Apps"],"sub_categories":["Screen Saver"],"readme":"# Aerial Views\n\n[![Latest GitHub release](https://img.shields.io/github/v/release/theothernt/AerialViews.svg?logo=github\u0026label=GitHub\u0026cacheSeconds=3600)](https://github.com/theothernt/AerialViews/releases/latest)\n[![GitHub Downloads](https://img.shields.io/github/downloads/theothernt/AerialViews/total?color=blue\u0026label=Downloads\u0026logo=github)](https://github.com/theothernt/AerialViews/releases/latest)\n[![Google Play Downloads](https://img.shields.io/static/v1?style=flat\u0026color=brightgreen\u0026logo=google-play\u0026logoColor=FFFFFF\u0026label=Downloads\u0026message=221k%2B)](https://play.google.com/store/apps/details?id=com.neilturner.aerialviews)\n[![Amazon Fire TV](https://img.shields.io/static/v1?style=flat\u0026color=FC4C02\u0026logo=Amazon\u0026logoColor=FFFFFF\u0026label=Downloads\u0026message=9k%2B)](https://www.amazon.com/gp/product/B0B4PPSNT6)\n\n[![API](https://img.shields.io/badge/API-22%2B-lightgrey.svg?style=flat)](https://android-arsenal.com/api?level=22)\n[![License](https://img.shields.io/:license-gpl%20v3-lightgrey.svg?style=flat)](https://raw.githubusercontent.com/theothernt/AerialViews/master/LICENSE)\n\nA screensaver for Android/Google TV devices and phones including Nvidia Shield, Fire TV, and Google TV Streamer.\n\nInspired by Apple TV's beautiful video screensaver!\n\n*Please read if you have an [Nvidia Shield](#frequently-asked-questions) or [a recent Google TV device.](#how-to-set-aerial-views-as-the-default-screensaver)*\n\n## Features include...\n\n* 4K Dolby Vision (HDR) videos, if your TV supports it\n* Over 150 videos from Apple, Jetson Creative and Robin Fourcade\n* Show videos \u0026 photos from USB storage, [Immich server](https://immich.app/), Samba, or WebDAV\n* Place overlays in the corners of the screen such as clock, description/location, music playing, date, custom message\n* Alternate the position of overlays to avoid burn-in on QD/OLED TVs\n* Many playlist options to limit media length or loop certain videos\n* Use the D-Pad or swipe (on phones, tablets, etc) to skip media, skip songs, change speed, seek, pause and more\n* Refresh rate switching 24fps, 50fps, etc content\n\n## Support the project\n\nIf you enjoy using the app, please consider [buying me a coffee](https://ko-fi.com/theothernt).\n\n[![Ko-fi badge](docs/images/kofi_badge.png)](https://ko-fi.com/theothernt)\n\n## How to get Aerial Views...\n\n[![Google Play Store badge](https://play.google.com/intl/en_us/badges/images/badge_new.png)](https://play.google.com/store/apps/details?id=com.neilturner.aerialviews) \u0026nbsp;\u0026nbsp;\n[\u003cimg alt=\"Amazon Appstore badge\" src=\"https://images-na.ssl-images-amazon.com/images/G/01/mobile-apps/devportal2/res/images/amazon-appstore-badge-english-black.png\" width=\"153\"\u003e](http://www.amazon.com/gp/mas/dl/android?p=com.neilturner.aerialviews)\n\nOr [download the APK from the Releases page](https://github.com/theothernt/AerialViews/releases) and install it manually\n\n## Want to Contribute?\n\nAerial Views is an open-source project — contributions are welcome! Whether it’s a bug fix, new feature, or improving translations, feel free to [open an issue](https://github.com/theothernt/AerialViews/issues) or submit a pull request.\n\nAnd please get in contact before submitting pull requests, thanks!\n\n## Translations\n\nIf Aerial Views is not available in your language but you have some free time to help translate menu text and video descriptions, please get in touch!\n\nWe use the [Lokalise](https://lokalise.com/) platform to coordinate translations for Aerial Views and thank them for their support of this open-source project.\n\n[![Lokalise logo](docs/images/lokalise_logo.png)](https://lokalise.com/)\n\n## Where to download videos for offline/local playback\n\nDownload curated videos from...\n\n* [Apple](https://aerial-videos.netlify.app/#apple) (114 videos)\n* [Jetson Creative](https://aerial-videos.netlify.app/#jetson-creative) (20 community videos)\n* [Robin Fourcade](https://aerial-videos.netlify.app/#robin-fourcade) (18 community videos)\n\n## How to set Aerial Views as the default screensaver\n\nSince 2023, nearly all devices that ship with Google TV, running Android TV 12 or later, have no user-interface to change the screensaver to a 3rd party one...\n\n* __Chromecast with Google TV, Google TV Streamer__\n* __Recent MECOOL devices__\n* __Recent TCL, Philips, and Sony TVs__\n* __onn. Google TV devices (excluding the 2021 model)__\n* __Fire TV (won't work with Fire OS 8.1 and above)__\n\nBut it can be done manually. Here is an overview of the steps...\n\n1. Enable Developer mode, enable USB debugging, then find the IP address of your device\n2. Use a Mac, iPhone, PC or Android phone with the required software or app\n3. Connect to your Android/Google/Fire TV device\n4. Run two ADB commands, one to set Aerial Views as the default screensaver, the other to set how long it takes the screensaver to start\n\nThe full instructions are below, please click or tap to expand each step.\n\nAnother option is to use the *TDUK Screensaver Manager* app. Details on the app are below.\n\n\u003cdetails\u003e\n\u003csummary\u003eEnable Developer Mode on your Android/Google TV\u003c/summary\u003e\n\u0026nbsp;\n\nNavigate to the Settings menu on your device, then to the About screen. Depending on the device…\n\n`Settings \u003e System \u003e About` or\n`Settings \u003e Device Preferences \u003e About`\n\nScroll down to __Build__ and select __Build__ several times until you get the message \"You are now a developer!\"\n\nReturn to __Settings__ and look for the newly enabled __Developer options__ page.\n\nOn the __Developer options__ page, look for the __USB debugging__ option and enable it.\n\nNext, find the __IP address__ of your device. Try looking in the Network \u0026 Internet settings of the device, check the properties of the current LAN or WIFI connection - that should list the current IP address eg. 192.168.1.105\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eEnable Developer Mode on Fire Stick/TV\u003c/summary\u003e\n\u0026nbsp;\n\nOpen __Settings__, then navigate to __My Fire TV__ then the __About__ screen.\n\nHighlight your device name and press the action button on your remote seven times.\n\nYou'll now see a message confirming \"You are now a developer\", and it'll unlock the __Developer Options__ in the previous menu.\n\nNavigate to the __Developer Options__ page, look for the __ADB debugging__ option and enable it.\n\nNext, find the IP address of your device and make a note of it. Navigate to the __About__ then __Network__ screen, which will show your current IP address eg. 192.168.1.120\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAllow Auto Launch on TCL TVs\u003c/summary\u003e\n\u0026nbsp;\n\nIf you have a TCL TV with Google TV, you need to allow the Auto Launch permission so that Aerial Views can be launched from the background when the screensaver starts.\n\nOtherwise, the screensaver cannot be started, either automatically, or manually via the Screensaver menu shortcut, unless the Aerial Views app has been recently opened (see [#191](https://github.com/theothernt/AerialViews/issues/191) for details).\n\n1. Open the __Safety Guard__ app on your TV\n2. Navigate to `Permission Shield \u003e Auto Launch Permission`\n3. Change the `Auto manager` at the top to `Closed` - this allows you to manually select which apps can auto-launch instead of the system deciding automatically\n4. Scroll to __Aerial Views__ and change it to `Opened`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eConnect using an iPhone\u003c/summary\u003e\n\u0026nbsp;\n\nFind an iPhone app that is capable of running ADB commands, [such as iSH Shell](https://ish.app/), which is free.\n\nOnce installed, run the app and install the Android Tools with the following commands…\n\n```sh\napk update\napk add android-tools\n```\n\nTo check if the ADB command is working, try typing…\n\n```sh\nadb version \n```\n\nAfter pressing return, you should see something like this\n\n```sh\nAndroid Debug Bridge version 1.0.41\nVersion  31.0.0p1-android-tools\n```\n\nNow you can execute ADB commands.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eConnect using an Android phone\u003c/summary\u003e\n\u0026nbsp;\n\nFind an Android app that is capable of running ADB commands, [such as Remote Termux](https://play.google.com/store/apps/details?id=com.termux), which is free.\n\nOnce installed, run the app and install the Android Tools with the following commands…\n\n```sh\npkg update\npkg install android-tools\n```\n\nTo check if the ADB command is working, try typing…\n\n```sh\nadb version \n```\n\nAfter pressing return, you should see something like this\n\n```sh\nAndroid Debug Bridge version 1.0.41\nVersion  34.0.0p1-android-tools\n```\n\nNow you can execute ADB commands.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eConnect using a Mac\u003c/summary\u003e\n\u0026nbsp;\n\nDownload the official [SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) for Mac.\n\nExtract the files from the ZIP archive to a folder. Then open a Terminal or Command Prompt and navigate to the folder.\n\nTo check if the ADB command is working, try typing…\n\n```sh\nadb version\n```\n\nAfter pressing return, you should see something like this\n\n```sh\nAndroid Debug Bridge version 1.0.41\nVersion  35.0.0-11411520\n```\n\nNow you can execute ADB commands.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eConnect using a PC with Windows\u003c/summary\u003e\n\u0026nbsp;\n\nDownload the official [SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) for Windows.\n\nAn alternate option is [Tiny ADB and Fastboot Tool (Portable version)](https://androidmtk.com/tiny-adb-and-fastboot-tool) but they both work in the same way.\n\nExtract the files from the ZIP archive to a folder. Then open a Terminal or Command Prompt and navigate to the folder.\n\nTo check if the ADB command is working, try typing…\n\n```sh\nadb version\n```\n\nAfter pressing return, you should see something like this\n\n```sh\nAndroid Debug Bridge version 1.0.41\nVersion  35.0.0-11411520\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eADB command - set Aerial Views as the default screensaver\u003c/summary\u003e\n\u0026nbsp;\n\nConnect to your Android TV device and start a command shell...\n\n```sh\nadb connect \u003cip_address\u003e\n```\n\n:information_source: *Use the IP address of your device from earlier steps, it should be something like 192.168.1.98*\n\n```sh\nadb shell\n```\n\n:information_source: *The first time you connect to your Android TV device, you will probably see a confirmation dialogue asking to \"allow\" the connection*\n\nNext, set Aerial Views as the default screensaver with this command…\n\n```sh\nsettings put secure screensaver_components com.neilturner.aerialviews/.ui.screensaver.DreamActivity\n```\n\nOptional: Confirm that the command was run successfully, as there is no confirmation when the command above is run.\n\n```sh\nsettings get secure screensaver_components\n```\n\nIf set correctly, you should see... \n\n```sh\ncom.neilturner.aerialviews/.ui.screensaver.DreamActivity\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eADB command - extra command for Fire TV + Fire OS 7.6.x.x\u003c/summary\u003e\n\u0026nbsp;\n\nRecent updates to Fire OS mean extra commands are required for Aerial Views to function properly as the default screensaver.\n\nLike with previous ADB commands, connect to your Android TV device and start a command shell. Then run the following commands...\n\n```sh\nsettings put secure screensaver_default_component com.neilturner.aerialviews/.ui.screensaver.DreamActivity\nsettings put secure contextual_screen_off_timeout 300000 \nsettings put secure screensaver_enabled 1\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eADB command - extra command for Fire TV + Fire OS 8.1.x.x\u003c/summary\u003e\n\u0026nbsp;\n\nFire OS 8.x introduces a new Ambient Experience screensaver. This must also be disabled for a 3rd party screensaver, like Aerial Views, to run normally.\n\nTo disable the Ambient Experience, run this ADB command...\n\n```sh\nsettings put secure amazon_ambient_enabled 0\n```\n\nThen reboot your Fire TV for the setting to take effect.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eADB command - change the screensaver timeout\u003c/summary\u003e\n\u0026nbsp;\n\nTo change the default timeout use this command with a value in milliseconds. So, 5 minutes is 300000, 10 minutes is 600000 and so on.\n\n```sh\nsettings put system screen_off_timeout 600000\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eHow to revert back to the default screensaver\u003c/summary\u003e\n\u0026nbsp;\n\nFor whatever reason, if you would like to stop using Aerial Views and revert back to the original screensaver, there are two options…\n\n* Reset your device. Doing so will also reset the screensaver preference\n* Use an ADB commands to enable the default screensaver, depending on your device\n\n1. Follow the instructions above to connect to your Android/Google TV device using an iPhone, Android phone, Mac, PC, etc\n2. Run one of the following commands...\n\n### To restore the default Google TV ambient screensaver\n\n```sh\nsettings put secure screensaver_components com.google.android.apps.tv.dreamx/.service.Backdrop\n```\n\n### To restore the default Fire TV screensaver\n\n```sh\nsettings put secure screensaver_components com.amazon.bueller.photos/.daydream.ScreenSaverService\n```\n\n### To restore the default (older) Android TV backdrop screensaver\n\n```sh\nsettings put secure screensaver_components com.google.android.backdrop/.Backdrop\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eUse the TDUK Screensaver Manager app\u003c/summary\u003e\n\u0026nbsp;\n\nThe [TDUK Screensaver Manager](https://play.google.com/store/apps/details?id=com.tduk.scrmgr) is a paid app (approx. $2/£2/€2) which allows you to easily change the active screensaver on your Android/Google TV device using a simple interface.\n\nPlease make sure to enable **Developer Mode** and **USB/Networking Debugging**. Instructions are above.\n\n:information_source: This app will not work on recent Fire TV devices due to changes by Amazon.\n\n\u003c/details\u003e\n\n## Frequently asked questions\n\nPlease click or tap to expand each item below...\n\n\u003cdetails\u003e\n\u003csummary\u003ePlaying local media on the Nvidia Shield \u003c/summary\u003e\n\u0026nbsp;\n\nIf your device is running Android 11 (Shield Experience 9+) and you want to play videos from a USB storage device, make sure the following setting is enabled:\n\n`Settings \u003e Device Preferences \u003e Storage \u003e Scan for\nmedia automatically`\n\nTo change the default screensaver on your Nvidia Shield, use the following menu:\n\n`Settings \u003e Device Preferences \u003e Screen saver`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFire TV and Frame Rate Switching\u003c/summary\u003e\n\u0026nbsp;\n\nFire OS has no menu to allow advanced permissions for apps, so it must be done manually with an ADB command...\n\n```sh\nadb shell appops set com.neilturner.aerialviews SYSTEM_ALERT_WINDOW allow\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eHDR videos don't seem to play, I only see black screen...\u003c/summary\u003e\n\u0026nbsp;\n\nApple's videos only support Dolby Vision HDR. Even if your TV supports HDR, it might not support Dolby Vision.\n\nHere are some things to try...\n\n* Find the make and model of your TV, search online for a product page for that device and it should list the supported HDR modes (there are a few!)\n\n* If you use a Nvidia Shield, please [follow their instructions on how to enable (or confirm) that Dolby Vision playback is possible](https://www.nvidia.com/en-us/shield/support/shield-tv/enable-dolby-vision-hdr10-on-shield/)\n\n* Confirm that Dolby Vision playback works in other apps like Netflix, Disney+, or Amazon Prime Video\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eHow to launch Aerial Views from other apps\u003c/summary\u003e\n\u0026nbsp;\n\nAndroid screensaver use a special intent (DreamService) which cannot be called by 3rd party apps, only the OS itself.\n\nInstead, Aerial Views uses a standard intent which can be called by 3rd party to launch the 'Test screensaver' (Activity) which works in the same way as launching the screensaver.\n\nTo do this, launch the following intent in apps like [Button Mapper](https://play.google.com/store/apps/details?id=flar2.homebutton) or [tvQuickActions](https://play.google.com/store/apps/details?id=dev.vodik7.tvquickactions.free)\n\n```sh\ncom.neilturner.aerialviews/.ui.screensaver.TestActivity\n```\n\nIf you are using Fully Kiosk, try the following...\n\n```sh\nintent://#Intent;component=com.neilturner.aerialviews/.ui.screensaver.TestActivity;end\n```\n\n\u003c/details\u003e\n\n## Weather data\n\nThanks to [OpenWeather](https://openweathermap.org/) for providing weather data to this and other open-source projects.\n\n[![OpenWeather logo](docs/images/openweather_logo.png)](https://openweathermap.org/)\n\n## About\n\nAerial Views is based on [Aerial Dream](https://github.com/cachapa/AerialDream), which was created by Daniel Cachapa in late 2015.\n\nAerial Views started in early 2020 as a fork with a couple of fixes and features to improve the experience on an old Sony Android TV. Around this time, Aerial Dream was not in active development anymore.\n\nShortly after putting the code on GitHub, others found the fork and started requesting new builds with fixes and additional features. This led to the eventual release of Aerial Views on the Google Play Store in 2022, and later, the Amazon Appstore.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheothernt%2FAerialViews","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheothernt%2FAerialViews","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheothernt%2FAerialViews/lists"}