p.enthalabs

Valence: your films and programmes, on every screen in the house

[v1.7.0 New release—A new look, profiles for everyone in the house, and credits found in everything 24 October 2026 Changelog](https://www.getvalence.app/changelog/profiles-credits-and-the-redesign)

Valence V a l e n c e

HomeProduct Run it Resources Community

14 Discord

Self-hosted · Open source · Yours

Your films and programmes, on every screen in the house.Your films and programmes,on every screen in the house

A streaming platform you run on your own server, for films, programmes, music and books. **Nothing you run depends on a server of ours.**

Get started

Download Desktop

See every feature open sourced, and always will be

!Image 13: Now playing!Image 14!Image 15: Home!Image 16

!Image 17: The Valence web app's home page, with a film in the featured row

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Your library stays yours. So does what you watch, when you watch it, and who with. It all lives on your server, and with Valence, it never leaves.

Everything a server for your whole house should do.

Watching, sharing, running it and building on it, without a subscription or anybody else’s server in the way.

01 Viewing

What it's like to sit down and watch something.

- ### Direct play, or a transcode that earns its keep

Every device gets what it can actually take, negotiated per device rather than per server. Hardware transcoding runs on VideoToolbox, NVENC, VAAPI, QSV and AMF, several with AV1, and falls back to the processor cleanly when there's no GPU.

- ### HDR stays HDR

Real PQ and HLG tone-mapping, in software or on the device, because a screen needs it, not because the transcoder gave up and flattened it.

- ### Skips the parts you already know

Intros are found by fingerprinting the audio across episodes and credits by reading the picture, not by a hand-typed timestamp, so it works on a library you already own. Recaps come from an import from Jellyfin or Emby.

- ### Reads books too

A real EPUB reader with its own place in your library, remembering exactly where you left off. Not a bolt-on plugin.

02 Sharing & social

For the people you actually watch things with.

- ### Watch together, properly in sync

A party keeps everybody at the same moment in the same film, drift-corrected rather than drifting, and can be password-protected.

- ### Share a link, not an account

One title or one series, to somebody with no account at all, for as long as you decide. No dock, no search, nothing else to see.

- ### Take it with you

Choose a quality against a size before you commit, then watch offline, including a full offline mode with no server calls at all.

- ### Actually tells you things

In-app notifications and real web push, not just a bell nobody checks.

03 Library & admin

Running it, not just watching it.

- ### An admin area built for a real library

Accounts, roles and permissions, live session control, background jobs and scheduling, a metadata match-picker, cache breakdown by artifact kind, a live log viewer.

- ### Webhooks with a real event catalogue

Job lifecycle, library scans, playback, account changes and more, with delivery history and a redeliver button: an automation surface, not a checkbox.

- ### A setup wizard, not a config file

First run walks through the admin account, the server's name and its trusted origins, and gates the app until it's done.

04 Extensibility & API

For building on top of it.

- ### Every endpoint has a contract

Contract-first with Zod, an OpenAPI 3.1 document, and a reference generated from it and served by the server itself: over a hundred routes, actually documented.

- ### API keys as a feature, not an afterthought

Create, list and revoke keys from the account area. Build on the API for real.

- ### Plugins that ask first

Plugins run in a sandbox on your server and can only do what you allowed when you installed them: the sites they may reach, what they may read, how much they may keep. Official ones are signed, and they work on every Valence app.

05 Platform

What it takes to run it.

- ### One image, self-hosted, no phoning home

The server, the web client and the media service ship in one Docker image. Valence reads your library read only by default. Nothing calls out to us; the server asks GitHub whether there is a newer release, which CHECK_FOR_UPDATES=false stops.

- ### A household, not a single account

Everybody gets a face, their own continue watching, their own ratings and history. Admin-issued invites, not open signup.

- ### Real auth

TOTP two-factor with backup codes, WebAuthn passkeys, a device-authorization code flow for TVs: the kind of auth a self-hosted app usually skips.

By the way...Every word is in one strings file, ready to be translated.

Every screen

In your pocket, on your server.

The phone app plays your music, films and books from your own server, at home or away, and keeps them for the train.

!Image 18: Your books!Image 19: Your books!Image 20

!Image 21: Music home!Image 22: Music home!Image 23

!Image 24: Now playing!Image 25: Now playing!Image 26

!Image 27: Home!Image 28: Home!Image 29

!Image 30: Your films!Image 31: Your films!Image 32

iPhone Duo

Folded or open, it fits.

On the iPhone Duo the controls move into the strip down the side, and opened, a book lies across both halves as two pages, turned with a page curl.

Fun fact...Your library plays on Apple TV, Android TV and Fire TV* too, with an app for each.*TV models from before 2025 (Android)

Video 2

!Image 33

!Image 34: The same comic's cover on the folded iPhone Duo's outer screen

!Image 35

One app for everything you own.

Films, series, music and books in one place, from the same server, with the admin pages that run it a click away.

Home Library Music Books Server

- Home H o m e

- Library L i b r a r y

- Music M u s i c

- Books B o o k s

- Server S e r v e r

What to carry on with, what is new, and something picked out for tonight.

Psst...Every plugin runs in a process of its own, kept apart from the server.

real screenshots

!Image 36: The home page, with a film featured across the top and a button to carry on from where it was left

Changelog

1. [A new look, profiles for everyone in the house, and credits found in everything Valence 1.7 redesigns the interface and the admin area, gives one account several profiles with children’s accounts a parent looks after, finds the end credits in every film and episode, makes HDR in the browser match the server, and adds Whisper subtitles, MPEG-DASH, libraries in S3 buckets and white-labelling.v1.7.0 · 24 October 2026](https://www.getvalence.app/changelog/profiles-credits-and-the-redesign)

2. [Valence on the App Store Valence 1.6 is the app for iPhone, iPad and Apple TV, now on the App Store. It rebuilds the phone player around stats for nerds and a layout like the big streaming apps, and brings Live TV, Discover, requests and the calendar to the phone.v1.6.0 · 14 October 2026](https://www.getvalence.app/changelog/the-app-store-and-hdr)

3. [Live TV, and more direct play support in the browser Valence 1.5 adds live television with a guide, plays DTS, TrueHD, 7.1 and HDR films in the browser without the server converting them, and rebuilds requests around a catalogue of every title that works alongside Sonarr, Radarr and Lidarr.v1.5.0 · 11 October 2026](https://www.getvalence.app/changelog/live-tv-and-the-browser)

4. [Every television, a proper music player on the phone, and the next episode as the credits roll Valence 1.4 comes to Android TV and Fire TV, gives the phone a full music player that keeps time with your other devices, offers the next episode before the credits finish, and lets a public demo hand out a shared account safely. It also closes a round of security holes found in a sweep of the whole app.v1.4.0 · 7 October 2026](https://www.getvalence.app/changelog/television-everywhere)

Every release

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence Valence

Ready to get started?

Valence is free and open source. Put it on your own server in a few minutes, or look round the demo first.

Install Valence Try the demo

!Image 37Valence A streaming platform you run on your own server, for every screen in the house. Free and open source, MIT licensed.

Navigate

- Home

- About

- Docs

- Changelog

- Plugins

- UI library

Get started

- Quick start

- Deploying it

- Set up with AI

Community

- GitHub

- Discord

- Report a vulnerability

- Privacy

- Terms

Built with

- TypeScript

- Rust

- React

- Hono

- FFmpeg

© 2026 The Valence contributors

Made with ❤️ by Marques

Back to top

Valence