diff --git a/src/apps/dashboard/routes/playback/trickplay.tsx b/src/apps/dashboard/routes/playback/trickplay.tsx index acfdcfff7c..859bb94c92 100644 --- a/src/apps/dashboard/routes/playback/trickplay.tsx +++ b/src/apps/dashboard/routes/playback/trickplay.tsx @@ -33,6 +33,7 @@ const PlaybackTrickplay: FC = () => { (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked = options?.EnableHwAcceleration || false; (page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked = options?.EnableHwEncoding || false; + (page.querySelector('.chkEnableKeyFrameOnlyExtraction') as HTMLInputElement).checked = options?.EnableKeyFrameOnlyExtraction || false; (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value = (options?.ScanBehavior || TrickplayScanBehavior.NonBlocking); (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value = (options?.ProcessPriority || ProcessPriorityClass.Normal); (page.querySelector('#txtInterval') as HTMLInputElement).value = options?.Interval?.toString() || '10000'; @@ -79,6 +80,7 @@ const PlaybackTrickplay: FC = () => { const options = config.TrickplayOptions; options.EnableHwAcceleration = (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked; options.EnableHwEncoding = (page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked; + options.EnableKeyFrameOnlyExtraction = (page.querySelector('.chkEnableKeyFrameOnlyExtraction') as HTMLInputElement).checked; options.ScanBehavior = (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value as TrickplayScanBehavior; options.ProcessPriority = (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value as ProcessPriorityClass; options.Interval = Math.max(1, parseInt((page.querySelector('#txtInterval') as HTMLInputElement).value || '10000', 10)); @@ -170,6 +172,17 @@ const PlaybackTrickplay: FC = () => { +
+ +
+
+ {globalize.translate('LabelTrickplayKeyFrameOnlyExtractionHelp')} +
+
+
diff --git a/src/strings/en-us.json b/src/strings/en-us.json index d3ef132114..84481cb8d7 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1706,7 +1706,9 @@ "Trickplay": "Trickplay", "LabelTrickplayAccel": "Enable hardware decoding", "LabelTrickplayAccelEncoding": "Enable hardware accelerated MJPEG encoding", - "LabelTrickplayAccelEncodingHelp": "Currently only available on QSV and VAAPI, this option has no effect on other hardware acceleration methods.", + "LabelTrickplayAccelEncodingHelp": "Currently only available on QSV, VAAPI and VideoToolbox, this option has no effect on other hardware acceleration methods.", + "LabelTrickplayKeyFrameOnlyExtraction": "Only generate images from key frames", + "LabelTrickplayKeyFrameOnlyExtractionHelp": "Extract key frames only for significantly faster processing with less accurate timing. If the configured hardware decoder does not support this mode, will use the software decoder instead.", "NonBlockingScan": "Non Blocking - queues generation, then returns", "BlockingScan": "Blocking - queues generation, blocks scan until complete", "LabelScanBehavior": "Scan Behavior",