Astra is a couch-first Jellyfin client for Amazon Fire TV devices running Vega OS. It connects directly to a server supplied by the user and brings personal movie, television, and music libraries into a remote-friendly TV interface.
Astra does not include a hosted catalog, subscription service, public channels, or bundled media. It is an independent client and is not affiliated with Jellyfin or Amazon.
The current release is Astra 1.1.2, build 20260822.4, for x86_64
Fire TV devices running Vega OS.
- Package ID:
com.astra.tv - Main component:
com.astra.tv.main - Supported backend: Jellyfin
- Supported server connections: local HTTP and remote HTTPS
- Release validation: 175 tests, ESLint, TypeScript, Vega manifest, and Vega ABI; one-hour A/V sync, repeat-seek, and saved-position resume passed on the physical Fire TV Stick for 1.1.2
- Future backends: Emby and Kodi are planned but are not supported today
- Browse movie, series, season, and episode libraries.
- Continue watching and resume from saved playback positions.
- Search the connected Jellyfin server.
- View artwork, descriptions, ratings, genres, cast, chapters, and related metadata when supplied by Jellyfin.
- Select audio and subtitle tracks and inspect playback diagnostics.
- Render SRT/WebVTT subtitles in-app and request server burn-in for formats Vega cannot render reliably.
- Show unwatched episode badges on series posters, capped at
99+.
- Browse artists, albums, genres, playlists, and large collections.
- Switch between remembered poster and list layouts and use an A–Z jump rail.
- Play songs, albums, shuffled albums, and existing Jellyfin playlists.
- Continue automatically through the album or playlist that supplied a song.
- Seek and use remote Play/Pause controls.
- Keep listening while browsing Astra or while Astra is backgrounded.
- Play from plain-HTTP Jellyfin LAN servers through automatic AAC/TS HLS delivery; HTTPS servers retain progressive direct play.
Music intentionally uses a simple, predictable playback model. Astra does not currently expose an editable queue, per-track popup actions, or playlist creation on Vega.
- Large Movies, TV Shows, and Music cards use collages from server artwork.
- Multiple Jellyfin users and servers can be saved and switched from Home.
- Quick Connect, local server discovery, and password sign-in are supported.
- Moving in-app idle visuals protect against burn-in during music playback and paused video.
- Starting video cleanly stops music and transfers playback controls and metadata to the video player.
- Playback settings offer optional four-, three-, and two-second Jellyfin HLS segments for intermittent MP4/MOV stutter. Auto remains the default.
- Stats for Nerds shows HLS segment settings, app/build identity, and playback waiting, stalled, and error counters, plus discontinuous buffered ranges.
- HEVC uses HLS/MPEG-TS segments to avoid fMP4 open-GOP timestamp collisions; when the device reports AC3 support, this route also requests AC3 audio to isolate Vega's accumulating AAC/TS drift. H.264/fMP4 retains its established container and audio policy.
- Fixed keyboard teardown races when leaving Search or Setup.
- Serialized Shaka MSE buffer operations with seeks and teardown.
- Added defensive timer snapshots and native-reference cleanup on Player and Library unmount.
- Added Jellyfin artist, album, genre, and playlist browsing.
- Added background music playback, seeking, remote controls, automatic track advancement, and a simplified Now Playing screen.
- Added plain-HTTP music compatibility using HLS without requiring users to configure TLS or a reverse proxy.
- Added moving burn-in protection for audio and paused video.
- Added unwatched series badges and large server-artwork collage cards.
- Fixed duplicate Vega remote events, Play/Pause double delivery, stale music metadata when starting video, and auto-capitalized server URL failures.
- Added quick profile switching and multiple users per server.
- Grouped saved accounts by server in Settings.
- Fixed library loading for non-admin Jellyfin users by replacing the admin-only media-folders request with per-user views.
- Added current Jellyfin authorization headers for newer server releases.
- Added Jellyfin Quick Connect, guided setup, and local server discovery.
- Added detailed playback diagnostics and runtime audio-capability probing.
- Added in-app SRT/WebVTT rendering and server burn-in negotiation for unsupported subtitle formats.
- Fixed audio/subtitle track switching, DTS-HD fallback, unnecessary 4K bitrate reduction, and several stream diagnostic errors.
- Added the Astra Source-Available License and third-party notices.
- Corrected About-page release information, project links, and support links.
- Finalized the first Amazon update package metadata.
- Added Jellyfin server connection, saved profiles, movie and television browsing, search, detail pages, resume playback, watch-progress reporting, and Vega media playback with Jellyfin transcoding fallback.
- Established the remote-first Fire TV interface and Amazon submission assets.
The detailed engineering changelog is in CHANGELOG.md. Release notes for the current version are in docs/release-1.1.2.md.
Install the Vega SDK, then run:
npm install
npm run build:debugRun the automated checks with:
npm run lint
npx tsc --noEmit
npm test -- --runInBandBuild the current release target with:
PATH=/path/to/vega/bin:$PATH npx react-native build-vega \
--build-type Release --target x86_64 \
--build-number 2026082204 --build-version 1.1.2Install a VPKG on a Vega device with:
vega device install-app \
--device <deviceId> --packagePath <packageFile>
vega device launch-app \
--device <deviceId> --appName com.astra.tv.mainNever use vega run-app for an upgrade: it uninstalls the existing package and
deletes app data before installing. Build 1.1.2 passed physical acceptance and
its Amazon upload package is prepared.
- Changelog
- Astra 1.1.2 release notes
- Astra 1.1.1 release notes
- Astra 1.1.0 release notes
- Astra 1.0.2 release notes
Reusable engineering references:
- Implementation status and playback findings
- Vega audio and music playback
- Music playback research
- Crash and ANR analysis
- Emby compatibility analysis
- Deferred engineering work
- Jellyfin Android TV reference inventory
Reference repositories are kept outside this project under
~/projects/reference. They are for study only and are not incorporated into
this codebase.
Astra is source-available under the Astra Source-Available License (Reference-Only) v1.0. See LICENSE.md and NOTICES.md.