Doorgaan naar hoofdinhoud
Onofficiële Beta-vertaling

Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →

Bronstructuur

Jellyfin is een doolhof van clients, plug-ins en andere nuttige projecten. Deze broncodestructuren vormen een uitstekend hulpmiddel om nieuwe ontwikkelaars inzicht te geven in de opbouw van verschillende projecten.

Jellyfin Server

  1. .ci: Azure Pipelines Build definitions

  2. DvdLib: DVD Analyzer

  3. Emby.Dlna: DLNA support for the server

    • Profielen: DLNA Profiles for clients
  4. Emby.Drawing: image processor managing the image encoder and image cache paths

  5. Emby.Naming: parsers for the media filenames

  6. Emby.Notifications: listening for events and sending the associated notification

  7. Emby.Photos: metadata provider for photos

  8. Emby.Server.Implementations: main implementations of the interfaces

    • ScheduledTasks: all scheduled tasks can be found here
  9. Jellyfin.Api: Jellyfin API

    • Controller: 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
  10. Jellyfin.Data: models used in the Entity Framework Core Database schema

  11. Jellyfin.Drawing.Skia: image manipulation like resizing images, making image collages

  12. Jellyfin.Networking: managing network interfaces and settings

  13. Jellyfin.Server.Implementations: like Emby.Server.Implementations, implementations using the EF Core Database

  14. Jellyfin.Server: main server project that starts the whole server

  15. MediaBrowser.Common: common methods used throughout the server

  16. MediaBrowser.Controller: interface definitions

  17. MediaBrowser.LocalMetadata: metadata provider and saver for local images, local Collections and Playlists

  18. MediaBrowser.MediaEncoding: managing ffmpeg while interacting with the media files

  19. MediaBrowser.Model: defining models used throughout the server

  20. MediaBrowser.Providers: managing multiple metadata sources

  21. MediaBrowser.XbmcMetadata: metadata provider and saver for local .nfo files

  22. RSSDP: RSSDP-bibliotheek, including custom changes, for the Simple Service Discovery (SSDP) protocol

  23. apiclient: files used for generating the axios API client

  24. deployment: files used while building Jellyfin for different platforms

  25. tests: multiple Unit Test projects testing Jellyfin functionality

  26. Dockerfile.* Dockerfiles defining the Jellyfin Docker image

Webclient

  1. 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
    • 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
    • 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

Kodi

  1. 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
  2. resources:

    • language: string files for localization
    • skins: design of popup menus for user interaction