diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 7e6f7298b9..94bfc92725 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -7105,7 +7105,14 @@ namespace MediaBrowser.Controller.MediaEncoding public string GetInputModifier(EncodingJobInfo state, EncodingOptions encodingOptions, string segmentContainer) { - var inputModifier = "-loglevel error"; + var inputModifier = string.Empty; + + // Apply FFmpeg log level from configuration + if (!string.IsNullOrEmpty(encodingOptions.FfmpegLogLevel)) + { + inputModifier = $"-loglevel {encodingOptions.FfmpegLogLevel}"; + } + var analyzeDurationArgument = string.Empty; // Apply -analyzeduration as per the environment variable, diff --git a/MediaBrowser.Model/Configuration/EncodingOptions.cs b/MediaBrowser.Model/Configuration/EncodingOptions.cs index 2720c0bdf6..a0494453f6 100644 --- a/MediaBrowser.Model/Configuration/EncodingOptions.cs +++ b/MediaBrowser.Model/Configuration/EncodingOptions.cs @@ -59,6 +59,7 @@ public class EncodingOptions EnableSubtitleExtraction = true; AllowOnDemandMetadataBasedKeyframeExtractionForExtensions = ["mkv"]; HardwareDecodingCodecs = ["h264", "vc1"]; + FfmpegLogLevel = "error"; } /// @@ -295,4 +296,9 @@ public class EncodingOptions /// Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for. /// public string[] AllowOnDemandMetadataBasedKeyframeExtractionForExtensions { get; set; } + + /// + /// Gets or sets the FFmpeg log level (quiet, panic, fatal, error, warning, info, verbose, debug, trace). + /// + public string FfmpegLogLevel { get; set; } }