diff --git a/web/src/routes/admin/system-settings/FFmpegSettings.svelte b/web/src/routes/admin/system-settings/FFmpegSettings.svelte
index 33d6ba84f6..101de86008 100644
--- a/web/src/routes/admin/system-settings/FFmpegSettings.svelte
+++ b/web/src/routes/admin/system-settings/FFmpegSettings.svelte
@@ -88,6 +88,7 @@
desc={$t('admin.transcoding_accepted_video_codecs_description')}
bind:value={configToEdit.ffmpeg.acceptedVideoCodecs}
name="videoCodecs"
+ lockedOptions={[configToEdit.ffmpeg.targetVideoCodec]}
options={[
{ value: VideoCodec.H264, text: 'H.264' },
{ value: VideoCodec.Hevc, text: 'HEVC' },
@@ -106,6 +107,7 @@
desc={$t('admin.transcoding_accepted_audio_codecs_description')}
bind:value={configToEdit.ffmpeg.acceptedAudioCodecs}
name="audioCodecs"
+ lockedOptions={[configToEdit.ffmpeg.targetAudioCodec]}
options={[
{ value: AudioCodec.Aac, text: 'AAC' },
{ value: AudioCodec.Mp3, text: 'MP3' },
diff --git a/web/src/routes/admin/system-settings/SettingCheckboxes.svelte b/web/src/routes/admin/system-settings/SettingCheckboxes.svelte
index 53257a0908..d085482d27 100644
--- a/web/src/routes/admin/system-settings/SettingCheckboxes.svelte
+++ b/web/src/routes/admin/system-settings/SettingCheckboxes.svelte
@@ -1,17 +1,18 @@
-
@@ -57,7 +59,7 @@
size="tiny"
id="{option.value}-checkbox"
checked={value.includes(option.value)}
- {disabled}
+ disabled={disabled || lockedOptions.includes(option.value)}
onCheckedChange={() => handleCheckboxChange(option.value)}
/>