JellyCine
Jetpack Compose Android client for Jellyfin and Emby, focuses on a fast, fluid UI and smooth playback.
- Jellyfin and Emby support with automatic endpoint resolution
- Spatial audio passthrough when supported by the device/output route
- Compose-first UI with Home, My Media, Search, Favorites, and Settings sections
- Offline-aware navigation mode that falls back to downloaded content when network is unavailable
- Immersive search experience with suggestions, live results, and categorized results
- Offline downloads with queueing, pause/resume/cancel, and persistent state recovery
- Supports Season/Series level download support with storage estimation before enqueueing
- Media3 ExoPlayer playback with Jellyfin FFmpeg extension integration
- Subtitle styling controls
- Gesture controls in player (seek, volume, brightness), lock mode, and start-maximized preference
- HDR and Dolby Vision capability analysis with fallback handling
app: Android app module (Compose UI, navigation, settings, downloads, player screens)data: APIs, repositories, models, DataStore/shared preference backed configurationcore: Shared player/auth utilities (player preferences, codec/HDR helpers, audio device detection)setup: Included module, currently a placeholder without active source code
- Kotlin, Coroutines, Flow
- Jetpack Compose + Material 3 + Navigation Compose
- Hilt + KSP for DI/code generation
- Retrofit 3 + OkHttp 5
- Coil 3 for image loading
- Media3 ExoPlayer (
exoplayer,ui,session,dash,hls,smoothstreaming,effect) org.jellyfin.media3:media3-ffmpeg-decoderextension
- Android Studio (latest stable recommended)
- JDK 17
- Android SDK platform for API 36
- Clone the repository.
- Open it in Android Studio.
- Let Gradle sync complete.
- Select a device/emulator (Android 8.1+).
- Run the
appmodule.
CLI build:
./gradlew :app:assembleDebugDebug and release APKs are named as:
jellycine-debug-<version>.apkjellycine-release-<version>.apk
See PRIVACY for the current privacy policy.
Issues and pull requests are welcome. For large feature work, open an issue first to align on scope.
This project is licensed under the MIT License. See LICENSE.






