diff --git a/client/dive-common/components/RunPipelineMenu.vue b/client/dive-common/components/RunPipelineMenu.vue index 61492e772..55a0629cc 100644 --- a/client/dive-common/components/RunPipelineMenu.vue +++ b/client/dive-common/components/RunPipelineMenu.vue @@ -161,6 +161,8 @@ export default defineComponent({ case 'utility': case 'generate': return 'utilities'; + case 'transcode': + return 'transcoders'; default: return `${pipeType}s`; } diff --git a/client/platform/desktop/backend/native/common.ts b/client/platform/desktop/backend/native/common.ts index 858bfa805..7ec3b4e07 100644 --- a/client/platform/desktop/backend/native/common.ts +++ b/client/platform/desktop/backend/native/common.ts @@ -344,7 +344,7 @@ async function autodiscoverData(settings: Settings): Promise { */ async function getPipelineList(settings: Settings): Promise { const pipelinePath = npath.join(settings.viamePath, 'configs/pipelines'); - const allowedPatterns = /^detector_.+|^tracker_.+|^generate_.+|^utility_|^measurement_gmm_.+|.*[2,3]-cam.+/; + const allowedPatterns = /^filter_.+|^transcode_.+|^detector_.+|^tracker_.+|^generate_.+|^utility_|^measurement_gmm_.+|.*[2,3]-cam.+/; const disallowedPatterns = /.*local.*|detector_svm_models.pipe|tracker_svm_models.pipe/; const exists = await fs.pathExists(pipelinePath); if (!exists) return {}; diff --git a/client/platform/desktop/backend/native/viame.ts b/client/platform/desktop/backend/native/viame.ts index 852cd5329..62ab03030 100644 --- a/client/platform/desktop/backend/native/viame.ts +++ b/client/platform/desktop/backend/native/viame.ts @@ -59,7 +59,7 @@ async function runPipeline( //TODO: TEMPORARY FIX FOR DEMO PURPOSES let requiresInput = false; - if ((/utility_/g).test(pipeline.pipe)) { + if ((/utility_|filter_|transcode_/g).test(pipeline.pipe)) { requiresInput = true; } let groundTruthFileName; @@ -126,6 +126,15 @@ async function runPipeline( command.push(`-s track_writer:file_name="${trackOutput}"`); } } + + if (runPipelineArgs.pipeline.type === 'filter') { + command.push(`-s kwa_writer:output_directory="${npath.join(jobWorkDir, 'output')}"`); + command.push(`-s image_writer:file_name_prefix="${jobWorkDir}/"`); + } + if (runPipelineArgs.pipeline.type === 'transcode') { + command.push(`-s video_writer:video_filename="${npath.join(jobWorkDir, `${datasetId}.mp4`)}"`); + } + if (requiresInput && !stereoOrMultiCam) { command.push(`-s detection_reader:file_name="${groundTruthFileName}"`); command.push(`-s track_reader:file_name="${groundTruthFileName}"`);