diff --git a/services/mam-api/src/routes/recorders.js b/services/mam-api/src/routes/recorders.js index 491534b..60ea7a7 100644 --- a/services/mam-api/src/routes/recorders.js +++ b/services/mam-api/src/routes/recorders.js @@ -154,7 +154,7 @@ const RECORDER_FIELDS = [ 'proxy_audio_codec', 'proxy_audio_bitrate', 'proxy_audio_channels', 'proxy_container', 'project_id', 'node_id', 'device_index', - 'growing_enabled', 'label', + 'growing_enabled', 'growing_codec', 'label', ]; function pickRecorderFields(body) { diff --git a/services/web-ui/public/screens-ingest.jsx b/services/web-ui/public/screens-ingest.jsx index fd210a5..46c18e5 100644 --- a/services/web-ui/public/screens-ingest.jsx +++ b/services/web-ui/public/screens-ingest.jsx @@ -619,6 +619,7 @@ function RecorderConfigModal({ recorder, onClose, onSaved }) { const _seedBitrate = (recorder.recording_video_bitrate || (recorder.growing_enabled === true ? '50' : '25')).replace(/M$/i, ''); const [bitrate, setBitrate] = React.useState(_seedBitrate); const [growing, setGrowing] = React.useState(recorder.growing_enabled === true); + const [growingCodec, setGrowingCodec] = React.useState(recorder.growing_codec === 'hevc_nvenc' ? 'hevc_nvenc' : 'avci100'); const [projectId, setProjectId] = React.useState(recorder.project_id || PROJECTS[0]?.id || ''); const [saving, setSaving] = React.useState(false); const [err, setErr] = React.useState(null); @@ -636,6 +637,7 @@ function RecorderConfigModal({ recorder, onClose, onSaved }) { label: label.trim() || null, recording_codec: effCodec, growing_enabled: growing, + growing_codec: growing ? growingCodec : undefined, project_id: projectId || null, }; if (showBitrate && bitrate) body.recording_video_bitrate = String(bitrate).replace(/M$/i, '') + 'M'; @@ -706,7 +708,7 @@ function RecorderConfigModal({ recorder, onClose, onSaved }) {