A fork of AerialViews that adds YouTube as a native video source. Plays fresh 4K nature, aerial, and ambient videos from YouTube directly on your Android TV. No API key, no account, no server required.
- 4K Dolby Vision (HDR) videos if your TV supports it
- Over 250 videos from Apple, Amazon, Jetson Creative and Robin Fourcade
- USB, Immich, Samba, WebDAV, and custom feed support
- Clock, date, location, now playing, and custom text overlays
- Burn-in protection by alternating overlay positions
- Playlist controls, shuffle, skip, and media length limits
- Refresh rate switching for 24fps and 50fps content
- Message overlay API for LAN-based integrations
- YouTube as a native video source, no API key or account needed
- On-device search using NewPipe Extractor v0.26.0
- Local cache of up to 200 videos, refreshed daily in the background
- 8 content categories: Nature, Wildlife, Drone, Ocean, Space, Cities, Weather, Winter
- Filters out AI-generated videos, vlogs, and talking head content
- Videos never repeat within a 7-day window
- Stream URLs auto-renewed before YouTube links expire
- YouTube mixes with built-in sources in the same playlist
- Projectivy Launcher integration
The app targets 2160p on 4K displays and 1080p on 1080p displays. A higher resolution label does not always mean better quality. Bitrate, codec support, and how YouTube encoded that specific video all affect what you actually see. Some videos will look sharper than others. If a clip looks soft or out of place, the app moves on automatically when it finishes.
- Download the latest APK from the Releases tab
- On your Android TV, enable
Install unknown appsin Settings - Transfer the APK to your TV and install it with a file manager
Play Protect may show a warning during install. Tap Install anyway. This is normal for all sideloaded apps. Source code is fully open above.
This app is not on the Play Store and never will be. See the FAQ for why.
These setup instructions are taken directly from the original AerialViews by Neil Turner and are reproduced here with credit and thanks. The steps are identical for this fork.
Since 2023, most devices running Google TV (Android TV 12 or later) have no interface to change the screensaver to a third-party app. This includes:
- Chromecast with Google TV, Google TV Streamer
- Recent MECOOL devices
- Recent TCL, Philips, and Sony TVs
- onn. Google TV devices (excluding the 2021 model)
- Fire TV (does not work with Fire OS 8.1 and above)
It can still be done using ADB commands. The steps are:
- Enable Developer mode and USB debugging on your TV
- Find the IP address of your TV
- Connect from your phone, Mac, or PC
- Run two ADB commands to set AerialViews+ as the screensaver
Full instructions are below. Click or tap each section to expand.
Another option is the TDUK Screensaver Manager app, which handles this without ADB commands.
Enable Developer Mode on Android/Google TV
Navigate to Settings, then the About screen. Depending on your device:
Settings > System > About or Settings > Device Preferences > About
Scroll to Build and select it several times until you see "You are now a developer!"
Return to Settings and find the newly enabled Developer options page. Enable USB debugging.
Then find the IP address of your device in Settings > Network & Internet.
Enable Developer Mode on Fire Stick/TV
Open Settings, then go to My Fire TV > About.
Highlight your device name and press the action button seven times until you see "You are now a developer".
Go to Developer Options and enable ADB debugging.
Find your IP address at About > Network.
Allow Auto Launch on TCL TVs
TCL TVs with Google TV require an extra Auto Launch permission, otherwise the screensaver cannot start automatically.
- Open the Safety Guard app on your TV
- Go to
Permission Shield > Auto Launch Permission - Set Auto manager at the top to
Closed - Find AerialViews+ and set it to
Opened
If Safety Guard is not on your TV, use this ADB command instead.
Android below v14:
appops set com.naveen.aerialviewsplus APP_AUTO_START allowAndroid v14 and above:
appops set com.naveen.aerialviewsplus AUTO_START allowTCL troubleshooting: screensaver not triggering automatically
If AerialViews+ does not trigger automatically on a TCL Android TV, first re-enable the app package. In tested cases, this alone restored normal screensaver behavior.
adb shell pm enable com.naveen.aerialviewsplusOptional checks if you still have issues:
adb shell pm list packages -d | grep naveen
adb shell settings get secure screensaver_componentsIf the issue persists, apply the Auto Launch permission steps in the TCL section above.
Connect using an iPhone
Download iSH Shell from the App Store (free), then install ADB:
apk update
apk add android-toolsVerify it works:
adb versionConnect using an Android phone
Download Termux from the Play Store (free), then install ADB:
pkg update
pkg install android-toolsVerify it works:
adb versionConnect using a Mac
Download SDK Platform Tools for Mac, extract the ZIP, then open Terminal in that folder.
Verify it works:
adb versionConnect using a PC
Download SDK Platform Tools for Windows, extract the ZIP, then open Command Prompt in that folder.
Verify it works:
adb versionADB command - set AerialViews+ as the screensaver
Connect to your TV over the network:
adb connect [your TV IP address]Then run:
settings put secure screensaver_components com.naveen.aerialviewsplus/.ui.screensaver.DreamActivity
settings put secure screensaver_enabled 1To confirm it worked:
settings get secure screensaver_componentsYou should see:
com.naveen.aerialviewsplus/.ui.screensaver.DreamActivity
ADB command - extra steps for Fire TV and Fire OS 7.6.x
settings put secure screensaver_default_component com.naveen.aerialviewsplus/.ui.screensaver.DreamActivity
settings put secure contextual_screen_off_timeout 300000
settings put secure screensaver_enabled 1ADB command - extra steps for Fire TV and Fire OS 8.1.x
Fire OS 8.x has a built-in Ambient Experience that must be disabled first:
settings put secure amazon_ambient_enabled 0Reboot your Fire TV, then set AerialViews+ as the screensaver using the commands above.
ADB command - change the screensaver timeout
The value is in milliseconds. 5 minutes is 300000, 10 minutes is 600000.
settings put system screen_off_timeout 600000ℹ️ On Google TV devices running Android TV 12 or later, the minimum is 6 minutes (360000). Lower values will not work.
ℹ️ If you use Projectivy Launcher, disable Projectivy Launcher > Power > Enable internal idle detection.
How to revert to the default screensaver
To restore the default Google TV screensaver:
settings put secure screensaver_components com.google.android.apps.tv.dreamx/.service.BackdropTo restore the default Fire TV screensaver:
settings put secure screensaver_components com.amazon.bueller.photos/.daydream.ScreenSaverServiceTo restore the older Android TV backdrop screensaver:
settings put secure screensaver_components com.google.android.backdrop/.BackdropUse the TDUK Screensaver Manager app
The TDUK Screensaver Manager is a paid app (around $2) that lets you change the screensaver using a simple on-screen interface instead of ADB commands.
Enable Developer Mode and USB/Network Debugging first. Instructions are above.
ℹ️ This app does not work on recent Fire TV devices.
When YouTube is enabled, the app builds a set of search queries on-device and uses NewPipe Extractor to find and resolve playable video streams. Nothing is sent to a custom server. No Google account is needed.
Results are cached locally for up to 200 videos and refreshed daily. Stream URLs are renewed automatically before they expire. If a refresh fails, the app falls back to the last working cache so playback keeps going.
You can choose which types of content to include from the YouTube settings screen: Nature, Wildlife, Drone, Ocean, Space, Cities, Weather, and Winter. Categories can be toggled individually and the library updates without wiping existing videos.
The built-in Apple and Amazon videos in AerialViews are a fixed, hand-picked collection. The YouTube source in this fork pulls fresh content automatically. It is a different experience.
What you will see:
- New videos as the cache refreshes daily
- A wide variety of locations, seasons, and subjects over time
- Content that rotates week to week
What keeps it consistent:
- AI-generated videos are filtered by title, channel name, and duration patterns
- Vlog, tutorial, and talking head videos are filtered out
- No more than a few videos from the same channel in one cache
- The same video will not repeat within 7 days
The Apple and Amazon sources can be used alongside YouTube or instead of it. All sources mix in the same playlist.
YouTube stopped working suddenly
NewPipe Extractor occasionally breaks when YouTube updates its internal API. Open an issue on this repo with your device model and Android version. It is usually fixed within a few days by bumping the NewPipe version in gradle/libs.versions.toml.
Check NewPipe Extractor releases to see if a newer version is available.
Some videos are skipped
Videos may be skipped because of age restrictions, regional blocks, deleted uploads, or unavailable stream quality. The app moves on to the next video automatically.
Weather and location overlays are not working
Weather overlays use OpenWeather data and require the overlay to be assigned to a visible slot in Settings. If the slot is not assigned, weather data fetches correctly but nothing appears on screen.
Location lookup falls back to Android Geocoder when network lookups fail. If location naming fails entirely, the overlay slot will be blank rather than showing an error.
Can I use this on Nvidia Shield?
Yes. Go to Settings > Device Preferences > Screen saver and select AerialViews+.
Why is this not on the Play Store?
The original AerialViews license prohibits any fork from being uploaded to the Play Store. Sideloading is the only option.
Does this replace AerialViews or work alongside it?
It replaces it. Both apps cannot be installed at the same time. All original AerialViews features are included in this fork.
Play Protect shows a warning during install
This is normal for any app not distributed through the Play Store. Tap Install anyway. The source code is fully open on this page if you want to review it.
Thanks to OpenWeather for providing weather data to this and other open-source projects.
Clone the repo and open it in Android Studio. JDK 21 and Android Studio Hedgehog or newer are required.
./gradlew :app:assembleGithubNonMinifiedReleaseThe APK will be at app/build/outputs/apk/github/nonMinifiedRelease/.
Pull requests are welcome. For NewPipe breakage, open an issue with your device model and Android version. The fix is almost always a version bump in gradle/libs.versions.toml.
Please open an issue before submitting a pull request for larger changes.
AerialViews+ is based on AerialViews by Neil Turner, which is based on Aerial Dream by Daniel Cachapa. This fork adds YouTube as a video source without requiring any external server or API key.
See CREDITS.md for full attribution.
GPL v3. See LICENSE.
This fork is not affiliated with YouTube, Google, or Apple. It uses NewPipe Extractor for on-device stream extraction and is distributed for personal use only.