forked from SmartBench/CMVR-IOT-UI
feat(flow): 将媒体分析参数从抽取帧数改为采样帧率
- 将 analysisTuning 配置中的 maxFrames 参数替换为 sampleFps 参数 - 更新 MediaAnalysisParams 组件中的表单项标签为"采样帧率(帧/秒)" - 修改滑块控件绑定到 formData.analysisTuning.sampleFps 属性 - 更新预设配置中的 FAST、AUTO、ACCURATE 模式参数 - 调整归一化存储调优逻辑以支持新的 sampleFps 参数范围 - 更新采样帧率参数的有效范围为 0.25 到 6 帧/秒
This commit is contained in:
parent
7299743bb1
commit
a5ccfc5468
@ -100,8 +100,8 @@
|
|||||||
<span>当前模式参数</span>
|
<span>当前模式参数</span>
|
||||||
<el-button :icon="Refresh" text type="primary" @click.stop="restorePreset">恢复默认</el-button>
|
<el-button :icon="Refresh" text type="primary" @click.stop="restorePreset">恢复默认</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="抽取帧数">
|
<el-form-item label="采样帧率(帧/秒)">
|
||||||
<el-slider v-model="formData.analysisTuning.maxFrames" :min="2" :max="16" :step="1" show-input />
|
<el-slider v-model="formData.analysisTuning.sampleFps" :min="0.25" :max="6" :step="0.25" show-input />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="图片最大宽度">
|
<el-form-item label="图片最大宽度">
|
||||||
<el-slider v-model="formData.analysisTuning.maxWidth" :min="640" :max="1280" :step="64" show-input />
|
<el-slider v-model="formData.analysisTuning.maxWidth" :min="640" :max="1280" :step="64" show-input />
|
||||||
@ -140,9 +140,9 @@ const mediaCascaderRef = ref()
|
|||||||
const quoteOptions = ref([])
|
const quoteOptions = ref([])
|
||||||
const advancedSections = ref([])
|
const advancedSections = ref([])
|
||||||
const analysisPresets = {
|
const analysisPresets = {
|
||||||
FAST: { maxFrames: 6, maxWidth: 896, confidenceThreshold: 0.7, fallbackToAccurate: false },
|
FAST: { sampleFps: 1, maxWidth: 896, confidenceThreshold: 0.7, fallbackToAccurate: false },
|
||||||
AUTO: { maxFrames: 8, maxWidth: 960, confidenceThreshold: 0.75, fallbackToAccurate: true },
|
AUTO: { sampleFps: 2, maxWidth: 960, confidenceThreshold: 0.75, fallbackToAccurate: true },
|
||||||
ACCURATE: { maxFrames: 10, maxWidth: 1120, confidenceThreshold: 0.8, fallbackToAccurate: false },
|
ACCURATE: { sampleFps: 3, maxWidth: 1120, confidenceThreshold: 0.8, fallbackToAccurate: false },
|
||||||
}
|
}
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
profileCode: '',
|
profileCode: '',
|
||||||
@ -272,7 +272,7 @@ const clamp = (value, minimum, maximum, fallback) => {
|
|||||||
const normalizeStoredTuning = (value, preset) => {
|
const normalizeStoredTuning = (value, preset) => {
|
||||||
const stored = parseStoredTuning(value)
|
const stored = parseStoredTuning(value)
|
||||||
return {
|
return {
|
||||||
maxFrames: Math.round(clamp(stored.maxFrames, 2, 16, preset.maxFrames)),
|
sampleFps: Math.round(clamp(stored.sampleFps, 0.25, 6, preset.sampleFps) * 100) / 100,
|
||||||
maxWidth: Math.round(clamp(stored.maxWidth, 640, 1280, preset.maxWidth)),
|
maxWidth: Math.round(clamp(stored.maxWidth, 640, 1280, preset.maxWidth)),
|
||||||
confidenceThreshold: clamp(stored.confidenceThreshold, 0.5, 0.95, preset.confidenceThreshold),
|
confidenceThreshold: clamp(stored.confidenceThreshold, 0.5, 0.95, preset.confidenceThreshold),
|
||||||
fallbackToAccurate: typeof stored.fallbackToAccurate === 'boolean'
|
fallbackToAccurate: typeof stored.fallbackToAccurate === 'boolean'
|
||||||
|
|||||||
@ -552,7 +552,7 @@ function handler(params) {
|
|||||||
{ name: "videoUrl", type: "quote", input: "", quote: "", required: true, disabled: true },
|
{ name: "videoUrl", type: "quote", input: "", quote: "", required: true, disabled: true },
|
||||||
{ name: "instruction", type: "input", input: "", required: true, disabled: true },
|
{ name: "instruction", type: "input", input: "", required: true, disabled: true },
|
||||||
{ name: "analysisMode", type: "input", input: "AUTO", required: false, disabled: true },
|
{ name: "analysisMode", type: "input", input: "AUTO", required: false, disabled: true },
|
||||||
{ name: "analysisTuning", type: "input", input: { maxFrames: 8, maxWidth: 960, confidenceThreshold: 0.75, fallbackToAccurate: true }, required: false, disabled: true },
|
{ name: "analysisTuning", type: "input", input: { sampleFps: 2, maxWidth: 960, confidenceThreshold: 0.75, fallbackToAccurate: true }, required: false, disabled: true },
|
||||||
],
|
],
|
||||||
outputType: "json",
|
outputType: "json",
|
||||||
outputParams: [
|
outputParams: [
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user