diff --git a/src/apps/dashboard/routes/playback/trickplay.tsx b/src/apps/dashboard/routes/playback/trickplay.tsx index 56f155be6b..df2151ddd4 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)); @@ -169,6 +171,17 @@ const PlaybackTrickplay: FC = () => { +
+ +
+
+ {globalize.translate('LabelTrickplayKeyFrameOnlyExtractionHelp')} +
+
+
diff --git a/src/strings/en-us.json b/src/strings/en-us.json index f27bd5ebd1..8cd8e6141a 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1690,6 +1690,8 @@ "LabelTrickplayAccel": "Enable hardware decoding", "LabelTrickplayAccelEncoding": "Enable hardware accelerated MJPEG encoding", "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. Not compatible with QSV and NVDEC hardware decoders. Software processing in this mode will be faster than hardware processing not in this mode.", "NonBlockingScan": "Non Blocking - queues generation, then returns", "BlockingScan": "Blocking - queues generation, blocks scan until complete", "LabelScanBehavior": "Scan Behavior",