1175 Commits

Author SHA1 Message Date
gnattu
511b5d9c53 Backport pull request #15177 from jellyfin/release-10.11.z
Make priority class setting more robust

Original-merge: 70c32a26fa9f16db513a92cdd2dcafa7ee15a80d

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:22 -04:00
nyanmisaka
dbb015441f Backport pull request #15144 from jellyfin/release-10.11.z
Fix videos with cropping metadata are probed as anamorphic

Original-merge: 175ee12bbcad1394d9cf9696d8408a9dd5190b8e

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:18 -04:00
Cody Robibero
b36aab9399
Validate encoder path (#14996) 2025-10-13 14:16:05 -06:00
Tim Eisele
9c298c52f5
Expose ExtractAllExtractableSubtitles (#14876) 2025-09-26 13:45:01 -06:00
evan314159
2618a5fba2
Fix sync disposal of async-created IAsyncDisposable objects (#14755) 2025-09-16 11:14:52 +02:00
Bond-009
6796b3435d
Avoid constant arrays as arguments (#14784) 2025-09-12 13:58:28 -06:00
Bond-009
8776a447d1
Various cleanups (#14785) 2025-09-12 13:58:23 -06:00
Tim Eisele
e4e578b37a
Don't use ffprobe frame options on audio probe (#14773) 2025-09-10 20:32:14 -06:00
Marc Brooks
0b465842c8
Normalizer cleanup (#14711) 2025-08-27 17:34:00 -06:00
Bond-009
ce28374d40
Run background ffmpeg tasks as ProcessPriorityClass.BelowNormal (#14651)
Follow TrickPlay example of running other background ffmpeg tasks as ProcessPriorityClass.BelowNormal:

- Keyframe extraction
- Media info probing during library scans
- Audio normalization
- Image extraction

Co-authored-by: Evan <evan@MacBook-Pro.local>
2025-08-22 10:08:29 +02:00
Gene
28b8d3ee29
fix: correct anamorphic video detection (#14640) (#14648) 2025-08-15 18:52:43 -06:00
Evan
29e17b6bc0 Run background ffmpeg tasks as ProcessPriorityClass.BelowNormal
Follow TrickPlay example of running other background ffmpeg tasks as ProcessPriorityClass.BelowNormal:

- Keyframe extraction
- Media info probing during library scans
- Audio normalization
- Image extraction
2025-08-15 07:18:44 +08:00
renovate[bot]
dea500b26b
Update dependency UTF.Unknown to 2.6.0 (#14599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bond_009 <bond.009@outlook.com>
2025-08-11 13:06:24 -06:00
Joshua M. Boniface
5cae44fdf7
Merge pull request #12718 from IceStormNG/extract-mks-subtitles
Extract subtitles of MKS aux files if they're extractable.
2025-08-03 17:31:13 -04:00
Bond-009
a52a230778
Merge pull request #14467 from jkhsjdhjs/keyframe-only-trickplay-extraction-fallback
Add fallback for keyframe-only trickplay extraction
2025-08-01 10:30:24 +02:00
jkhsjdhjs
663087b155
Fix trickplay extraction ffmpeg error-handling (#14493) 2025-07-22 17:13:38 -06:00
jkhsjdhjs
bf3f37e3d0
Add fallback for keyframe-only trickplay extraction
Keyframe-only trickplay image extraction can fail for some media
files. The current behavior is to skip the media file and try again
on the next run, which will fail again.

This adds a fallback to regular non-keyframe-only extraction for
failed runs, so the extraction can complete.
2025-07-14 00:09:43 +02:00
Carsten Braun
98daf4aedb Use string.IsNullOrEmpty instead of regular null check. 2025-06-07 21:51:08 +02:00
Carsten Braun
fcf56b73cb When subtitle is embedded in the main video file, the path will be null. 2025-06-07 21:51:08 +02:00
Carsten Braun
e8239a7ee2 Do not attempt to extract internal subtitles if there are only MKS subtitles. 2025-06-07 21:51:08 +02:00
Carsten Braun
84cebeae64 Skip early if subtitle is in MKS to avoid unnecessary function calls. 2025-06-07 21:51:08 +02:00
Carsten Braun
c0e2875818 If subtitles are part of an MKS, it is not an error. Just log for debug purpose and continue. 2025-06-07 21:51:08 +02:00
Carsten Braun
411ba03bf0 Fixed formatting 2025-06-07 21:51:08 +02:00
Carsten Braun
b2e19c0306 Also extract subtitles of MKS aux files if they're extractable. 2025-06-07 21:51:08 +02:00
nyanmisaka
56231222df Enable OpenCL deinterlacer for AMF on Windows when available
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2025-05-20 22:07:00 +08:00
Tim Eisele
d976f13970
Recognize file changes and remove data on change (#13839) 2025-05-04 21:21:44 -06:00
Bond-009
0c3ba30de2
Cleanup file related code (#14023) 2025-05-04 08:40:34 -06:00
Nyanmisaka
4199f7acc2
Fix the transparency issue of ASS subtitle rendering in HWA (#14024) 2025-05-03 08:21:08 -06:00
gnattu
f436743f9f Don't trim image extractor option 2025-04-27 21:37:44 +08:00
gnattu
77bb1a726e Use full range output for image 2025-04-27 21:36:57 +08:00
gnattu
6637102162 Correctly handle retry when I frame only failed 2025-04-27 21:30:02 +08:00
Tim Eisele
f576783ae1
Fix distinction queries (#14007) 2025-04-26 18:49:30 -06:00
gnattu
2e467f29de
Don't pass through timestamp for image extractor (#13999) 2025-04-26 09:36:40 -06:00
Tim Eisele
9092130350
Optimize migrations (#13855) 2025-04-26 09:36:17 -06:00
Bond-009
74230131a1
Fix OverflowException when scanning media with a very short duration (#13949) 2025-04-19 13:08:29 -06:00
Nyanmisaka
e84826297d
Fix thumbnail extraction of mpegts videos in FFmpeg 7.1+ (#13942) 2025-04-19 10:41:30 -06:00
Tim Eisele
596b635511
Cleanup extracted files (#13760)
* Cleanup extracted files

* Pagination and fixes

* Add migration for attachments to MigrateLibraryDb

* Unify attachment handling

* Don't extract again if files were already extracted

* Fix MKS attachment extraction

* Always run full extraction on mks

* Don't try to extract mjpeg streams as attachments

* Fallback to check if attachments were extracted to cache folder

* Fixup
2025-04-03 09:17:14 -06:00
gnattu
49ac705867
Improve dynamic HDR metadata handling (#13277)
* Add support for bitstream filter to remove dynamic hdr metadata

* Add support for ffprobe's only_first_vframe for HDR10+ detection

* Add BitStreamFilterOptionType for metadata removal check

* Map HDR10+ metadata to VideoRangeType.cs

Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged.

* Add more Dolby Vision Range types

Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player.

Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving.

* Remove dynamic hdr metadata when necessary

* Allow direct playback of HDR10+ videos on HDR10 clients

* Only use dovi codec tag when dovi metadata is not removed

* Handle DV Profile 7 Videos better

* Fix HDR10+ with new bitmask

* Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS

* Fix Dovi 8.4 not labeled as HLG in HLS

* Fallback to dovi_rpu bsf for av1 when possible

* Fix dovi_rpu cli for av1

* Use correct EFCore db column for HDR10+

* Undo outdated migration

* Add proper hdr10+ migration

* Remove outdated migration

* Rebase to new db code

* Add migrations for Hdr10PlusPresentFlag

* Directly use bsf enum

* Add xmldocs for SupportsBitStreamFilterWithOption

* Make `VideoRangeType.Unknown` explicitly default on api models.

* Unset default for non-api model class

* Use tuples for bsf dictionary for now
2025-04-02 18:06:02 -06:00
Bond-009
476a0d6932
Merge pull request #13194 from gnattu/av1-videotoolbox
Enable VideoToolbox AV1 decode
2025-03-30 23:12:53 +02:00
gnattu
c69e9d8f2c Gate the macOS only functions 2025-03-28 21:30:39 +08:00
gnattu
384134fd25 Use string literal 2025-03-28 21:22:00 +08:00
timminator
181a37a8cd
Fix consumer count off by one when closing a browser tab with a livestream that is transcoding (#13220)
Rework Implementation
Fix review issues
Add missing nullorempty check
Fix closely related #13721
2025-03-27 17:59:08 -06:00
JPVenson
160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson
850f1c79f1 Merge branch 'master' into feature/DatabaseRefactor 2025-03-25 15:12:48 +00:00
Marc Brooks
a5f3d942f6
Merge branch 'master' into sort-nfo-data 2025-03-12 10:33:27 -05:00
Marc Brooks
114591c1aa Clean up usings and honor SortName 2025-02-25 01:51:38 -06:00
JPVenson
d8030147ff Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-02-19 18:25:00 +00:00
gnattu
1ebef57508 Backport pull request #13532 from jellyfin/release-10.10.z
Fix image encoding concurrency limit

Original-merge: 3f539472f3a7c216a6c7d34fb947a144e249f154

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-13 09:49:58 -05:00
JPVenson
dfdef511a5 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-05 18:32:13 +00:00
Marc Brooks
e8cbcde02e
Merge branch 'master' into sort-nfo-data 2025-02-03 19:48:59 -06:00