mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
fix: move mjpeg acceleration option into trickplay panel
This option is very trickplay specific and should not belongs to general encoding options
This commit is contained in:
parent
fce1e7f173
commit
b07553a058
4 changed files with 14 additions and 16 deletions
|
@ -31,6 +31,7 @@ const PlaybackTrickplay: FunctionComponent = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
(page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked = options.EnableHwAcceleration;
|
(page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked = options.EnableHwAcceleration;
|
||||||
|
(page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked = options.EnableHwEncoding;
|
||||||
(page.querySelector('#selectScanBehavior') as HTMLSelectElement).value = options.ScanBehavior;
|
(page.querySelector('#selectScanBehavior') as HTMLSelectElement).value = options.ScanBehavior;
|
||||||
(page.querySelector('#selectProcessPriority') as HTMLSelectElement).value = options.ProcessPriority;
|
(page.querySelector('#selectProcessPriority') as HTMLSelectElement).value = options.ProcessPriority;
|
||||||
(page.querySelector('#txtInterval') as HTMLInputElement).value = options.Interval;
|
(page.querySelector('#txtInterval') as HTMLInputElement).value = options.Interval;
|
||||||
|
@ -76,6 +77,7 @@ const PlaybackTrickplay: FunctionComponent = () => {
|
||||||
|
|
||||||
const options = config.TrickplayOptions;
|
const options = config.TrickplayOptions;
|
||||||
options.EnableHwAcceleration = (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked;
|
options.EnableHwAcceleration = (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked;
|
||||||
|
options.EnableHwEncoding = (page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked;
|
||||||
options.ScanBehavior = (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value as TrickplayScanBehavior;
|
options.ScanBehavior = (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value as TrickplayScanBehavior;
|
||||||
options.ProcessPriority = (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value as ProcessPriorityClass;
|
options.ProcessPriority = (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value as ProcessPriorityClass;
|
||||||
options.Interval = Math.max(1, parseInt((page.querySelector('#txtInterval') as HTMLInputElement).value || '10000', 10));
|
options.Interval = Math.max(1, parseInt((page.querySelector('#txtInterval') as HTMLInputElement).value || '10000', 10));
|
||||||
|
@ -154,12 +156,16 @@ const PlaybackTrickplay: FunctionComponent = () => {
|
||||||
className='chkEnableHwAcceleration'
|
className='chkEnableHwAcceleration'
|
||||||
title='LabelTrickplayAccel'
|
title='LabelTrickplayAccel'
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
|
<div className='checkboxContainer checkboxContainer-withDescription'>
|
||||||
|
<CheckBoxElement
|
||||||
|
className='chkEnableHwEncoding'
|
||||||
|
title='LabelTrickplayAccelEncoding'
|
||||||
|
/>
|
||||||
<div className='fieldDescription checkboxFieldDescription'>
|
<div className='fieldDescription checkboxFieldDescription'>
|
||||||
<LinkTrickplayAcceleration
|
<div className='fieldDescription'>
|
||||||
title='LabelTrickplayAccelHelp'
|
{globalize.translate('LabelTrickplayAccelEncodingHelp')}
|
||||||
href='#/dashboard/playback/transcoding'
|
</div>
|
||||||
className='button-link'
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -135,12 +135,6 @@
|
||||||
<span>${AllowAv1Encoding}</span>
|
<span>${AllowAv1Encoding}</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkboxList">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" is="emby-checkbox" id="chkAllowMjpegEncoding" />
|
|
||||||
<span>${AllowMjpegEncoding}</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="vppTonemappingOptions hide">
|
<div class="vppTonemappingOptions hide">
|
||||||
|
|
|
@ -19,7 +19,6 @@ function loadPage(page, config, systemInfo) {
|
||||||
page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding;
|
page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding;
|
||||||
page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding;
|
page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding;
|
||||||
page.querySelector('#chkAllowAv1Encoding').checked = config.AllowAv1Encoding;
|
page.querySelector('#chkAllowAv1Encoding').checked = config.AllowAv1Encoding;
|
||||||
page.querySelector('#chkAllowMjpegEncoding').checked = config.AllowMjpegEncoding;
|
|
||||||
$('#selectVideoDecoder', page).val(config.HardwareAccelerationType);
|
$('#selectVideoDecoder', page).val(config.HardwareAccelerationType);
|
||||||
$('#selectThreadCount', page).val(config.EncodingThreadCount);
|
$('#selectThreadCount', page).val(config.EncodingThreadCount);
|
||||||
page.querySelector('#chkEnableAudioVbr').checked = config.EnableAudioVbr;
|
page.querySelector('#chkEnableAudioVbr').checked = config.EnableAudioVbr;
|
||||||
|
@ -128,7 +127,6 @@ function onSubmit() {
|
||||||
config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked;
|
config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked;
|
||||||
config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked;
|
config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked;
|
||||||
config.AllowAv1Encoding = form.querySelector('#chkAllowAv1Encoding').checked;
|
config.AllowAv1Encoding = form.querySelector('#chkAllowAv1Encoding').checked;
|
||||||
config.AllowMjpegEncoding = form.querySelector('#chkAllowMjpegEncoding').checked;
|
|
||||||
ApiClient.updateNamedConfiguration('encoding', config).then(function () {
|
ApiClient.updateNamedConfiguration('encoding', config).then(function () {
|
||||||
updateEncoder(form);
|
updateEncoder(form);
|
||||||
}, function () {
|
}, function () {
|
||||||
|
|
|
@ -1648,10 +1648,10 @@
|
||||||
"ForeignPartsOnly": "Forced/Foreign parts only",
|
"ForeignPartsOnly": "Forced/Foreign parts only",
|
||||||
"HearingImpairedShort": "HI/SDH",
|
"HearingImpairedShort": "HI/SDH",
|
||||||
"LabelIsHearingImpaired": "For hearing impaired (SDH)",
|
"LabelIsHearingImpaired": "For hearing impaired (SDH)",
|
||||||
"AllowMjpegEncoding": "Allow encoding in MJPEG format (used during trickplay generation)",
|
|
||||||
"Trickplay": "Trickplay",
|
"Trickplay": "Trickplay",
|
||||||
"LabelTrickplayAccel": "Enable hardware acceleration",
|
"LabelTrickplayAccel": "Enable hardware decoding",
|
||||||
"LabelTrickplayAccelHelp": "Make sure to enable 'Allow MJPEG Encoding' in Transcoding if your hardware supports it.",
|
"LabelTrickplayAccelEncoding": "Enable hardware accelerated MJPEG encoding",
|
||||||
|
"LabelTrickplayAccelEncodingHelp": "Currently only available on QSV and VAAPI, this option has no effect on other hardware acceleration methods.",
|
||||||
"NonBlockingScan": "Non Blocking - queues generation, then returns",
|
"NonBlockingScan": "Non Blocking - queues generation, then returns",
|
||||||
"BlockingScan": "Blocking - queues generation, blocks scan until complete",
|
"BlockingScan": "Blocking - queues generation, blocks scan until complete",
|
||||||
"LabelScanBehavior": "Scan Behavior",
|
"LabelScanBehavior": "Scan Behavior",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue