优化视频和mqtt连接
parent
33c05564e4
commit
1834d70b8b
|
|
@ -408,13 +408,17 @@
|
|||
if (index == -1) {
|
||||
startLiveFun();
|
||||
} else {
|
||||
player.src(live_info.url + liveCode.value + '.flv');
|
||||
player.play();
|
||||
airPortStoreVal.setflyLog({
|
||||
type: 'success',
|
||||
title: airPortInfo.name + '直播',
|
||||
content: '已开启',
|
||||
});
|
||||
if (res.data.streams[index].publish.active) {
|
||||
player.src(live_info.url + liveCode.value + '.flv');
|
||||
player.play();
|
||||
airPortStoreVal.setflyLog({
|
||||
type: 'success',
|
||||
title: airPortInfo.name + '直播',
|
||||
content: '已开启',
|
||||
});
|
||||
} else {
|
||||
startLiveFun();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
startLiveFun();
|
||||
|
|
@ -529,9 +533,11 @@
|
|||
(val) => {
|
||||
nextTick(() => {
|
||||
const div = myDiv.value; // 获取DOM元素引用
|
||||
const scrollHeight = div.scrollTop; // 获取div的滚动高度(注意,这里通常是0,除非你手动设置了scrollTop)
|
||||
if (scrollHeight > 0) {
|
||||
myDiv.value.scrollTop = scrollHeight + 50;
|
||||
if (div) {
|
||||
const scrollHeight = div.scrollTop; // 获取div的滚动高度(注意,这里通常是0,除非你手动设置了scrollTop)
|
||||
if (scrollHeight > 0) {
|
||||
myDiv.value.scrollTop = scrollHeight + 50;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -557,12 +563,16 @@
|
|||
}, 500);
|
||||
};
|
||||
onMounted(() => {
|
||||
console.log('index--onMounted');
|
||||
console.log(getClient());
|
||||
window.addEventListener('resize', function () {
|
||||
const pageHeight = document.documentElement.clientHeight;
|
||||
console.log(pageHeight);
|
||||
mapHeight.value = document.documentElement.clientHeight - 124;
|
||||
});
|
||||
createConnection(connectCallback);
|
||||
if (!getClient() || !getClient().connected) {
|
||||
createConnection(connectCallback);
|
||||
}
|
||||
document.addEventListener('keydown', handleKeyDown);
|
||||
document.addEventListener('keyup', handleKeyUp);
|
||||
|
||||
|
|
|
|||
|
|
@ -467,6 +467,9 @@
|
|||
import { useUserStore } from '@/store/modules/user';
|
||||
import { endHandFlyTask, endAiInspection } from '@/api/workmanagement/droneDock';
|
||||
import axios from 'axios';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
|
||||
const emits = defineEmits(['closeUavBox', 'flyLog', 'patrolbtn']);
|
||||
const airPortStoreVal = airPortStore();
|
||||
|
|
@ -564,19 +567,22 @@
|
|||
const getRtmpList = () => {
|
||||
liveCode.value = uavInfo.sn;
|
||||
axios.get(live_info.getUrl + 'api/v1/streams/').then((res) => {
|
||||
console.log(res);
|
||||
if (res.data.streams.length > 0) {
|
||||
const index = res.data.streams.findIndex((item) => item.url === `/live/` + uavInfo.sn);
|
||||
if (index == -1) {
|
||||
startLiveFun();
|
||||
} else {
|
||||
player.src(live_info.url + liveCode.value + '.flv');
|
||||
player.play();
|
||||
airPortStoreVal.setflyLog({
|
||||
type: 'success',
|
||||
title: uavInfo.name + '直播',
|
||||
content: '已开启',
|
||||
});
|
||||
if (res.data.streams[index].publish.active) {
|
||||
player.src(live_info.url + liveCode.value + '.flv');
|
||||
player.play();
|
||||
airPortStoreVal.setflyLog({
|
||||
type: 'success',
|
||||
title: uavInfo.name + '直播',
|
||||
content: '已开启',
|
||||
});
|
||||
} else {
|
||||
startLiveFun();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
startLiveFun();
|
||||
|
|
@ -594,7 +600,7 @@
|
|||
url: live_info.rtmp + liveCode.value,
|
||||
//video_id = "1581F8HGX254V00A0BUY/0-100-1/normal-0",
|
||||
video_id: uavInfo.video_id,
|
||||
video_quality: 4, // 0=自适应,1=流畅,2=标清,3=高清,4=超清
|
||||
video_quality: 3, // 0=自适应,1=流畅,2=标清,3=高清,4=超清
|
||||
},
|
||||
};
|
||||
console.log(querys);
|
||||
|
|
@ -759,7 +765,6 @@
|
|||
// 一键返航
|
||||
const returnBtn = ref(false);
|
||||
const returnVoyage = () => {
|
||||
console.log('一键返航');
|
||||
if (returnBtn.value) {
|
||||
airPortStoreVal.setflyLog({
|
||||
type: 'info',
|
||||
|
|
@ -1138,6 +1143,7 @@
|
|||
};
|
||||
|
||||
onMounted(() => {
|
||||
console.log('box----onMounted');
|
||||
// 添加键盘事件监听
|
||||
document.addEventListener('keydown', handleKeyDown);
|
||||
document.addEventListener('keyup', handleKeyUp);
|
||||
|
|
@ -1150,7 +1156,7 @@
|
|||
|
||||
rightHeight.value = leftBox.value.clientHeight;
|
||||
setTimeout(() => {
|
||||
getRtmpList();
|
||||
liveCode.value = uavInfo.sn;
|
||||
player = TCPlayer('player-container-id-live', {
|
||||
sources: [
|
||||
{
|
||||
|
|
@ -1160,6 +1166,7 @@
|
|||
licenseUrl: live_info.url + liveCode.value + '.flv', // license 地址,必传。参考准备工作部分,在视立方控制台申请 license 后可获得 licenseUrl
|
||||
autoplay: true, // 是否自动播放
|
||||
});
|
||||
getRtmpList();
|
||||
getClient().on('message', (topic, message) => {
|
||||
const rs = JSON.parse(message);
|
||||
// 飞行器消息
|
||||
|
|
@ -1313,6 +1320,7 @@
|
|||
}
|
||||
} else {
|
||||
drc_eart_beat();
|
||||
// createMessage.error('DRC连接中断,' + errorName(rs.data.result) + ',正在重新连接');
|
||||
}
|
||||
}
|
||||
if (rs.method == 'drc_mode_exit') {
|
||||
|
|
@ -1448,6 +1456,10 @@
|
|||
onUnmounted(() => {
|
||||
document.removeEventListener('keydown', handleKeyDown);
|
||||
document.removeEventListener('keyup', handleKeyUp);
|
||||
if (player) {
|
||||
player.dispose();
|
||||
player = null;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
// vite.config.ts
|
||||
import { defineApplicationConfig } from "file:///E:/%E6%96%B0%E6%9E%B6%E6%9E%84%E9%A1%B9%E7%9B%AE/%E4%BD%8E%E7%A9%BA%E6%84%9F%E7%9F%A5%E5%B9%B3%E5%8F%B0/DiKongGanZhiPingTai/internal/vite-config/dist/index.mjs";
|
||||
import { mars3dPlugin } from "file:///E:/%E6%96%B0%E6%9E%B6%E6%9E%84%E9%A1%B9%E7%9B%AE/%E4%BD%8E%E7%A9%BA%E6%84%9F%E7%9F%A5%E5%B9%B3%E5%8F%B0/DiKongGanZhiPingTai/node_modules/.pnpm/vite-plugin-mars3d@3.1.3_rollup@2.79.2/node_modules/vite-plugin-mars3d/dist/index.js";
|
||||
var vite_config_default = defineApplicationConfig({
|
||||
overrides: {
|
||||
optimizeDeps: {
|
||||
include: [
|
||||
"echarts/core",
|
||||
"echarts/charts",
|
||||
"echarts/components",
|
||||
"echarts/renderers",
|
||||
"qrcode",
|
||||
"@iconify/iconify",
|
||||
"ant-design-vue/es/locale/zh_CN",
|
||||
"ant-design-vue/es/locale/en_US",
|
||||
"@/../lib/vform/designer.umd.js"
|
||||
]
|
||||
},
|
||||
build: {
|
||||
/* 其他build生产打包配置省略 */
|
||||
//...
|
||||
target: "esnext",
|
||||
commonjsOptions: {
|
||||
include: [/node_modules|lib/, /node_modules|packages/]
|
||||
//这里记得把lib目录加进来,否则生产打包会报错!!
|
||||
}
|
||||
},
|
||||
server: {
|
||||
proxy: {
|
||||
"/basic-api": {
|
||||
target: "http://localhost:3000",
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
rewrite: (path) => path.replace(new RegExp(`^/basic-api`), "")
|
||||
// only https
|
||||
// secure: false
|
||||
},
|
||||
"/upload": {
|
||||
target: "http://localhost:3300/upload",
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
rewrite: (path) => path.replace(new RegExp(`^/upload`), "")
|
||||
}
|
||||
},
|
||||
warmup: {
|
||||
clientFiles: ["./index.html", "./src/{views,components}/*"]
|
||||
}
|
||||
},
|
||||
define: {
|
||||
"process.env": {
|
||||
BASE_URL: "/"
|
||||
}
|
||||
},
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
less: {
|
||||
javascriptEnabled: true
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: [mars3dPlugin()]
|
||||
}
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxcdTY1QjBcdTY3QjZcdTY3ODRcdTk4NzlcdTc2RUVcXFxcXHU0RjRFXHU3QTdBXHU2MTFGXHU3N0U1XHU1RTczXHU1M0YwXFxcXERpS29uZ0dhblpoaVBpbmdUYWlcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXFx1NjVCMFx1NjdCNlx1Njc4NFx1OTg3OVx1NzZFRVxcXFxcdTRGNEVcdTdBN0FcdTYxMUZcdTc3RTVcdTVFNzNcdTUzRjBcXFxcRGlLb25nR2FuWmhpUGluZ1RhaVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovJUU2JTk2JUIwJUU2JTlFJUI2JUU2JTlFJTg0JUU5JUExJUI5JUU3JTlCJUFFLyVFNCVCRCU4RSVFNyVBOSVCQSVFNiU4NCU5RiVFNyU5RiVBNSVFNSVCOSVCMyVFNSU4RiVCMC9EaUtvbmdHYW5aaGlQaW5nVGFpL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5pbXBvcnQgeyBtYXJzM2RQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1tYXJzM2QnO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVBcHBsaWNhdGlvbkNvbmZpZyh7XG4gIG92ZXJyaWRlczoge1xuICAgIG9wdGltaXplRGVwczoge1xuICAgICAgaW5jbHVkZTogW1xuICAgICAgICAnZWNoYXJ0cy9jb3JlJyxcbiAgICAgICAgJ2VjaGFydHMvY2hhcnRzJyxcbiAgICAgICAgJ2VjaGFydHMvY29tcG9uZW50cycsXG4gICAgICAgICdlY2hhcnRzL3JlbmRlcmVycycsXG4gICAgICAgICdxcmNvZGUnLFxuICAgICAgICAnQGljb25pZnkvaWNvbmlmeScsXG4gICAgICAgICdhbnQtZGVzaWduLXZ1ZS9lcy9sb2NhbGUvemhfQ04nLFxuICAgICAgICAnYW50LWRlc2lnbi12dWUvZXMvbG9jYWxlL2VuX1VTJyxcbiAgICAgICAgJ0AvLi4vbGliL3Zmb3JtL2Rlc2lnbmVyLnVtZC5qcycsXG4gICAgICBdLFxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgIC8qIFx1NTE3Nlx1NEVENmJ1aWxkXHU3NTFGXHU0RUE3XHU2MjUzXHU1MzA1XHU5MTREXHU3RjZFXHU3NzAxXHU3NTY1ICovXG4gICAgICAvLy4uLlxuICAgICAgdGFyZ2V0OiAnZXNuZXh0JyxcbiAgICAgIGNvbW1vbmpzT3B0aW9uczoge1xuICAgICAgICBpbmNsdWRlOiBbL25vZGVfbW9kdWxlc3xsaWIvLCAvbm9kZV9tb2R1bGVzfHBhY2thZ2VzL10sIC8vXHU4RkQ5XHU5MUNDXHU4QkIwXHU1Rjk3XHU2MjhBbGliXHU3NkVFXHU1RjU1XHU1MkEwXHU4RkRCXHU2NzY1XHVGRjBDXHU1NDI2XHU1MjE5XHU3NTFGXHU0RUE3XHU2MjUzXHU1MzA1XHU0RjFBXHU2MkE1XHU5NTE5XHVGRjAxXHVGRjAxXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VydmVyOiB7XG4gICAgICBwcm94eToge1xuICAgICAgICAnL2Jhc2ljLWFwaSc6IHtcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYF4vYmFzaWMtYXBpYCksICcnKSxcbiAgICAgICAgICAvLyBvbmx5IGh0dHBzXG4gICAgICAgICAgLy8gc2VjdXJlOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICAnL3VwbG9hZCc6IHtcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwOi8vbG9jYWxob3N0OjMzMDAvdXBsb2FkJyxcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICAgICAgd3M6IHRydWUsXG4gICAgICAgICAgcmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGBeL3VwbG9hZGApLCAnJyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgd2FybXVwOiB7XG4gICAgICAgIGNsaWVudEZpbGVzOiBbJy4vaW5kZXguaHRtbCcsICcuL3NyYy97dmlld3MsY29tcG9uZW50c30vKiddLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmluZToge1xuICAgICAgJ3Byb2Nlc3MuZW52Jzoge1xuICAgICAgICBCQVNFX1VSTDogJy8nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNzczoge1xuICAgICAgcHJlcHJvY2Vzc29yT3B0aW9uczoge1xuICAgICAgICBsZXNzOiB7XG4gICAgICAgICAgamF2YXNjcmlwdEVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcGx1Z2luczogW21hcnMzZFBsdWdpbigpXSxcbiAgfSxcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUEyWCxTQUFTLCtCQUErQjtBQUNuYSxTQUFTLG9CQUFvQjtBQUU3QixJQUFPLHNCQUFRLHdCQUF3QjtBQUFBLEVBQ3JDLFdBQVc7QUFBQSxJQUNULGNBQWM7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsT0FBTztBQUFBO0FBQUE7QUFBQSxNQUdMLFFBQVE7QUFBQSxNQUNSLGlCQUFpQjtBQUFBLFFBQ2YsU0FBUyxDQUFDLG9CQUFvQix1QkFBdUI7QUFBQTtBQUFBLE1BQ3ZEO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sT0FBTztBQUFBLFFBQ0wsY0FBYztBQUFBLFVBQ1osUUFBUTtBQUFBLFVBQ1IsY0FBYztBQUFBLFVBQ2QsSUFBSTtBQUFBLFVBQ0osU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxhQUFhLEdBQUcsRUFBRTtBQUFBO0FBQUE7QUFBQSxRQUcvRDtBQUFBLFFBQ0EsV0FBVztBQUFBLFVBQ1QsUUFBUTtBQUFBLFVBQ1IsY0FBYztBQUFBLFVBQ2QsSUFBSTtBQUFBLFVBQ0osU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxVQUFVLEdBQUcsRUFBRTtBQUFBLFFBQzVEO0FBQUEsTUFDRjtBQUFBLE1BQ0EsUUFBUTtBQUFBLFFBQ04sYUFBYSxDQUFDLGdCQUFnQiw0QkFBNEI7QUFBQSxNQUM1RDtBQUFBLElBQ0Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLGVBQWU7QUFBQSxRQUNiLFVBQVU7QUFBQSxNQUNaO0FBQUEsSUFDRjtBQUFBLElBQ0EsS0FBSztBQUFBLE1BQ0gscUJBQXFCO0FBQUEsUUFDbkIsTUFBTTtBQUFBLFVBQ0osbUJBQW1CO0FBQUEsUUFDckI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsU0FBUyxDQUFDLGFBQWEsQ0FBQztBQUFBLEVBQzFCO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
|
||||
Loading…
Reference in New Issue