Skip to content

XDanfr/Aperture

Repository files navigation

Aperture Logo

Aperture

Finally, a Material 3 media player for Android TV!

WebsiteDownload the latest alphaDiscord Server


What you'll need

  • Your own library of local media under Movies and TV Shows directories in local or extended storage (Download, DCIM and Videos are also supported.)
  • Clear file names representing movie titles
  • Clear folder structure (e.g. Show/Season/SXXEXX.mp4) for TV Shows

📸 Screenshots

Aperture home screen with Spotlight and Recently Added media

Aperture Movies library Aperture TV Shows library with episode rows

Aperture grouped TV show details popup Aperture season and episode selector

Aperture media search Aperture manual artwork and metadata selection

✨ Features

  • Material 3 UI
  • TV-Optimised Navigation
  • Media3 Powered
  • Custom themes
  • Name matching and asset detecting with TMDb

🗺️ Roadmap

Aperture is currently in ALPHA. Here is what is being tracked for future incremental updates:

Planned Features

  • Popup Animations: Smooth entrance/exit transitions for the media details modal
  • Progress Indicators
  • My List
  • Hold-for-actions Context Menu (#1)
  • Movies and TV Shows sorted separately
  • TV Show Season and Episode grouping
  • Dynamic Theming: based on active media artwork
  • Custom Themes
  • Optionally selecting Assets manually
  • Update Checking
  • Press Back for Sidebar Navigation
  • Proper Show and Episode Detection: Support for more file names and types. Always improving.
  • Better Movie Detection: Improve TMDb matching for sequels, years and similarly named films.
  • Manual Title Correction: This also updates assets accordingly.
  • Rounded Spotlight
  • OpenSubtitles Support
  • Support for more codecs

🚀 Getting Started

Quick Install (Recommended)

Download the latest release .apk directly from the Releases tab and sideload it onto your Android TV device. We recommend using Downloader by AFTVNews from the Google Play Store.

Or: Build From Source

  1. Clone the repository:

    git clone https://github.com/XDanfr/Aperture.git
  2. Open in Android Studio: Ensure your environment is configured to use JDK 17 or 21 (others are currently untested).

  3. Sync & Deploy: Sync Gradle, build the project, and deploy it to your physical Android TV device or an emulator running API 27+.

🛠️ Tech Stack

🤝 Contributing

Contributions are what make the open-source community such an amazing place! Want a feature or a bugfix? Pull requests are incredibly welcome.

  • Issues: Open an issue if you discover a new bug or want to propose a fresh feature request.
  • Pull Requests: Fork the project, create your branch, and submit a PR. Please make sure that your code aligns with the existing project style, unless you're going for a more M3E style as Material 3 transitions towards that look.

💬 FAQ

Q: How are mass local drives parsed?

A: The media architecture leverages standard Android Storage Access Framework processes to securely look up file spaces on attached storage hardware or local nodes.

Q: Was any AI used for this?

A: Gemini was used as a starter to build the baseline template. Some AI features (like autocomplete) were used to speed up development. However, all code is human-reviewed, manually structured, and the trickier bugs are tackled by hand!


If you like Aperture, please consider supporting its development on GitHub Sponsors 💜

About

Finally, a Material 3 Media Player for Android TV!

Resources

License

Stars

9 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages