Commit Graph

1118 Commits

Author SHA1 Message Date
gnattu
3f539472f3 Fix image encoding concurrency limit (#13532)
* Fix image encoding concurrency limit

The current FFmpeg image extractor is configured to use a resource pool size that always equals 2 times the number of CPU cores, which is somewhat excessive. Make the default equal to the core count instead of twice, and respect the `ParallelImageEncodingLimit` option.

* Fix code stype

* Check null value for unit tests
2025-02-12 18:45:36 -07:00
Attila Szakacs
c693da94ce Fix parallel use of not thread-safe SubtitleFormat instance
`SubtitleFormat`'s `LoadSubtitle()` function is
not thread-safe.

A `SubtitleEditParser` instance's `Parse()`
function can be called from multiple threads at
the same time.

`SubtitleFormat`s are cached in the constructor
of each `SubtitleEditParser`, and the same
instances are used for each possibly parallel
`Parse()` function call, which causes subtitle
parse problems.

This patch modifies the code, so we only cache
the extension -> `SubtitleFormat` type/class
mapping and create a new `SubtitleFormat`
instance in each `Parse()` call, so no
`SubtitleFormat` instance is accessed from
multiple threads.

Fixes #12113

Kudos for everyone investigating the issue there,
most notably @RenV123 for PoC-ing the solution.

Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2025-01-18 21:16:35 +01:00
gnattu
9e61a6fd72 Always cleanup trickplay temp for ffmpeg failures (#13030) 2024-11-14 17:00:59 -07:00
Nyanmisaka
3ceb8337e7 Fix check for format option in scale_cuda filter (#12874) 2024-10-25 12:52:27 -06:00
gnattu
18a621ec25 Extract DoVi thumbnail at 4000nit (#12771) 2024-10-04 06:51:17 -06:00
Nyanmisaka
b496f979f0 Clean up deprecated -vsync option (#12765) 2024-10-03 08:18:40 -06:00
gnattu
9ef7ccfc12 Add perf tradeoff mode to image extractor (#12744) 2024-09-29 20:21:46 -06:00
Dmitry Lyzo
8a456bf895 Escape quotes in the subtitle path (#12690) 2024-09-23 09:01:45 -06:00
nyanmisaka
7ab7f69916 Enable key-frame only decoding for RKMPP trickplay
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-20 03:22:53 +08:00
gnattu
0ff7f28753 Enable BWDIF VideoToolbox deint filter when available (#12634) 2024-09-12 09:52:24 -06:00
oxixes
d2c2dcd53c Solve CodeQL issue 2024-09-11 11:43:02 +02:00
jaina heartles
7c3c0aa940 Use subtitle cache when burning-in subs 2024-09-11 10:03:08 +02:00
Nyanmisaka
36d934f4c0 Enable Rockchip MJPEG encoder for Trickplay (#12610) 2024-09-09 09:24:45 -06:00
Tim Eisele
0d85af019c Use enums for encoding options (#12561) 2024-09-09 08:43:37 -06:00
gnattu
97ba12b8ef Fix FormattingStreamWriter type
Signed-off-by: gnattu <gnattuoc@me.com>
2024-09-08 11:45:38 +08:00
dmitrylyzo
84b20afe1f Backport pull request #12575 from jellyfin/release-10.9.z
Fix subtitle and attachment extraction when input path contains quotes

Original-merge: 3c3ebe8344

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-07 18:09:54 -04:00
Bond-009
7631956451 Backport pull request #12550 from jellyfin/release-10.9.z
Create and use FormattingStreamWriter

Original-merge: cd2f2ca178

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-07 18:09:52 -04:00
gnattu
c7bb2fe137 Backport pull request #12531 from jellyfin/release-10.9.z
Don't apply chapter image settings to music

Original-merge: 2fe13f54ea

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-07 18:08:41 -04:00
Bond-009
ccfd8fa66c Merge pull request #12590 from nyanmisaka/bwdif-cuda-deint
Enable the new BWDIF CUDA deint filter when available
2024-09-06 17:14:44 +02:00
Łukasz
1451cbc39e Add subtitle parser errors to log if available (#12479) 2024-09-06 07:47:06 -06:00
nyanmisaka
aecd294fd7 Enable the new BWDIF CUDA deint filter when available
this requires jellyfin-ffmpeg7

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-09-05 22:27:58 +08:00
Nyanmisaka
95f91e0263 Adapting AMD VAAPI-Vulkan pipeline to FFmpeg 7.0 (#12577) 2024-09-04 07:36:49 -06:00
gnattu
ae82a4eee0 Enable software tonemap for dolby vision
This applies software tonemapx filter for dolby vision videos that have no compatability fallback.

Due to the complexity of the reshaping process, this is quite CPU-intensive. For real-time transcoding and tonemapping of 4K 60fps content, a CPU with 16 cores of Zen3-level performance is recommended.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-09-03 14:39:05 +08:00
Bond_009
95200ad225 Improve error message when image extraction times out
The exception will get logged higher up the call stack.
2024-08-28 23:09:17 +02:00
gnattu
6c8ca30f7f Prevent server from starting if the ffmpeg path is invalid (#12463) 2024-08-28 12:43:37 -06:00
Bond-009
6281cd707d Merge pull request #11250 from nyanmisaka/fix-hwa-video-rotation
Fix the broken video orientation (+-90/180)
2024-08-27 22:24:34 +02:00
nyanmisaka
d447207489 Apply suggestions from code review
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-08-28 03:20:04 +08:00
gnattu
2fd9418af0 Backport pull request #12443 from jellyfin/release-10.9.z
Check attachment path for null before use

Original-merge: 122da8f447

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-08-25 02:46:36 -04:00
gnattu
058a3dcc6a Remove legacy encoders
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-11 18:17:09 +08:00
gnattu
1f819d3382 Remove VPx encoders
Signed-off-by: gnattu <gnattuoc@me.com>
2024-08-11 17:38:11 +08:00
justinkb
21f1813d82 Backport pull request #12390 from jellyfin/release-10.9.z
fix SA1201 issue

Original-merge: 3f3145600c

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2024-08-05 11:01:30 -04:00
nyanmisaka
7ee9c9b7a0 Backport pull request #12374 from jellyfin/release-10.9.z
Fix compatibility between TranscodingThrottler and FFmpeg 7.0

Original-merge: ee0094d889

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

Backported-by: Bond_009 <bond.009@outlook.com>
2024-08-05 11:01:28 -04:00
Nyanmisaka
2aa9cf4007 Merge branch 'master' into fix-hwa-video-rotation 2024-08-05 16:37:09 +08:00
Bond-009
095d4d4d15 Merge pull request #12295 from Bond-009/trysetproviderid
Add TrySetProviderId extension
2024-07-29 00:13:40 +02:00
Nyanmisaka
00088c2954 Merge branch 'master' into fix-hwa-video-rotation 2024-07-23 15:37:33 +08:00
Bond-009
19dca018b2 Merge pull request #12310 from Bond-009/fixbdmvstreamindex
Fix BDMV stream indexes
2024-07-22 12:11:57 +02:00
Bond-009
1dc0a1de6c Backport pull request #12296 from jellyfin/release-10.9.z
Properly escape paths in concat file for BDMV

Original-merge: 4afa6db108

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-21 00:58:06 -04:00
Bond-009
46fde9aa04 Backport pull request #12278 from jellyfin/release-10.9.z
Fix localization of audio title

Original-merge: f7a90b6383

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-07-21 00:58:05 -04:00
Bond_009
99bba29715 Fix switch expression 2024-07-20 20:37:44 +02:00
Bond_009
f308a01e59 Fix DTS codec name 2024-07-20 20:22:51 +02:00
Bond_009
406320cb98 Fix more codec names 2024-07-20 19:57:40 +02:00
Bond_009
1e7aca8a3d Fix BDMV stream indexes
Also fixes the subtitle codec for PGS subtitles from PGS to PGSSUB
2024-07-20 17:32:09 +02:00
Cody Robibero
4239de1ee7 Merge pull request #11399 from jellyfin/audio-remux 2024-07-18 08:12:20 -04:00
gnattu
5262439300 Enable hardware Trickplay processing pipeline for VideoToolbox (#11510) 2024-07-17 13:50:32 -04:00
gnattu
8851ace543 Enable Dolby AC-4 decoder (#11486) 2024-07-17 12:35:40 -04:00
Cody Robibero
c207404089 Merge pull request #11511 from jellyfin/trickplay-keyframe-only 2024-07-17 12:28:58 -04:00
gnattu
e851bb869b Simply AMF Windows checking
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-07-17 22:25:28 +08:00
Bond_009
ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
gnattu
b28d22545a Simplify condition check
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 21:25:29 +08:00
gnattu
e4101128e0 feat: add audio remux to UniversalAudioController
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-17 13:35:59 +08:00