Skip to content

ak800i/storage-cast

Repository files navigation

StorageCast

An Android app that casts videos from your device's local storage to Google Cast compatible devices (Chromecast, Android TV, etc.) with embedded subtitle support.

Features

  • Browse videos stored on your Android device in a hierarchical folder view
  • Search for videos by name
  • Cast videos to any Google Cast compatible device on the same network
  • Seek during playback — seek bar with current position and duration
  • Detect and extract embedded subtitle tracks from video files
  • Load external subtitle files from local storage
  • Cast subtitles (converted to WebVTT) alongside video
  • On-device transcoding for videos with codecs not natively supported by Cast devices
  • Built-in HTTP server to stream media to Cast devices
  • Video thumbnails, duration, and file size display
  • Material Design UI

Usage

Download the latest APK from the Releases tab and install it on your Android device.

Architecture

  • MediaStore API — discovers videos on the device
  • Google Cast SDK — discovers Cast devices and controls playback
  • NanoHTTPD — serves video and subtitle files over HTTP to the Cast device
  • MediaExtractor — probes video files for embedded subtitle tracks and extracts them as WebVTT

Building

Prerequisites

  • JDK 17
  • Android SDK with API 34

Build debug APK

./gradlew assembleDebug

The APK will be at app/build/outputs/apk/debug/app-debug.apk.

CI

Two GitHub Actions workflows handle CI:

  • PR Build (.github/workflows/pr-build.yml) — builds a debug APK on every pull request to main and uploads it as an artifact.
  • Release (.github/workflows/release.yml) — builds a signed release APK and publishes a GitHub Release via manual workflow dispatch.

Both workflows share a composite action (.github/actions/setup-build) for common build environment setup (JDK 17, Gradle, gradlew permissions).

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.

About

Cast videos from your Android's local storage

Resources

License

Stars

Watchers

Forks

Contributors