新增:对接视频转码接口

- 新增:对接视频转码接口
- 修改:视频地址获取更换为音频识别项目的接口
This commit is contained in:
yueliuli 2026-05-09 11:07:02 +08:00
parent 08315bf54b
commit ed64a9c5a3
2 changed files with 57 additions and 48 deletions

View File

@ -19,10 +19,11 @@ const ruleFormRef = ref<FormInstance>()
const ruleForm = reactive<RuleForm>({ const ruleForm = reactive<RuleForm>({
vidPath: '', vidPath: '',
function: [ function: [
// 'runSam3', 'runAudioRecognition',
// 'runHazardCheck', 'runSam3',
// 'runGenerateReport', 'runHazardCheck',
// 'runAudioRecognition', 'runGenerateReport',
'convertToMp4',
], ],
}) })
@ -71,30 +72,47 @@ async function runCheck(formEl: FormInstance | undefined) {
} }
}) })
if (valid) { if (valid) {
runProcess()
}
}
async function runProcess() {
isRunningCheck.value = true isRunningCheck.value = true
startTimer() startTimer()
const tasks: Promise<any>[] = []
if (ruleForm.function.includes('runAudioRecognition')) { if (ruleForm.function.includes('runAudioRecognition')) {
await runApiAudio('recognize', 'GET', { tasks.push(runApiAudio('recognize', 'GET', {
path: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)], path: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)],
}) }))
} }
await runApi('/run', {
if (ruleForm.function.includes('convertToMp4')) {
tasks.push(runApiAudio('convert', 'GET', {
path: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)],
}))
}
tasks.push(runApi('/run', {
vid_file: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)], vid_file: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)],
run_sam3: ruleForm.function.includes('runSam3'), run_sam3: ruleForm.function.includes('runSam3'),
run_inspection: ruleForm.function.includes('runHazardCheck'), run_inspection: ruleForm.function.includes('runHazardCheck'),
gen_report: ruleForm.function.includes('runGenerateReport'), gen_report: ruleForm.function.includes('runGenerateReport'),
}).then((res) => { }))
await Promise.all(tasks).then((results) => {
isRunningCheck.value = false isRunningCheck.value = false
stopTimer()
// //
if (res !== 'error') { const lastRes = results[results.length - 1]
if (lastRes !== 'error') {
router.push({ router.push({
path: '/nav/hazardCheckResult', path: '/nav/hazardCheckResult',
query: { vid_file: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)] }, query: { vid_file: vidPaths.value[vidPaths.value.indexOf(ruleForm.vidPath)] },
}) })
} }
}) })
}
stopTimer()
} }
async function reloadFiles() { async function reloadFiles() {
@ -153,6 +171,12 @@ onMounted(() => {
</el-form-item> </el-form-item>
<el-form-item label="功能选择" prop="function"> <el-form-item label="功能选择" prop="function">
<el-checkbox-group v-model="ruleForm.function" class="checkbox-group"> <el-checkbox-group v-model="ruleForm.function" class="checkbox-group">
<el-checkbox value="convertToMp4" name="function">
视频转码
</el-checkbox>
<el-checkbox value="runAudioRecognition" name="function">
音频识别
</el-checkbox>
<el-checkbox value="runSam3" name="function"> <el-checkbox value="runSam3" name="function">
物体识别 物体识别
</el-checkbox> </el-checkbox>
@ -162,9 +186,6 @@ onMounted(() => {
<el-checkbox value="runGenerateReport" name="function"> <el-checkbox value="runGenerateReport" name="function">
生成报告 生成报告
</el-checkbox> </el-checkbox>
<el-checkbox value="runAudioRecognition" name="function">
音频识别
</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item v-if="!isRunningCheck"> <el-form-item v-if="!isRunningCheck">

View File

@ -327,29 +327,17 @@ onMounted(async () => {
const vidFile = router.currentRoute.value.query.vid_file as string const vidFile = router.currentRoute.value.query.vid_file as string
if (vidFile) { if (vidFile) {
// //
runApi('/get_full_vid_path', { runApiAudio('/getVidUrl', 'GET', {
vid_file: vidFile, path: vidFile,
}).then((res) => { }).then((res) => {
if (res === 'error') {
console.error('获取视频路径失败')
return
}
// console.log('', res) // console.log('', res)
vidUrl.value = (res as string[])[0] vidUrl.value = res.url
//
const fileName = vidUrl.value.split('\\').pop() || ''
//
const fileNameNoExt = fileName.split('.')[0]
//
// const fileExt = fileName.split('.')[1]
//
vidUrl.value = `http://localhost:8086/${fileNameNoExt}_h264.mp4`
}) })
//
//
// const fileNameNoExt = vidFile.split('.')[0]
// //
// const fileExt = vidFile.split('.')[1]
// vidUrl.value = `http://localhost:8086/${fileNameNoExt}_h264.${fileExt}`
// //
runApi('/run', { runApi('/run', {
vid_file: vidFile, vid_file: vidFile,