@vtx/player 1.4.9 → 1.4.11
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/bd/PlayerManager.d.ts +89 -0
- package/lib/bd/PlayerManager.js +353 -0
- package/lib/bd/PlayerManager.js.map +1 -0
- package/lib/history-control-v2/components/panel/index.js +2 -1
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/index.js +4 -2
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +1 -1
- package/lib/live-control-v2/index.d.ts +2 -0
- package/lib/live-control-v2/index.js +1 -1
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +4 -0
- package/lib/live-player/index.js +4 -0
- package/lib/live-player/index.js.map +1 -1
- package/lib/player/index.d.ts +6 -2
- package/lib/player/index.js +81 -33
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +43 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
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","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v"],"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, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\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 if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\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 else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\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 playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n return { url: initProtocol(playerUrl, enableAgent), 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 deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\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 enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const 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 */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\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/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","origin","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"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, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\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 if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\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 else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\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 playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n return { url: initProtocol(playerUrl, enableAgent), 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 deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\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 enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const 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 */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\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/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":"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"}
|