本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
源代码结构
Jellyfin 是一个由客户端、插件和其他实用项目组成的复杂系统。这些源代码树能为新开发者提供绝佳指引,帮助理解各个项目的架构设计。
Jellyfin 服务端
-
.ci:
Azure Pipelines Build definitions -
DvdLib:
DVD Analyzer -
Emby.Dlna:
DLNA support for the server- Profiles:
DLNA Profiles for clients
- Profiles:
-
Emby.Drawing:
image processor managing the image encoder and image cache paths -
Emby.Naming:
parsers for the media filenames -
Emby.Notifications:
listening for events and sending the associated notification(事件监听与通知发送模块) -
Emby.Photos:
metadata provider for photos -
Emby.Server.Implementations:
main implementations of the interfaces- ScheduledTasks:
all scheduled tasks can be found here
- ScheduledTasks:
-
Jellyfin.Api:
Jellyfin API- 控制器:
API controllers answering the Jellyfin API requests - Helpers:
- MediaInfoHelper.cs:
logic for the stream builder that determines method of playback such as Direct Play or Transcoding
- MediaInfoHelper.cs:
- 控制器:
-
Jellyfin.Data:
models used in the Entity Framework Core Database schema -
Jellyfin.Drawing.Skia:
image manipulation like resizing images, making image collages(图像处理功能,如调整尺寸、制作拼贴等) -
Jellyfin.Networking:
managing network interfaces and settings -
Jellyfin.Server.Implementations:
like Emby.Server.Implementations, implementations using the EF Core Database -
Jellyfin.Server:
main server project that starts the whole server -
MediaBrowser.Common:
common methods used throughout the server -
MediaBrowser.Controller:
interface definitions -
MediaBrowser.LocalMetadata:
metadata provider and saver for local images, local Collections and Playlists -
MediaBrowser.MediaEncoding:
managing ffmpeg while interacting with the media files -
MediaBrowser.Model:
defining models used throughout the server -
MediaBrowser.Providers:
managing multiple metadata sources -
MediaBrowser.XbmcMetadata:
metadata provider and saver for local .nfo files -
RSSDP: RSSDP 库
, including custom changes, for the Simple Service Discovery (SSDP) protocol -
apiclient:
files used for generating the axios API client -
deployment:
files used while building Jellyfin for different platforms -
测试:
multiple Unit Test projects testing Jellyfin functionality -
Dockerfile.*
Dockerfiles defining the Jellyfin Docker image
网页客户端
- src:
- assets:
images, styles, splash screens, and any other static assets- css:
all global stylesheets used throughout the client - img:
images for things like device icons and logos - splash:
progressive web apps will show these splash screens
- css:
- components:
custom elements used for different sections of the user interface- playerstats.js:
display playback info in browsers and other clients that include the web source
- playerstats.js:
- controllers:
scripts that handle the logic for different pages - elements:
custom UI components that are used globally such as buttons or menus - legacy:
currently used for all polyfills and scripts related to backwards compatibility - libraries:
dependencies that we eventually want to remove and include during the build step - scripts:
any script that isn't tied to a UI element or page but rather general functionality - strings:
translations for the entire interface - themes:
custom and bundled themes can be found here in their own directories
- assets:
Kodi 客户端
-
jellyfin_kodi
- database:
manipulating the local Jellyfin sqlite database - dialogs:
code behind popup menus for user interaction - entrypoint:
main add-on settings page - helper:
small helper functions, mostly formatting or reused functions - jellyfin:
interacting with the server - objects:
- kodi:
handling local Kodi media types and database
- kodi:
- database:
-
资源:
- language:
string files for localization - skins:
design of popup menus for user interaction
- language: