diff --git a/.env.development b/.env.development
index a63bf94..fafb053 100644
--- a/.env.development
+++ b/.env.development
@@ -1,9 +1,12 @@
VITE_BASE=/
# VITE_BASE_URL=http://192.168.0.25:8095/
-VITE_BASE_URL=http://192.168.0.37:8095/
+VITE_BASE_URL=http://192.168.4.40:8095/
#websocket t掉线
-VITE_ON_LINE_WEB_SOCKET_URL=ws://192.168.0.37:8869
+VITE_ON_LINE_WEB_SOCKET_URL=ws://192.168.4.40:8869
#websocket 在线学习
-VITE_LEARNING_WEB_SOCKET_URL=ws://192.168.0.37:8899
+VITE_LEARNING_WEB_SOCKET_URL=ws://192.168.4.40:8899
+
+#websocket 大华设备视频
+VITE_DAHUA_WEB_SOCKET_URL=ws://192.168.4.40:8866
diff --git a/.env.production b/.env.production
index 6c5a399..4c20b0c 100644
--- a/.env.production
+++ b/.env.production
@@ -4,9 +4,12 @@ VITE_BASE_URL=http://172.16.70.226:8081/sx_yjb/
#VITE_BASE_URL=https://qaaqwh.qhdsafety.com/integrated_whb/
#websocket t掉线
-VITE_ON_LINE_WEB_SOCKET_URL=ws://183.251.104.38:10103
+VITE_ON_LINE_WEB_SOCKET_URL=ws://172.16.70.226:8869
# VITE_ON_LINE_WEB_SOCKET_URL=wss://qaaqwh.qhdsafety.com/disconnected/
#websocket 在线学习
-VITE_LEARNING_WEB_SOCKET_URL=ws://183.251.104.38:10102
+VITE_LEARNING_WEB_SOCKET_URL=ws://172.16.70.226:8899
#VITE_LEARNING_WEB_SOCKET_URL=wss://qaaqwh.qhdsafety.com/onlinelearning/
+
+#websocket 大华设备视频
+VITE_DAHUA_WEB_SOCKET_URL=ws://172.16.70.226:8866
diff --git a/env.d.ts b/env.d.ts
index b18e5ab..ffec46c 100644
--- a/env.d.ts
+++ b/env.d.ts
@@ -19,4 +19,8 @@ interface ImportMetaEnv {
* websocket 在线学习
*/
readonly VITE_LEARNING_WEB_SOCKET_URL: string
+ /**
+ * websocket 大华设备视频
+ */
+ readonly VITE_DAHUA_WEB_SOCKET_URL: string
}
diff --git a/package-lock.json b/package-lock.json
index a741475..cba7e66 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,12 +20,14 @@
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"element-plus": "^2.6.1",
+ "flv.js": "^1.6.2",
"hls.js": "^1.6.13",
"html2canvas": "^1.4.1",
"jspdf": "^2.5.1",
"lodash-es": "^4.17.21",
"mitt": "^3.0.1",
"mp4box": "^0.5.2",
+ "mpegts.js": "^1.8.0",
"nanoid": "^5.0.4",
"normalize.css": "^8.0.1",
"pako": "^2.1.0",
@@ -3362,6 +3364,11 @@
"es6-symbol": "^3.1.1"
}
},
+ "node_modules/es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+ },
"node_modules/es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
@@ -4110,6 +4117,15 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/flv.js": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmmirror.com/flv.js/-/flv.js-1.6.2.tgz",
+ "integrity": "sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==",
+ "dependencies": {
+ "es6-promise": "^4.2.8",
+ "webworkify-webpack": "^2.1.5"
+ }
+ },
"node_modules/follow-redirects": {
"version": "1.15.11",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
@@ -5445,6 +5461,15 @@
"integrity": "sha512-GcCH0fySxBurJtvr0dfhz0IxHZjc1RP+F+I8xw+LIwkU1a+7HJx8NCDiww1I5u4Hz6g4eR1JlGADEGJ9r4lSfA==",
"license": "BSD-3-Clause"
},
+ "node_modules/mpegts.js": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmmirror.com/mpegts.js/-/mpegts.js-1.8.0.tgz",
+ "integrity": "sha512-ZtujqtmTjWgcDDkoOnLvrOKUTO/MKgLHM432zGDI8oPaJ0S+ebPxg1nEpDpLw6I7KmV/GZgUIrfbWi3qqEircg==",
+ "dependencies": {
+ "es6-promise": "^4.2.5",
+ "webworkify-webpack": "github:xqq/webworkify-webpack"
+ }
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -7681,6 +7706,11 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/webworkify-webpack": {
+ "version": "2.1.5",
+ "resolved": "git+ssh://git@github.com/xqq/webworkify-webpack.git#24d1e719b4a6cac37a518b2bb10fe124527ef4ef",
+ "license": "MIT"
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index 4110181..a7e4e70 100644
--- a/package.json
+++ b/package.json
@@ -22,12 +22,14 @@
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"element-plus": "^2.6.1",
+ "flv.js": "^1.6.2",
"hls.js": "^1.6.13",
"html2canvas": "^1.4.1",
"jspdf": "^2.5.1",
"lodash-es": "^4.17.21",
"mitt": "^3.0.1",
"mp4box": "^0.5.2",
+ "mpegts.js": "^1.8.0",
"nanoid": "^5.0.4",
"normalize.css": "^8.0.1",
"pako": "^2.1.0",
diff --git a/src/views/video_manager/video_manager/components/playVideo.vue b/src/views/video_manager/video_manager/components/playVideo.vue
index 1d9cb79..339ab2c 100644
--- a/src/views/video_manager/video_manager/components/playVideo.vue
+++ b/src/views/video_manager/video_manager/components/playVideo.vue
@@ -1,5 +1,5 @@
-
+
@@ -11,12 +11,10 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/views/video_manager/video_manager/index.vue b/src/views/video_manager/video_manager/index.vue
index 8823e61..533a6c6 100644
--- a/src/views/video_manager/video_manager/index.vue
+++ b/src/views/video_manager/video_manager/index.vue
@@ -18,9 +18,6 @@
重置
- 播放后台转码视频
@@ -106,12 +103,11 @@
@get-data="fnResetPagination"
/>
-
+
@@ -130,8 +126,7 @@ import {ElMessage, ElMessageBox} from "element-plus";
import SelectingPoints from "./components/selecting_points.vue";
import LayoutVideo from "@/components/video/index.vue";
import {setVideoManagerList} from "@/request/eightwork_videomanager.js";
-import PlayVideo from "@/views/video_manager/video_manager/components/playVideo.vue"; // 引入新播放器组件
-import {startTransCode, stopTransCode} from "@/request/video_info.js"; // 转码接口
+import PlayVideo from "@/views/video_manager/video_manager/components/playVideo.vue"; // 引入大华播放器组件
const data = reactive({
addDialog: {
@@ -155,42 +150,18 @@ const data = reactive({
videomanagerId: "",
visible: false,
},
- transcodeVideoDialog: {
+ dahuaVideoDialog: {
visible: false,
- src: "http://localhost:8100/api/hls/stream.m3u8", // 后端转码后HLS流的访问路径
id: "",
+ channel: 0 // 通道号
},
});
-// 启动转码并显示播放器
-const handleStartTranscode = async () => {
- try {
- await startTransCode(); // 调用后端“启动转码”接口
- data.transcodeVideoDialog.visible = true; // 显示播放器弹窗
- } catch (error) {
- ElMessage.error("启动转码失败: " + (error.message || "未知错误"));
- }
-};
-
-// 转码停止后的回调
-const onTranscodeStopped = async () => {
- await stopTransCode(); // 调用后端“停止转码”接口
-};
-
-// 列表数据逻辑(保持不变)
+// 列表数据逻辑
const {list, pagination, searchForm, fnGetData, fnResetPagination} =
useListData(getHkVideoManagerList);
-// 其他方法(保持不变)
-// const fnSetPositioning = async (row) => {
-// data.selectingPointsDialog.id = row.PLS_ID ? row.PLS_ID : "";
-// data.selectingPointsDialog.indexCode = row.indexCode;
-// data.selectingPointsDialog.regionPathName = row.regionPathName;
-// data.selectingPointsDialog.camName = row.name;
-// data.selectingPointsDialog.videomanagerId = row.videomanagerId;
-// data.selectingPointsDialog.visible = true;
-// };
-
+// 其他方法
const fnUpToBi = async (videomanagerId) => {
await ElMessageBox.confirm("确定要置顶吗?置顶后将会默认展示在Bi页", {
type: "warning",
@@ -200,14 +171,16 @@ const fnUpToBi = async (videomanagerId) => {
};
const fnPreviewVideo = async (row) => {
- try {
- const resData = await startTransCode({url: row.url, id: row.PLS_ID}); // 调用后端“启动转码”接口
- data.transcodeVideoDialog.visible = true; // 显示播放器弹窗
- data.transcodeVideoDialog.id = row.PLS_ID; // 显示播放器弹窗
- data.transcodeVideoDialog.src =
- "http://172.16.70.226:7811/" + resData.videoUrl + "stream.m3u8";
- } catch (error) {
- ElMessage.error("启动转码失败: " + (error.message || "未知错误"));
+ // 直接播放大华设备视频
+ data.dahuaVideoDialog.visible = true;
+ data.dahuaVideoDialog.channel = row.channel;
+ console.log("播放大华设备视频:", row.channel);
+};
+
+const handlePlayVideoClose = (visible) => {
+ if (!visible) {
+ // 视频播放窗口关闭时的处理逻辑
+ console.log("视频播放窗口已关闭");
}
};