The iOS YouTube app for your self-hosted library
Streams from your Jellyfin or Tube Archivist server. Native iOS playback with Picture in Picture, lock screen controls, and background audio.
Note
This repository is for bug reports and feature requests. Source code is not public.
SwiftTube supports three backend configurations. Pick one based on your existing stack and playback needs.
| Setup | Playback | YouTube metadata |
|---|---|---|
| Jellyfin | Direct play or transcoded (any codec) | Basic, via third-party plugin |
| Tube Archivist | Direct play only (H.264 + AAC required) | Full, with channel stats |
| Tube Archivist + Jellyfin | Direct play or transcoded (any codec) | Rich, via official TA Jellyfin plugin |
Jellyfin transcodes VP9, AV1, and WebM sources to HLS on demand, so existing downloads play as-is. H.264 + AAC in MP4 direct-plays and skips the transcode.
Jellyfin's built-in providers do not parse YouTube sources. Install
ankenyr's YouTube metadata plugin to extract channel
names, thumbnails, and upload dates. It reads .info.json sidecars and requires a specific folder layout; see its
README.
Tube Archivist does not transcode, so the on-disk container and codecs must be AVPlayer-compatible. yt-dlp's defaults (VP9 or AV1 + Opus in WebM) cannot be demuxed or decoded by AVPlayer and will not play.
Set Settings > Downloads > Format to H.264 + AAC in MP4:
bestvideo[vcodec*=avc1]+bestaudio[acodec*=mp4a]/mp4
This direct-plays on every supported iPhone and will direct-play on Apple TV once that target ships. Re-download existing videos to apply the new codecs.
Limitation: YouTube caps H.264 at 1080p.
Built-in. SwiftTube reads channel, views, likes, and subscribers from the Tube Archivist REST API using a static token.
Served by Jellyfin, so any codec works and TA's download format constraints don't apply.
Install the official Tube Archivist Jellyfin plugin to sync Tube Archivist's YouTube metadata into Jellyfin items, then point SwiftTube at Jellyfin.
- Apple TV app.
- iPad interface support.
- SwiftTube Jellyfin plugin. A SwiftTube-specific companion plugin for richer YouTube metadata, like view counts, likes, subscribers, playlists, etc.
Open an issue for bugs or feature requests. For bugs, include steps to reproduce and what you expected. For features, include the use case.
SwiftTube is an independent project. Not affiliated with Jellyfin or Tube Archivist. Thanks to both teams for their work.