尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Jellyfin VR movie theatre client
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Your Jellyfin library on a giant screen, in VR.
JellyTheatre lets you watch your own films and shows on a Meta Quest 3 (or another WebXR headset). You pick a place to watch from: a movie theatre, a cinema with beds, a cosy home cinema, a space station, a cabin by a lake, a hammock in the jungle, or your own room. It runs in the headset's browser and installs like an app. There is nothing to sideload and nothing to add to your server.
| Movie theatre: rows of red seats, curtains, a projection booth and a giant screen. | Bed cinema: made for watching in bed. Double beds for two, popcorn on the side tables, and a giant screen leaning out high above you, facing the pillows. |
| Home cinema: recliners, a sofa, bookshelves and a starry ceiling. | Space station: float in a Cupola like the ISS's, windows all around onto the planet, the moon and the stars. |
| Lakeside cabin: a crackling fire, rain on the windows, a moonlit lake. | Jungle hammock: also made for watching in bed. Lie back in a hammock under the rainforest canopy, the screen stretched between two trees above you, fireflies all around. |
| Dark void: only the screen, in a quiet dark space. |
You can also watch in My room, which uses passthrough to put the screen in your real room, where you can move it. Room lighting follows the colours of the picture, so the room glows blue during a night scene and warm during a sunset. You can turn this off or change the room's brightness.
Each place says what it is like: indoor or outdoor, sitting, lying down or floating, and whether you can change seats.
JellyTheatre plays your files as they are whenever the headset can decode them (H.264, HEVC, VP9 and AV1 included). If the headset can't, the server only repackages the file or converts the audio, which is cheap. A full transcode happens only as a last resort. Each poster shows the quality (4K, HDR…) and whether the file will play directly. A film's page also shows the server's decision before you press Play.
| Trigger | Point and click |
| A / X | Play / pause |
| B / Y | Show / hide the controls |
| Grip (on a panel) | Grab and move it; push or pull the stick to move it farther or closer |
| Stick forward, point at a seat, release | Teleport to that seat |
| Right stick left / right | Snap turn |
| Left stick click | Back to your seat |
| Hold the Meta button | Recenter the view |
Settings open from the library's header, or from the gear on the controls during a film. They are grouped in tabs: Playback, Subtitles, Display, View and Account (sign out, to sign in again as someone else or on another server, right from VR). To change places, the Environment button in the library's header (or the landscape icon on the controls) opens the picker directly.
Ideas for future versions:
Suggestions are welcome in the issues.
Architecture, how Jellyfin is used, the playback strategy, development setup, testing on the Quest and deployment are in docs/TECHNICAL.md.
The films in the screenshots are open movies by the Blender Foundation / Blender Studio, released under Creative Commons Attribution licences (CC BY 2.5, 3.0 or 4.0): Sintel, Tears of Steel, Big Buck Bunny, Spring, Sprite Fright, Charge, Cosmos Laundromat, Elephants Dream, Coffee Run, Wing It!, Hero, Glass Half and Caminandes. Posters and footage come from Wikimedia Commons. Some posters were made from a still of the film with its title added, and the clip that plays is silent.
JellyTheatre has no account, analytics or tracking: your server address and sign-in stay on your headset and only go to your own Jellyfin server. See the privacy policy.
See LICENSE.