Skip to content

feat(driver): add emby driver#9574

Open
okatu-loli wants to merge 1 commit into
mainfrom
feat/emby-driver
Open

feat(driver): add emby driver#9574
okatu-loli wants to merge 1 commit into
mainfrom
feat/emby-driver

Conversation

@okatu-loli

Copy link
Copy Markdown
Collaborator

Closes #9573

Mount an Emby/Jellyfin media server as a storage.

Implementation

  • Auth: username/password login via /Users/AuthenticateByName, with automatic re-login when the token is rejected (401). The user's EnableContentDownloading policy is captured at login time.
  • Browsing: library views (Movies / Shows / Music, ...) are listed as the root; deeper levels are browsed by ParentId (series → season → episode) with pagination (1000 items per page). An optional root_folder_id mounts a single library directly.
  • Naming/size: file names prefer the real file path basename so the extension is kept for players; sizes are resolved from MediaSources. Primary images are exposed as thumbnails.
  • Link: returns the original-file /Items/{id}/Download link; when the user has no download permission it falls back to the stream?static=true direct-play link (video/audio). Since direct links carry the access token, the driver config shows an alert recommending proxy for publicly shared storages.

The same API works for both Emby and Jellyfin.

Testing

Verified end-to-end against the public Jellyfin demo server (demo.jellyfin.org): login → list library views → walk down to episodes/movies (names and sizes correct) → link fetch with a Range request returns 206 video/mp4. The demo user has no download permission, which also exercised the stream fallback path.

Mount an Emby/Jellyfin media server as a storage:
- username/password login with automatic re-login on 401
- library views as root, ID-based hierarchical browsing with pagination
- real filenames/sizes resolved from item Path and MediaSources
- primary image as thumbnail
- direct download link, falling back to static stream when the
  user has no download permission

Close #9573
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

请求添加emby支持功能

1 participant