Browse Source

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>
Bond-009 3 ngày trước cách đây
mục cha
commit
ce28374d40

+ 1 - 0
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)
             {

+ 1 - 0
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)
             {

+ 1 - 0
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);
         }