Jellyfin Project Website and Documentation
repository·master·Indexed 41 days ago
https://github.com/jellyfin/jellyfin.orgThe official website, blog, and documentation for the Jellyfin Project. Includes guides on installing clients like Jellyfin MPV Shim, Jellyfin for Kodi v0.5.0, and the Android client, as well as server configuration details for versions 10.5.0 and 10.6.0, including SyncPlay and hardware acceleration.
What's inside Jellyfin
- Jellyfin Vue is an alternative web client for Jellyfin. It was developed as a modern alternative to Jellyfin Web, utilizing a modern web development stack to improve maintainability and serve as a playground for testing new features that may not be suitable for the main Jellyfin Web client.
Key features of Jellyfin for Kodi v0.5.0
masterVersion 0.5.0 introduces several major improvements for the Kodi ecosystem:
- Kodi 19 (Matrix) Support: Full compatibility with Kodi 19, which includes support for Python 3.
- Faster Library Sync: Significant speed increases during the initial library synchronization, with some sync times reduced by more than 50%.
- Improved Logging: Reduced log noise for better performance and easier debugging.
New features in Jellyfin 10.9.0
masterJellyfin 10.9.0 introduces several significant features:
- Trickplay: Supports live video scrubbing with live previews (requires client support).
- Image Formats: Support for AVIF and WEBP in Pictures libraries.
- Search: Tags are now included in search results.
- Subtitles: Support for multiple simultaneous subtitle tracks (up to two: primary and secondary) in the web player, and support for hearing-impaired subtitles (sdh/hi./cc).
- Music: Improved MusicBrainz interface and support for local lyric files (embedded or external).
- Transcoding: Support for AV1 hardware/software encoding, RK3588 hardware acceleration via MPP, Vulkan-based tonemapping with AMD VA-API, and complete hardware acceleration for Apple systems (Silicon and Intel).
The Jellyfin website uses a unified repository and Docusaurus
masterThe Jellyfin website has migrated to a unified repository structure and is built using Docusaurus. This consolidation integrates the blog, documentation, and the main website into a single repository (
jellyfin/jellyfin.org), replacing the previous separate repositories (jellyfin-blog,jellyfin-docs, andjellyfin.github.io).If you are looking for documentation or blog posts, ensure you are contributing to or searching within the
jellyfin/jellyfin.orgrepository, as the older repositories are being archived.Supported video formats and structures in Jellyfin
masterJellyfin supports most common video formats, including
mp4andmkv. For movie and music video libraries, Jellyfin can also processVIDEO_TSandBDMVfolder structures.Limitations of folder structures: Using
VIDEO_TSorBDMVfolders does not support:- Multiple versions of the same media
- Multiple parts
- External subtitle tracks
- External audio tracks
Disc Images: While
.isoand other disc image formats may work, they are not officially supported. For the best experience, it is recommended to either:- Remux disc images into
mkvcontainers. - Extract them into
VIDEO_TSorBDMVfolders.
Available metadata providers in Jellyfin
masterJellyfin retrieves media metadata from several default sources and can be extended with additional providers.
Default Providers:
- The Movie Database (TMDb)
- The Open Movie Database API (OMDb API) (Note: OMDb API only provides English metadata)
- Local
.nfofiles
Official Plugin Providers: You can install additional official providers via the Plugin Catalog, including:
- TheTVDB
- fanart.tv
- AniDB
Custom Providers: Developers can create their own metadata providers using the Jellyfin Plugin API.
New features in Jellyfin Android TV 0.15
masterThe Jellyfin Android TV app version 0.15 introduces several user-facing improvements to media playback, UI accessibility, and stability:
Video Player Enhancements
- Previous Button: Quickly navigate back to a previous episode or playlist item.
- Quality Button: Adjust the maximum bitrate during active playback.
- Audio Night Mode: A new option to normalize sound levels (disabled by default).
- Advanced Subtitle Customization: Users can now fine-tune subtitle appearance by adjusting:
- Size
- Background enablement
- Stroking width
- Position
- Text color
Picture Viewer Improvements
- Added on-screen controls to allow easier navigation between pictures and the ability to start or stop slideshows.
RTL (Right-to-Left) Support
- The UI now automatically adjusts its directionality based on the selected language to support RTL languages correctly.
Stability
- Significant internal architectural improvements to reduce app crashes and improve maintainability.
Web client improvements in Jellyfin 10.6.0
masterThe Jellyfin 10.6.0 web client includes several user-facing improvements:
- Ebook Support: Added an EPUB reader based on
epub.js. - Music Experience: Redesigned mobile music player interface, including the mini player and remote player UI.
- Image Loading: Reworked image loading system that unloads out-of-view images to improve memory usage, and added
Blurhashplaceholder support. - Subtitle Rendering: Improved performance for SSA/ASS subtitles with heavy effects.
- Library Configuration: Added a configuration option to set the number of items per page in libraries.
- Plugin Support: Added support for multiple plugin repositories.
- Chromecast: Added a toggle for the nightly version of the Chromecast client.
- Ebook Support: Added an EPUB reader based on
Native Book and Comic support in Jellyfin 12.0
masterJellyfin 12.0 provides native support for books and comics, reducing reliance on the deprecated
Bookshelfplugin.Server-side features:
- Metadata: Read directly from
OPF,ComicInfofiles, orComicBookInfocomments. - Posters: Automatically generated for EPUBs and supported comic archives; external covers work for audiobooks.
- File Parsing: Extracts name, index, year, and series from filenames; picks up volume/chapter numbers from comic filenames; extracts page counts from PDFs/archives and chapters from audiobooks.
- Providers:
Bookshelfis deprecated. Use theGoogleBooksandComicVineproviders, or theOpenLibraryplugin for metadata and images. - Identifiers: Supports ISBN external IDs and links.
Web Client features:
- Modern Layout: Includes view types, paging, and tabs for Authors, Collections, and Folders.
- Navigation: Redesigned reading interface with unified fullscreen behavior and swipe navigation for PDFs.
- Playback: Background audiobook playback is supported on iOS devices.
- Metadata: Read directly from
Configure MusicBrainz plugin instance URL
masterAs part of the transition to a plugin-based architecture, MusicBrainz is now a default plugin. This allows you to configure the specific URL of the MusicBrainz instance you want to pull data from. This is useful if you are hosting your own MusicBrainz instance to avoid global rate limiting enforced by the main service.Chain CSS selectors to modify multiple elements
masterYou can "chain" CSS selectors together by separating them with commas. This allows you to apply the same styling rules to multiple different elements simultaneously, which is useful for maintaining consistency in UI tweaks like border colors or font sizes.
.emby-input, .emby-textarea, .emby-select { border-color: #d00000; }Compare Jellyfin for Kodi vs JellyCon
masterThere are two distinct Kodi add-ons for Jellyfin, each serving different use cases:
- Jellyfin for Kodi: Syncs metadata from Jellyfin libraries directly into the local Kodi database. This makes media appear as native Kodi content (e.g., under Movies/TV Shows on the home screen) with virtually no browsing delay. However, it consumes the Kodi database and can cause conflicts if you use other local media or external database managers. It requires a sync process on startup or while running.
- JellyCon: Functions as a standard streaming add-on. Media is accessed via the
Add-ons -> JellyConmenu. It is better for switching between multiple Jellyfin servers or users because it does not rely on local metadata syncing. Browsing may have a slight delay (1-2 seconds) as it requests info from the server on demand, but there is no database sync overhead.