jellyfin / jellyfin

The Free Software Media System
https://jellyfin.org
GNU General Public License v2.0
33.82k stars 3.1k forks source link

[Issue]: trickplay files are stored in /config/metadata/library and not with media #11747

Closed thermionic closed 4 weeks ago

thermionic commented 4 months ago

Please describe your bug

The change from the original trickplay plugin to the "in box" trickplay plugin brought a change that the trickplay files are only stored in /config/metadata/library and do not have on option for storing with media.

As the trickplay files are stored in /config/metadata/library they have to be created on each jellyfin instance, for a clean deployment of jellyfin this can a significant time to complete, and has to be done for each new instance deployed.

As the trickplay files are stored in /config/metadata/library this also significantly increases the size of a backup of the /config

I deployed a clean instance of 10.9.1 on dedicated hardware with an i5-12500 CPU & QSV (UHD770) enabled for trickplay. With dedicated 1G connection to NFS storage (which can saturate the link) after 7 days I am ~40% complete with a library size of ~40G, so expected library size will be ~100GB when completed after an expected ~21 days.

Reproduction Steps

  1. deploy Jellyfin (in this case docker)
  2. scan library with trickplay enabled
  3. watch /config/metadata/library grow

Jellyfin Version

10.9.0

if other:

10.9.1 (not in dropdown)

Environment

- OS: Linux (Ubuntu 22.04)
- Linux Kernel: 6.5.0-35-generic
- Virtualization: Docker
- Clients: Browser
- Browser: Edge 124 
- FFmpeg Version: as per Docker
- Playback Method: n/a
- Hardware Acceleration: QSV
- GPU Model:  Intel Alderlake_s (Gen12) (UHD Graphics 770)
- Plugins: only built in
- Reverse Proxy: none
- Base URL: none
- Networking: Host
- Storage: local for config, NFS for media

Jellyfin logs

n/a

FFmpeg logs

n/a

Please attach any browser or client logs here

n/a

Please attach any screenshots here

n/a

Code of Conduct

jellyfin-bot commented 4 months ago

Hi, it seems like your issue report has the following item(s) that need to be addressed:

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

Zachwang007 commented 4 months ago

shoud be better with films folder

Shadowghost commented 4 months ago

You can enable saving trickplay with the media on a per-library basis already.

maru801 commented 4 months ago

You can enable saving trickplay with the media on a per-library basis already.

Where would this option be found? Is this a new option for the next server release? I've looked in the obvious places, but I haven't found it yet. Maybe I'm missing something here.

Shadowghost commented 4 months ago

My bad, seems like I was mistaken and there currently is no setting for this.

But it's for sure a good idea to add this.

rantanlan commented 4 months ago

also an issue for me. better solution would be to store them with the media like the old plugin. this blew up my lcx and filles the root partition to the max which is not feasible for backup or archiving media files, since they will be generate every time ill add media to my library and they are not shareable with other instances... :/

soultaco83 commented 4 months ago

I would like to add this would be great to move to media or atleast make it an option to check. At this moment storing in the metadata folder is not viable

Castcore commented 4 months ago

I would love an option to store them with the media too, quite surprised to see it's not there. I actually use FUSE to make it seem like it's stored with the media but actually the trickplay files are on my cache so no loading issues, but still is a hassle if I need to point two instances of jellyfin to the same library.

Not sure if I should actually delete my Jellyscrub files or not now hmm.

dkadavarath commented 4 months ago

This is a must have feature for trickplay to be effective. Having all this amount of data in metadata is a bit too much especially since the trickplay files are only accessed when the media is already playing. Would have loved the subtitle extraction feature to also do this, but I digress.

Awebb commented 4 months ago

I agree. I serve Jellyfin from a weaker system, but trickplay generation with the old Jellyscrub plugin runs on a machine with a powerful graphics card. I don't use Jellyfin to transcode videos, so beef was never required there. On the Jellyfin server, trickplay generation takes months for the whole library, while it only takes hours on the desktop.

vortex91 commented 3 months ago

removed trick play sheduler as it was running for 24 hours and only 1% complete and taking up 20gb of space

Madh93 commented 2 months ago

I've noticed this problem as well. Since enabling trickplay, the size of my backups has significantly increased :cry:

RodoMa92 commented 2 months ago

Yeah, this is quite needed, discovered this the hard way when a migration failed after IxSystem decided to break everything again in their app stack. I might take a look at the codebase and see if I can implement it, shouldn't really be too hard to do.

KiwasoVR commented 1 month ago

Should be fine adding this to the media folder like backgrund pictures.