37 Commits

Author SHA1 Message Date
theguymadmax
5ac0260e5f
Fix DirectoryNotFoundException for backdrop folders in trickplay (#14223) 2025-06-05 15:57:31 -06:00
Tim Eisele
e1a5c16404
Prune trickplay data on regenerate and scan (#14085) 2025-06-03 15:25:09 -06:00
Tim Eisele
49c6a99e00
Cleanup external item data cleanup (#14072) 2025-05-09 08:35:29 -06:00
Bond-009
0c3ba30de2
Cleanup file related code (#14023) 2025-05-04 08:40:34 -06:00
JPVenson
42bdb22bfb Fixed namespaces 2025-03-25 16:45:00 +01:00
JPVenson
160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
Tim Eisele
8db6a39e92
Remove all DB data on item removal, delete internal trickplay files (#13753) 2025-03-23 10:05:13 -06:00
Bond-009
6331de2e13
Merge pull request #13406 from Shadowghost/extract-trickplay-master
Extract trickplay files into own subdirectory
2025-03-10 11:00:12 +01:00
gnattu
144e62027d Backport pull request #13183 from jellyfin/release-10.10.z
Don't generate trickplay for backdrops

Original-merge: 80940c0c57bc180d88b57da5b797fef949f85200

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:55:58 -05:00
Shadowghost
6454a35ef8 Extract trickplay files into own subdirectory 2025-01-26 11:56:19 +01:00
Josh Soref
044cf9fb85 chore: fix spelling
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00
Joshua M. Boniface
93b8eade61
Merge pull request #12798 from JPVenson/feature/EFUserData
Refactor library.db into jellyfin.db and EFCore
2025-01-25 02:08:44 -05:00
Niels van Velzen
3b8e614819
Prefer ApiKey over api_key in generated URL's (#13342) 2025-01-11 09:35:44 -07:00
JPVenson
0dd6dacc4f Merge remote-tracking branch 'origin/master' into feature/EFUserData 2024-11-19 20:53:38 +00:00
nyanmisaka
547d393af0 Backport pull request #12964 from jellyfin/release-10.10.z
Fix height of imported trickplay tiles

Original-merge: 09c377fb6c50b29f7b6cf03e14ac09b4b556db38

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:23 -05:00
JPVenson
e8be7ab011
Merge branch 'jellyfin:master' into feature/EFUserData 2024-11-14 21:56:18 +01:00
gnattu
5ac895bef6 Fix format 2024-10-16 17:50:19 +08:00
gnattu
666db81a09
Allow invalid id for trickplay
Co-authored-by: JPVenson <ger-delta-07@hotmail.de>
2024-10-16 17:47:24 +08:00
gnattu
bcb2a3d5e9 Don't check remote sources for trickplay 2024-10-15 18:22:39 +08:00
JPVenson
b09a41ad1f WIP porting new Repository structure 2024-10-09 10:36:08 +00:00
gnattu
38d0b004ba
Only move trickplay file should not be saved with media to metadata dir (#12704) 2024-09-24 08:12:04 -06:00
Cody Robibero
3c639c2e80
Tweak Trickplay migration for speed (#12643) 2024-09-23 09:09:23 -06:00
Tim Eisele
c56dbc1c44
Enhance Trickplay (#11883) 2024-09-07 11:23:48 -06:00
Cody Robibero
c207404089
Merge pull request #11511 from jellyfin/trickplay-keyframe-only 2024-07-17 12:28:58 -04:00
gnattu
68bfabbaba Add option to extract keyframe only during trickplay image generation
This would be significantly faster than decoding every frame, but it does have compatibility issues. Not all decoders support this mode, notably the VP9 decoder, CUVID decoders, and QSV decoders.

Some videos with very long key-frame intervals may also perform poorly with this mode, as the image timing could become too inaccurate to reflect the actual frame.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 00:47:22 +08:00
Bond-009
c666f9d050
Use real temp dir instead of cache dir for temp files (#12226) 2024-07-15 08:44:14 -04:00
gnattu
e6dab2fa11 Backport pull request #11788 from jellyfin/release-10.9.z
Override too small trickplay image interval

Original-merge: 60232ce9be8d26926ed81294b93a77da02b5a2fe

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:18 -04:00
Bond_009
1f2c73b40a Only log item id in trackplay warning
Turns out it's the same
`[WRN] [53] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Media source "17a76092102691425e94624a69247057" not found at "/mnt/USBshare/Movies/Top Gun (1986)/extras/Top Gun_t04.mkv" for item 17a76092-1026-9142-5e94-624a69247057`
2024-05-18 13:13:34 +02:00
Bond-009
8139179780 Backport pull request #11653 from jellyfin/release-10.9.z
Don't generate TrickPlay images for files that don't exist

Original-merge: c1615419b9e2ca127315e0e85394581bb427415c

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:45 -04:00
gnattu
6f78ac2ff3
Use more accurate rounding in GetFixedOutputSize (#11435)
* Use more accurate rounding in GetFixedOutputSize

Signed-off-by: gnattu <gnattuoc@me.com>

* Force trickplay thumbnails to have even width

Signed-off-by: gnattu <gnattuoc@me.com>

* Use Convert.ToInt32

Signed-off-by: gnattu <gnattuoc@me.com>

* Force video size as thumbnail size if the trickplay width setting is larger

This will fix an issue when the trickplay setting contains a very huge width, but the video has a lower resolution than that setting. Our scaling filter logic will not do any upscale, and we have to force to use the video width

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-30 13:41:46 +02:00
gnattu
be21d51742
fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Nick
ac906a04e2 Fix tiles playlist not using relative paths 2024-02-12 09:30:47 -08:00
Mark Cilia Vincenti
e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Nick
f97e844c4f Minor code review changes (cvium) 2023-09-04 13:14:45 -07:00
Nick
5a860710a8 Make TrickplayManifest dictionary key a string rather than Guid 2023-09-04 12:30:20 -07:00
Nick
0e1ae2def2 Add CreateTiles to ITrickplayManager 2023-07-01 16:16:41 -07:00
Nick
ab20ceaad6 Migrate to trickplay table to EF. Rename vars/methods/members to have consistent use of tile and thumbnail 2023-06-26 17:40:10 -07:00