@vtx/player 0.0.20 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/player/index.js +1 -5
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
package/lib/player/index.js
CHANGED
|
@@ -202,11 +202,7 @@ var Player = /*#__PURE__*/function () {
|
|
|
202
202
|
if (this.type === 'hk_ws') {
|
|
203
203
|
var player = this.player;
|
|
204
204
|
if (player) player.JS_CapturePicture(1, name, 'JPEG', function (res) {
|
|
205
|
-
|
|
206
|
-
}).then(function (res) {
|
|
207
|
-
if (res && callback) {
|
|
208
|
-
callback(res);
|
|
209
|
-
}
|
|
205
|
+
callback(res);
|
|
210
206
|
});
|
|
211
207
|
} else {
|
|
212
208
|
Capture(this.video, name, callback);
|
package/lib/player/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","preSpeed","url","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","console","log","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","style","display","body","click","removeChild","revokeObjectURL"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n const { url, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1);\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n console.log(res);\n }).then(res => {\n if (res && callback) {\n callback(res);\n }\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n const link = document.createElement('a');\n callback && callback(dataURL);\n link.href = dataURL;\n link.download = `${name}.png`;\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","preSpeed","url","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","style","display","body","click","removeChild","revokeObjectURL"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n const { url, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1);\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n const link = document.createElement('a');\n callback && callback(dataURL);\n link.href = dataURL;\n link.download = `${name}.png`;\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
package/lib/utils/index.js
CHANGED
|
@@ -56,7 +56,7 @@ var initProtocol = function initProtocol(url) {
|
|
|
56
56
|
var path = url.substring(url.indexOf('/'));
|
|
57
57
|
src = '/visProxy/' + ipPort + '/play' + path;
|
|
58
58
|
} else if (url.startsWith("ws:")) {
|
|
59
|
-
url = url.replace('
|
|
59
|
+
url = url.replace('ws://', '');
|
|
60
60
|
|
|
61
61
|
var _ipPort = url.substring(0, url.indexOf('/'));
|
|
62
62
|
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","endsWith","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url) => {\n let src = url;\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.endsWith('.m3u8')) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nconst bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nconst secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","endsWith","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url) => {\n let src = url;\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.endsWith('.m3u8')) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nconst bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nconst secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n"],"mappings":"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"}
|