aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
diff options
context:
space:
mode:
authorgnattu <gnattu@users.noreply.github.com>2024-03-24 22:19:48 +0800
committerGitHub <noreply@github.com>2024-03-24 08:19:48 -0600
commitcf16110a56f4dbbd4c29452392660489c275bb9e (patch)
tree5d50eca879cd1507f0725914640dcb9f3f776980 /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
parentf544219c502550bd377b9a3637ed8b562bda4027 (diff)
fix: map encoder preset to quality setting for VideoToolbox (#11205)
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs')
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index acf4f76a5..8a3bd5bcd 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -1846,6 +1846,31 @@ namespace MediaBrowser.Controller.MediaEncoding
param += " -gops_per_idr 1";
}
}
+ else if (string.Equals(videoEncoder, "h264_videotoolbox", StringComparison.OrdinalIgnoreCase) // h264 (h264_videotoolbox)
+ || string.Equals(videoEncoder, "hevc_videotoolbox", StringComparison.OrdinalIgnoreCase)) // hevc (hevc_videotoolbox)
+ {
+ switch (encodingOptions.EncoderPreset)
+ {
+ case "veryslow":
+ case "slower":
+ case "slow":
+ case "medium":
+ param += " -prio_speed 0";
+ break;
+
+ case "fast":
+ case "faster":
+ case "veryfast":
+ case "superfast":
+ case "ultrafast":
+ param += " -prio_speed 1";
+ break;
+
+ default:
+ param += " -prio_speed 1";
+ break;
+ }
+ }
else if (string.Equals(videoEncoder, "libvpx", StringComparison.OrdinalIgnoreCase)) // vp8
{
// Values 0-3, 0 being highest quality but slower