add shared media control allowing jellyfin to control LMS by pointing to files on shared storage
Build Plugin / build (push) Successful in 2m15s
Release Plugin / build-and-release (push) Successful in 2m8s

This commit is contained in:
2025-12-16 19:50:15 +01:00
parent 1b7b836b3e
commit c02469c6d0
4 changed files with 176 additions and 23 deletions
+24
View File
@@ -168,6 +168,30 @@ The plugin communicates with LMS using the `slim.request` JSON-RPC method.
2. Check that audio files are in a format supported by your LMS players
3. Ensure players are powered on (plugin can auto-power-on if configured)
## Known Limitations
### Seeking with HTTP Streaming
When using HTTP streaming (the default), LMS cannot seek within audio streams. To work around this, when you seek or cast from a specific position, JellyLMS restarts playback with a new transcoded stream that begins at the requested position. This means:
- **Seeking triggers a brief audio restart** rather than a smooth jump
- **Starting playback mid-track** uses transcoding (MP3 320kbps) instead of direct streaming
- **Playback from the beginning** uses direct/static streaming for best quality
This is a fundamental limitation of how LMS handles HTTP streams.
### Solution: Direct File Access
If your Jellyfin and LMS servers can both access the same storage (e.g., a NAS), you can enable **Direct File Access** mode in the plugin settings. This allows LMS to read files directly from disk, enabling:
- **Native smooth seeking** - no audio restart when scrubbing
- **Full quality playback** - no transcoding needed
- **Better performance** - no HTTP overhead
To configure, set the path mappings in the plugin settings:
- **Jellyfin Media Path**: The path prefix as Jellyfin sees your library (e.g., `/media/music`)
- **LMS Media Path**: The same location as LMS sees it (e.g., `/mnt/music` or `//nas/music`)
## Development
### Project Structure