# Video (Jellyfin) Films and shows from your own [Jellyfin](https://jellyfin.org) server, inside Officer — with a player that handles direct play, HLS and progressive, and an access token that never leaves the server. ## What you get - **Home** — resume, next up, recently added - **Libraries** — browse films, shows, seasons and episodes - **Search** across the library - **A real player** — direct play where the file allows it, HLS where it doesn't, progressive as the fallback, with playback reported back to Jellyfin so resume works everywhere - **Multiple servers** — add several and switch between them ## Requirements A running Jellyfin server Officer can reach, and an access token. ## Setup Install the plugin, open **/jellyfin**, and add a server: a label, the URL, and the token. The token is encrypted at rest and never sent to the browser. Unlike Transmission and Soulseek, this plugin keeps its own registry — `jellyfin_servers` — because having more than one Jellyfin is a real thing (a home server and a friend's). One is marked active. The plugin does **not** install or supervise Jellyfin. Point it at one you already run. ## Permissions One permission, `jellyfin`, grantable per role like any other app permission. ## Notes - `web/vendor/hls.mjs` is a checked-in third-party build (~1.3 MB), deliberately excluded from formatting so the diff against upstream stays readable. - Transcoding is the Jellyfin server's job. This plugin asks for a stream and plays what it gets.