Skip to content

Kallb123/SimpleMediaBrowser

Repository files navigation

SimpleMediaBrowser

A local media browser for Android. Point it at folders on your device or network storage and it organises your TV shows and movies into a clean, browsable library — with posters and metadata pulled automatically from TMDB.

Features

  • Automatic library scanning — Add one or more media source folders via Android's Storage Access Framework (SAF). The scanner recursively discovers TV episodes and movies and streams results into the library as they are found.
  • TV show & movie views — Browse all media together or switch to dedicated TV and Movies tabs. TV content can be viewed structurally in different ways (shows/seasons/episodes or all seasons flattened etc.).
  • Local metadata enrichment — Standard metadata (folder.png etc.) will automatically be consumed as the library is scanned.
  • Cloud metadata enrichment — Enter a TMDB or TheTVDB API key in Settings to fetch official titles, years, and poster artwork automatically. Posters are cached locally so the library is usable offline after the first fetch.
  • Video thumbnail generation — Thumbnails are generated for episodes and movies that have no poster, persisted to disk, and reused across sessions.
  • Metadata overrides — An edit-mode allows changes to any items title, poster, or other metadata and override what was fetched automatically.
  • Flexible display options — Choose between grid and list layouts, adjust poster/thumbnail scale, and select landscape or portrait orientation modes.
  • Parent-mode — Includes password-protection for all settings pages, so that the usual user is limited to selecting media to watch.
  • Dark & light theme — Follows the system colour scheme automatically.
  • Debug log viewer — An in-app log screen captures scan and metadata activity to help diagnose issues without needing a connected debugger.

Library Comparison The library can be enriched with metadata to ensure the best possible user experience.

Library Episodes Enrichment includes per-episode images, so the user can see which one they are selecting.

Tech Stack

Layer Technology
Framework Expo SDK 55 / React Native 0.83
Navigation Expo Router (file-based) with drawer + tab layouts
State Redux Toolkit + redux-persist
File access expo-file-system (SAF / Storage Access Framework)
Metadata TMDB REST API
Video expo-video (thumbnail generation via expo-image-manipulator)
List rendering @shopify/flash-list

Getting Started (Development)

  1. Install dependencies:

    npm install
  2. Start the Expo dev server:

    npx expo start

From the dev server you can open the app in a development build or an Android emulator.

Note: The app targets Android. iOS and web builds are not actively maintained.

Building a Release APK

Prerequisites

Full environment setup guide: https://docs.expo.dev/get-started/set-up-your-environment/?platform=android&device=physical&mode=development-build&buildEnv=local#set-up-an-android-device-with-a-development-build

Windows quick-start steps:

  1. Install Node.js
  2. Install Java JDK 17: choco install -y microsoft-openjdk17
  3. Install Android Studio and use the SDK Manager to install the required SDK platforms and build tools
  4. Set the ANDROID_HOME environment variable and add %ANDROID_HOME%\platform-tools to PATH
  5. Verify ADB is available: adb --version
  6. (Optional) Install EAS CLI if you plan to use Expo's cloud build service: npm i -g eas-cli then eas build:configure

Build

npx expo prebuild
cd android
.\gradlew assembleRelease

The signed APK will be output to android/app/build/outputs/apk/release/.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages