Run background ffmpeg tasks as ProcessPriorityClass.BelowNormal (#14651)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled

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>
This commit is contained in:
Bond-009
2025-08-22 10:08:29 +02:00
committed by GitHub
3 changed files with 3 additions and 0 deletions

View File

@@ -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)
{

View File

@@ -1122,6 +1122,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
private void StartProcess(ProcessWrapper process)
{
process.Process.Start();
process.Process.PriorityClass = ProcessPriorityClass.BelowNormal;
lock (_runningProcessesLock)
{

View File

@@ -42,6 +42,7 @@ public static class FfProbeKeyframeExtractor
try
{
process.Start();
process.PriorityClass = ProcessPriorityClass.BelowNormal;
return ParseStream(process.StandardOutput);
}