From 7354b8b874e172b3f826d8343941316626daa2c3 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 21 May 2021 18:05:40 +0800
Subject: [PATCH] 海康视频问题修复
---
src/views/dataL/dataL.vue | 156 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 99 insertions(+), 57 deletions(-)
diff --git a/src/views/dataL/dataL.vue b/src/views/dataL/dataL.vue
index 0917c68..f771894 100644
--- a/src/views/dataL/dataL.vue
+++ b/src/views/dataL/dataL.vue
@@ -1186,65 +1186,107 @@
// console.log(this.$store.state)
},
//获取视频
- openRealVideoBox(serialNumber, channelNumber) {
+ openRealVideoBox(serialNumber, channelNumber,deviceNumber,manufacturer) {
var that = this;
- var newAxios = axios.create({
- baseURL: "https://web.byisf.com:18000",
- withCredentials: false,
- headers: {
- "Content-type": "application/x-www-form-urlencoded",
- },
- });
- newAxios
- .post(
- "/api_control",
- {},
- {
- params: {
- param: JSON.stringify({ PktType: "GetAccessToken" }),
- },
- }
- )
- .then((res) => {
- newAxios
- .get(
- `https://web.byisf.com:18000/GetPlayUrl?deviceCode=${serialNumber}&chl=${channelNumber}`
- )
- .then((result) => {
- that.videoSource = result.data.data.m3u8;
- if (Hls.isSupported()) {
- var dom = document.getElementById(
- "real_video_conversationDataL"
- );
- that.hls = new Hls();
- var m3u8Url = decodeURIComponent(that.videoSource);
- that.hls.loadSource(m3u8Url);
- that.hls.attachMedia(dom);
- that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
- dom.play();
- });
- that.hls.on(Hls.Events.ERROR, function (event, data) {
- // console.log(data, 4566824159, "视频播放有问题!!!");
- if (data.fatal) {
- switch (data.type) {
- case Hls.ErrorTypes.NETWORK_ERROR:
- console.log(
- "fatal network error encountered, try to recover"
- );
- that.hls.startLoad();
- break;
- case Hls.ErrorTypes.MEDIA_ERROR:
- console.log(
- "fatal media error encountered, try to recover"
- );
- that.hls.recoverMediaError();
- break;
- }
+
+ if (manufacturer == "HK"){
+ axios
+ .get(
+ `/api/blade-jfpts/equipment/equipment/selectEquimentPlayInfo?number=${deviceNumber}&bmp=m3u8&manufacturer=${manufacturer}`
+ )
+ .then((result) => {
+ that.videoSource = result.data.data.address;
+ if (Hls.isSupported()) {
+ var dom = document.getElementById(
+ "real_video_conversationDataL"
+ );
+ that.hls = new Hls();
+ var m3u8Url = decodeURIComponent(that.videoSource);
+ that.hls.loadSource(m3u8Url);
+ that.hls.attachMedia(dom);
+ that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
+ dom.play();
+ });
+ that.hls.on(Hls.Events.ERROR, function (event, data) {
+ // console.log(data, 4566824159, "视频播放有问题!!!");
+ if (data.fatal) {
+ switch (data.type) {
+ case Hls.ErrorTypes.NETWORK_ERROR:
+ console.log(
+ "fatal network error encountered, try to recover"
+ );
+ that.hls.startLoad();
+ break;
+ case Hls.ErrorTypes.MEDIA_ERROR:
+ console.log(
+ "fatal media error encountered, try to recover"
+ );
+ that.hls.recoverMediaError();
+ break;
}
- });
- }
- });
+ }
+ });
+ }
+ });
+ }else{
+ var newAxios = axios.create({
+ baseURL: "https://web.byisf.com:18000",
+ withCredentials: false,
+ headers: {
+ "Content-type": "application/x-www-form-urlencoded",
+ },
});
+ newAxios
+ .post(
+ "/api_control",
+ {},
+ {
+ params: {
+ param: JSON.stringify({ PktType: "GetAccessToken" }),
+ },
+ }
+ )
+ .then((res) => {
+ newAxios
+ .get(
+ `https://web.byisf.com:18000/GetPlayUrl?deviceCode=${serialNumber}&chl=${channelNumber}`
+ )
+ .then((result) => {
+ that.videoSource = result.data.data.m3u8;
+ if (Hls.isSupported()) {
+ var dom = document.getElementById(
+ "real_video_conversationDataL"
+ );
+ that.hls = new Hls();
+ var m3u8Url = decodeURIComponent(that.videoSource);
+ that.hls.loadSource(m3u8Url);
+ that.hls.attachMedia(dom);
+ that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
+ dom.play();
+ });
+ that.hls.on(Hls.Events.ERROR, function (event, data) {
+ // console.log(data, 4566824159, "视频播放有问题!!!");
+ if (data.fatal) {
+ switch (data.type) {
+ case Hls.ErrorTypes.NETWORK_ERROR:
+ console.log(
+ "fatal network error encountered, try to recover"
+ );
+ that.hls.startLoad();
+ break;
+ case Hls.ErrorTypes.MEDIA_ERROR:
+ console.log(
+ "fatal media error encountered, try to recover"
+ );
+ that.hls.recoverMediaError();
+ break;
+ }
+ }
+ });
+ }
+ });
+ });
+ }
},
},
created() {
@@ -1288,7 +1330,7 @@
activeName() {
if (this.activeName == "third") {
this.i++;
- this.openRealVideoBox(this.a.serialNumber, this.a.channelNumber);
+ this.openRealVideoBox(this.a.serialNumber, this.a.channelNumber,this.a.deviceNumber,this.a.manufacturers);
} else {
var dom = document.getElementById("real_video_conversationDataL");
if (dom.getAttribute("src") != "") {
--
Gitblit v1.9.3