aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan <evan@MacBook-Pro.local>2025-08-15 07:16:41 +0800
committerEvan <evan@MacBook-Pro.local>2025-08-15 07:18:44 +0800
commit29e17b6bc0c002d0de5469d1f795ccacf4a41b56 (patch)
treec0d9cc5a89a8c2e41aea249dbe1ef626495d9960
parent50180adc5324027765ff433961852a5a5ae9786b (diff)
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
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs1
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs1
-rw-r--r--src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs1
3 files changed, 3 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
index e912e9f01..24992c44a 100644
--- a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
@@ -199,6 +199,7 @@ public partial class AudioNormalizationTask : IScheduledTask
{
_logger.LogDebug("Starting ffmpeg with arguments: {Arguments}", args);
process.Start();
+ process.PriorityClass = ProcessPriorityClass.BelowNormal;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 237b537bc..d71d46c00 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -1122,6 +1122,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
private void StartProcess(ProcessWrapper process)
{
process.Process.Start();
+ process.Process.PriorityClass = ProcessPriorityClass.BelowNormal;
lock (_runningProcessesLock)
{
diff --git a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs b/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
index 570c0b9d0..a0dafb8f1 100644
--- a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
+++ b/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
@@ -42,6 +42,7 @@ public static class FfProbeKeyframeExtractor
try
{
process.Start();
+ process.PriorityClass = ProcessPriorityClass.BelowNormal;
return ParseStream(process.StandardOutput);
}