@vtx/player 1.9.4 → 1.9.6

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.
Files changed (113) hide show
  1. package/README.md +2 -2
  2. package/lib/api/fetch.js +67 -69
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/index.js +34 -47
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/types.d.ts +5 -5
  7. package/lib/api/types.js +0 -1
  8. package/lib/api/types.js.map +1 -1
  9. package/lib/bd/PlayerManager.js +8 -7
  10. package/lib/bd/PlayerManager.js.map +1 -1
  11. package/lib/bill-player/index.d.ts +1 -1
  12. package/lib/bill-player/index.js +9 -11
  13. package/lib/bill-player/index.js.map +1 -1
  14. package/lib/bill-player/style/index.less +320 -320
  15. package/lib/components/set-tag-video/index.js +7 -8
  16. package/lib/components/set-tag-video/index.js.map +1 -1
  17. package/lib/components/set-tag-video/style/index.less +125 -125
  18. package/lib/components/split-screen/index.d.ts +1 -1
  19. package/lib/components/split-screen/index.js +3 -5
  20. package/lib/components/split-screen/index.js.map +1 -1
  21. package/lib/components/tag-video/index.js +10 -11
  22. package/lib/components/tag-video/index.js.map +1 -1
  23. package/lib/components/tag-video/style/index.less +69 -69
  24. package/lib/components/video-scale/index.d.ts +1 -1
  25. package/lib/components/video-scale/index.js +2 -3
  26. package/lib/components/video-scale/index.js.map +1 -1
  27. package/lib/config.js +1 -2
  28. package/lib/config.js.map +1 -1
  29. package/lib/context/index.js +3 -5
  30. package/lib/context/index.js.map +1 -1
  31. package/lib/controls/index.d.ts +11 -11
  32. package/lib/controls/index.js +14 -22
  33. package/lib/controls/index.js.map +1 -1
  34. package/lib/controls/style/index.less +192 -192
  35. package/lib/h264/PlayerManager.js +8 -7
  36. package/lib/h264/PlayerManager.js.map +1 -1
  37. package/lib/history-control/index.d.ts +2 -2
  38. package/lib/history-control/index.js +8 -10
  39. package/lib/history-control/index.js.map +1 -1
  40. package/lib/history-control/style/index.less +252 -252
  41. package/lib/history-control-v2/components/grid-item/index.js +10 -11
  42. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  43. package/lib/history-control-v2/components/panel/VideoTable.d.ts +1 -1
  44. package/lib/history-control-v2/components/panel/VideoTable.js +51 -54
  45. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  46. package/lib/history-control-v2/components/panel/index.js +12 -13
  47. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  48. package/lib/history-control-v2/context.js +1 -2
  49. package/lib/history-control-v2/context.js.map +1 -1
  50. package/lib/history-control-v2/index.d.ts +4 -4
  51. package/lib/history-control-v2/index.js +71 -75
  52. package/lib/history-control-v2/index.js.map +1 -1
  53. package/lib/history-control-v2/style/index.less +437 -437
  54. package/lib/history-control-v2/utils.js +12 -18
  55. package/lib/history-control-v2/utils.js.map +1 -1
  56. package/lib/history-player/index.d.ts +1 -1
  57. package/lib/history-player/index.js +113 -114
  58. package/lib/history-player/index.js.map +1 -1
  59. package/lib/history-player/style/index.less +102 -102
  60. package/lib/hooks/useSettings.js +1 -2
  61. package/lib/hooks/useSettings.js.map +1 -1
  62. package/lib/icc/PlayerManager.js +9 -8
  63. package/lib/icc/PlayerManager.js.map +1 -1
  64. package/lib/icc/api.d.ts +0 -68
  65. package/lib/icc/api.js +2 -3
  66. package/lib/icc/api.js.map +1 -1
  67. package/lib/icons/index.d.ts +36 -36
  68. package/lib/icons/index.js +37 -73
  69. package/lib/icons/index.js.map +1 -1
  70. package/lib/icons/index.less +32 -32
  71. package/lib/index.js +1 -1
  72. package/lib/index.js.map +1 -1
  73. package/lib/live-channel-player/index.d.ts +1 -1
  74. package/lib/live-channel-player/index.js +29 -32
  75. package/lib/live-channel-player/index.js.map +1 -1
  76. package/lib/live-control/index.d.ts +2 -2
  77. package/lib/live-control/index.js +12 -13
  78. package/lib/live-control/index.js.map +1 -1
  79. package/lib/live-control/style/index.less +99 -99
  80. package/lib/live-control-v2/index.d.ts +3 -3
  81. package/lib/live-control-v2/index.js +18 -20
  82. package/lib/live-control-v2/index.js.map +1 -1
  83. package/lib/live-control-v2/style/index.less +192 -192
  84. package/lib/live-player/index.js +70 -72
  85. package/lib/live-player/index.js.map +1 -1
  86. package/lib/live-player/style/index.less +75 -75
  87. package/lib/mpegts/PlayerManager.js +8 -7
  88. package/lib/mpegts/PlayerManager.js.map +1 -1
  89. package/lib/player/index.d.ts +1 -1
  90. package/lib/player/index.js +57 -51
  91. package/lib/player/index.js.map +1 -1
  92. package/lib/rsl/PlayerManager.d.ts +1 -1
  93. package/lib/rsl/PlayerManager.js +8 -7
  94. package/lib/rsl/PlayerManager.js.map +1 -1
  95. package/lib/typings/@vtx/utils/index.d.ts +28 -28
  96. package/lib/typings/h5player.d.ts +152 -150
  97. package/lib/typings/mpegts.d.ts +7 -7
  98. package/lib/typings/webrtcplayer.d.ts +56 -56
  99. package/lib/typings/wfsplayer.d.ts +56 -56
  100. package/lib/typings/wsplayer.d.ts +99 -99
  101. package/lib/utils/index.d.ts +1 -1
  102. package/lib/utils/index.js +14 -23
  103. package/lib/utils/index.js.map +1 -1
  104. package/lib/vite-env.d.ts +1 -1
  105. package/lib/vtxHls/PlayerManager.js +8 -7
  106. package/lib/vtxHls/PlayerManager.js.map +1 -1
  107. package/lib/vtxHls/WhepManager.js +11 -10
  108. package/lib/vtxHls/WhepManager.js.map +1 -1
  109. package/lib/webrtc/PlayerManager.js +8 -7
  110. package/lib/webrtc/PlayerManager.js.map +1 -1
  111. package/lib/wfs/PlayerManager.js +8 -7
  112. package/lib/wfs/PlayerManager.js.map +1 -1
  113. package/package.json +125 -125
@@ -1 +1 @@
1
- {"version":3,"file":"WhepManager.js","names":["restartPause","linkToIceServers","links","split","map","link","m","match","ret","urls","undefined","username","unquoteCredential","credential","credentialType","editOffer","offer","sections","sdp","i","length","section","startsWith","enableStereoOpus","join","opusPayloadFormat","lines","toLowerCase","includes","slice","parseOffer","iceUfrag","icePwd","medias","_iterator","_createForOfIteratorHelper","_step","s","n","done","line","value","push","err","e","f","generateSdpFragment","offerData","candidates","candidatesByMedia","_iterator2","_step2","candidate","mid","sdpMLineIndex","frag","_iterator3","_step3","media","_iterator4","_step4","WHEPClient","opt","_classCallCheck","url","video","pc","restartTimeout","sessionUrl","queuedCandidates","start","_createClass","key","_this","console","log","fetch","URL","method","then","res","onIceServers","scheduleRestart","_this2","RTCPeerConnection","iceServers","headers","get","direction","addTransceiver","onicecandidate","evt","onLocalCandidate","oniceconnectionstatechange","onConnectionState","ontrack","track","kind","srcObject","streams","createOffer","onLocalOffer","_this3","setLocalDescription","body","status","Error","toString","text","onRemoteAnswer","RTCSessionDescription","type","iceConnectionState","answer","setRemoteDescription","sendLocalCandidates","_this4","window","location","search","_this5","close","setTimeout","exports"],"sources":["vtxHls/WhepManager.js"],"sourcesContent":["const restartPause = 2000;\nconst linkToIceServers = (links) => links !== null\n ? links.split(', ').map((link) => {\n const m = link.match(/^<(.+?)>; rel=\"ice-server\"(; username=\"(.*?)\"; credential=\"(.*?)\"; credential-type=\"password\")?/i);\n const ret = {\n urls: [m[1]],\n };\n if (m[3] !== undefined) {\n ret.username = unquoteCredential(m[3]);\n ret.credential = unquoteCredential(m[4]);\n ret.credentialType = 'password';\n }\n return ret;\n })\n : [];\nconst editOffer = (offer) => {\n const sections = offer.sdp.split('m=');\n for (let i = 0; i < sections.length; i++) {\n const section = sections[i];\n if (section.startsWith('audio')) {\n sections[i] = enableStereoOpus(section);\n }\n }\n offer.sdp = sections.join('m=');\n};\nconst enableStereoOpus = (section) => {\n let opusPayloadFormat = '';\n let lines = section.split('\\r\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('a=rtpmap:') && lines[i].toLowerCase().includes('opus/')) {\n opusPayloadFormat = lines[i].slice('a=rtpmap:'.length).split(' ')[0];\n break;\n }\n }\n if (opusPayloadFormat === '') {\n return section;\n }\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('a=fmtp:' + opusPayloadFormat + ' ')) {\n if (!lines[i].includes('stereo')) {\n lines[i] += ';stereo=1';\n }\n if (!lines[i].includes('sprop-stereo')) {\n lines[i] += ';sprop-stereo=1';\n }\n }\n }\n return lines.join('\\r\\n');\n};\nconst parseOffer = (offer) => {\n const ret = {\n iceUfrag: '',\n icePwd: '',\n medias: [],\n };\n for (const line of offer.split('\\r\\n')) {\n if (line.startsWith('m=')) {\n ret.medias.push(line.slice('m='.length));\n }\n else if (ret.iceUfrag === '' && line.startsWith('a=ice-ufrag:')) {\n ret.iceUfrag = line.slice('a=ice-ufrag:'.length);\n }\n else if (ret.icePwd === '' && line.startsWith('a=ice-pwd:')) {\n ret.icePwd = line.slice('a=ice-pwd:'.length);\n }\n }\n return ret;\n};\nconst generateSdpFragment = (offerData, candidates) => {\n const candidatesByMedia = {};\n for (const candidate of candidates) {\n const mid = candidate.sdpMLineIndex;\n if (candidatesByMedia[mid] === undefined) {\n candidatesByMedia[mid] = [];\n }\n candidatesByMedia[mid].push(candidate);\n }\n let frag = 'a=ice-ufrag:' + offerData.iceUfrag + '\\r\\n' + 'a=ice-pwd:' + offerData.icePwd + '\\r\\n';\n let mid = 0;\n for (const media of offerData.medias) {\n if (candidatesByMedia[mid] !== undefined) {\n frag += 'm=' + media + '\\r\\n' + 'a=mid:' + mid + '\\r\\n';\n for (const candidate of candidatesByMedia[mid]) {\n frag += 'a=' + candidate.candidate + '\\r\\n';\n }\n }\n mid++;\n }\n return frag;\n};\nexport default class WHEPClient {\n constructor(opt) {\n this.url = opt.url;\n this.video = opt.video;\n this.pc = null;\n this.restartTimeout = null;\n this.sessionUrl = '';\n this.queuedCandidates = [];\n this.start();\n }\n start() {\n console.log('requesting ICE servers');\n fetch(new URL('whep', this.url), {\n method: 'OPTIONS',\n })\n .then((res) => this.onIceServers(res))\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n onIceServers(res) {\n this.pc = new RTCPeerConnection({\n iceServers: linkToIceServers(res.headers.get('Link')),\n });\n const direction = 'sendrecv';\n this.pc.addTransceiver('video', { direction });\n this.pc.addTransceiver('audio', { direction });\n this.pc.onicecandidate = (evt) => this.onLocalCandidate(evt);\n this.pc.oniceconnectionstatechange = () => this.onConnectionState();\n this.pc.ontrack = (evt) => {\n console.log('new track:', evt.track.kind);\n this.video.srcObject = evt.streams[0];\n };\n this.pc.createOffer().then((offer) => this.onLocalOffer(offer));\n }\n onLocalOffer(offer) {\n editOffer(offer);\n this.offerData = parseOffer(offer.sdp);\n this.pc.setLocalDescription(offer);\n console.log('sending offer');\n fetch(new URL('whep', this.url), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/sdp',\n },\n body: offer.sdp,\n })\n .then((res) => {\n if (res.status !== 201) {\n throw new Error('bad status code');\n }\n this.sessionUrl = new URL(res.headers.get('location'), this.url).toString();\n return res.text();\n })\n .then((sdp) => this.onRemoteAnswer(new RTCSessionDescription({\n type: 'answer',\n sdp,\n })))\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n onConnectionState() {\n if (this.restartTimeout !== null) {\n return;\n }\n console.log('peer connection state:', this.pc.iceConnectionState);\n switch (this.pc.iceConnectionState) {\n case 'disconnected':\n this.scheduleRestart();\n }\n }\n onRemoteAnswer(answer) {\n if (this.restartTimeout !== null) {\n return;\n }\n this.pc.setRemoteDescription(answer);\n if (this.queuedCandidates.length !== 0) {\n this.sendLocalCandidates(this.queuedCandidates);\n this.queuedCandidates = [];\n }\n }\n onLocalCandidate(evt) {\n if (this.restartTimeout !== null) {\n return;\n }\n if (evt.candidate !== null) {\n if (this.sessionUrl === '') {\n this.queuedCandidates.push(evt.candidate);\n }\n else {\n this.sendLocalCandidates([evt.candidate]);\n }\n }\n }\n sendLocalCandidates(candidates) {\n fetch(this.sessionUrl + window.location.search, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/trickle-ice-sdpfrag',\n 'If-Match': '*',\n },\n body: generateSdpFragment(this.offerData, candidates),\n })\n .then((res) => {\n if (res.status !== 204) {\n throw new Error('bad status code');\n }\n })\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n scheduleRestart() {\n if (this.restartTimeout !== null) {\n return;\n }\n if (this.pc !== null) {\n this.pc.close();\n this.pc = null;\n }\n this.restartTimeout = window.setTimeout(() => {\n this.restartTimeout = null;\n this.start();\n }, restartPause);\n if (this.sessionUrl) {\n fetch(this.sessionUrl, {\n method: 'DELETE',\n })\n .then((res) => {\n if (res.status !== 200) {\n throw new Error('bad status code');\n }\n })\n .catch((err) => {\n console.log('delete session error: ' + err);\n });\n }\n this.sessionUrl = '';\n this.queuedCandidates = [];\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAMA,YAAY,GAAG,IAAI;AACzB,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK;EAAA,OAAKA,KAAK,KAAK,IAAI,GAC5CA,KAAK,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,GAAG,CAAC,UAACC,IAAI,EAAK;IAC9B,IAAMC,CAAC,GAAGD,IAAI,CAACE,KAAK,CAAC,kGAAkG,CAAC;IACxH,IAAMC,GAAG,GAAG;MACRC,IAAI,EAAE,CAACH,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IACD,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAKI,SAAS,EAAE;MACpBF,GAAG,CAACG,QAAQ,GAAGC,iBAAiB,CAACN,CAAC,CAAC,CAAC,CAAC,CAAC;MACtCE,GAAG,CAACK,UAAU,GAAGD,iBAAiB,CAACN,CAAC,CAAC,CAAC,CAAC,CAAC;MACxCE,GAAG,CAACM,cAAc,GAAG,UAAU;IACnC;IACA,OAAON,GAAG;EACd,CAAC,CAAC,GACA,EAAE;AAAA;AACR,IAAMO,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAK,EAAK;EACzB,IAAMC,QAAQ,GAAGD,KAAK,CAACE,GAAG,CAACf,KAAK,CAAC,IAAI,CAAC;EACtC,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,QAAQ,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACtC,IAAME,OAAO,GAAGJ,QAAQ,CAACE,CAAC,CAAC;IAC3B,IAAIE,OAAO,CAACC,UAAU,CAAC,OAAO,CAAC,EAAE;MAC7BL,QAAQ,CAACE,CAAC,CAAC,GAAGI,gBAAgB,CAACF,OAAO,CAAC;IAC3C;EACJ;EACAL,KAAK,CAACE,GAAG,GAAGD,QAAQ,CAACO,IAAI,CAAC,IAAI,CAAC;AACnC,CAAC;AACD,IAAMD,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIF,OAAO,EAAK;EAClC,IAAII,iBAAiB,GAAG,EAAE;EAC1B,IAAIC,KAAK,GAAGL,OAAO,CAAClB,KAAK,CAAC,MAAM,CAAC;EACjC,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGO,KAAK,CAACN,MAAM,EAAED,CAAC,EAAE,EAAE;IACnC,IAAIO,KAAK,CAACP,CAAC,CAAC,CAACG,UAAU,CAAC,WAAW,CAAC,IAAII,KAAK,CAACP,CAAC,CAAC,CAACQ,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;MAC9EH,iBAAiB,GAAGC,KAAK,CAACP,CAAC,CAAC,CAACU,KAAK,CAAC,WAAW,CAACT,MAAM,CAAC,CAACjB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACpE;IACJ;EACJ;EACA,IAAIsB,iBAAiB,KAAK,EAAE,EAAE;IAC1B,OAAOJ,OAAO;EAClB;EACA,KAAK,IAAIF,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGO,KAAK,CAACN,MAAM,EAAED,EAAC,EAAE,EAAE;IACnC,IAAIO,KAAK,CAACP,EAAC,CAAC,CAACG,UAAU,CAAC,SAAS,GAAGG,iBAAiB,GAAG,GAAG,CAAC,EAAE;MAC1D,IAAI,CAACC,KAAK,CAACP,EAAC,CAAC,CAACS,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC9BF,KAAK,CAACP,EAAC,CAAC,IAAI,WAAW;MAC3B;MACA,IAAI,CAACO,KAAK,CAACP,EAAC,CAAC,CAACS,QAAQ,CAAC,cAAc,CAAC,EAAE;QACpCF,KAAK,CAACP,EAAC,CAAC,IAAI,iBAAiB;MACjC;IACJ;EACJ;EACA,OAAOO,KAAK,CAACF,IAAI,CAAC,MAAM,CAAC;AAC7B,CAAC;AACD,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAId,KAAK,EAAK;EAC1B,IAAMR,GAAG,GAAG;IACRuB,QAAQ,EAAE,EAAE;IACZC,MAAM,EAAE,EAAE;IACVC,MAAM,EAAE;EACZ,CAAC;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CACiBnB,KAAK,CAACb,KAAK,CAAC,MAAM,CAAC;IAAAiC,KAAA;EAAA;IAAtC,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAwC;MAAA,IAA7BC,IAAI,GAAAJ,KAAA,CAAAK,KAAA;MACX,IAAID,IAAI,CAAClB,UAAU,CAAC,IAAI,CAAC,EAAE;QACvBd,GAAG,CAACyB,MAAM,CAACS,IAAI,CAACF,IAAI,CAACX,KAAK,CAAC,IAAI,CAACT,MAAM,CAAC,CAAC;MAC5C,CAAC,MACI,IAAIZ,GAAG,CAACuB,QAAQ,KAAK,EAAE,IAAIS,IAAI,CAAClB,UAAU,CAAC,cAAc,CAAC,EAAE;QAC7Dd,GAAG,CAACuB,QAAQ,GAAGS,IAAI,CAACX,KAAK,CAAC,cAAc,CAACT,MAAM,CAAC;MACpD,CAAC,MACI,IAAIZ,GAAG,CAACwB,MAAM,KAAK,EAAE,IAAIQ,IAAI,CAAClB,UAAU,CAAC,YAAY,CAAC,EAAE;QACzDd,GAAG,CAACwB,MAAM,GAAGQ,IAAI,CAACX,KAAK,CAAC,YAAY,CAACT,MAAM,CAAC;MAChD;IACJ;EAAC,SAAAuB,GAAA;IAAAT,SAAA,CAAAU,CAAA,CAAAD,GAAA;EAAA;IAAAT,SAAA,CAAAW,CAAA;EAAA;EACD,OAAOrC,GAAG;AACd,CAAC;AACD,IAAMsC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,SAAS,EAAEC,UAAU,EAAK;EACnD,IAAMC,iBAAiB,GAAG,CAAC,CAAC;EAAC,IAAAC,UAAA,GAAAf,0BAAA,CACLa,UAAU;IAAAG,MAAA;EAAA;IAAlC,KAAAD,UAAA,CAAAb,CAAA,MAAAc,MAAA,GAAAD,UAAA,CAAAZ,CAAA,IAAAC,IAAA,GAAoC;MAAA,IAAzBa,SAAS,GAAAD,MAAA,CAAAV,KAAA;MAChB,IAAMY,IAAG,GAAGD,SAAS,CAACE,aAAa;MACnC,IAAIL,iBAAiB,CAACI,IAAG,CAAC,KAAK3C,SAAS,EAAE;QACtCuC,iBAAiB,CAACI,IAAG,CAAC,GAAG,EAAE;MAC/B;MACAJ,iBAAiB,CAACI,IAAG,CAAC,CAACX,IAAI,CAACU,SAAS,CAAC;IAC1C;EAAC,SAAAT,GAAA;IAAAO,UAAA,CAAAN,CAAA,CAAAD,GAAA;EAAA;IAAAO,UAAA,CAAAL,CAAA;EAAA;EACD,IAAIU,IAAI,GAAG,cAAc,GAAGR,SAAS,CAAChB,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAGgB,SAAS,CAACf,MAAM,GAAG,MAAM;EAClG,IAAIqB,GAAG,GAAG,CAAC;EAAC,IAAAG,UAAA,GAAArB,0BAAA,CACQY,SAAS,CAACd,MAAM;IAAAwB,MAAA;EAAA;IAApC,KAAAD,UAAA,CAAAnB,CAAA,MAAAoB,MAAA,GAAAD,UAAA,CAAAlB,CAAA,IAAAC,IAAA,GAAsC;MAAA,IAA3BmB,KAAK,GAAAD,MAAA,CAAAhB,KAAA;MACZ,IAAIQ,iBAAiB,CAACI,GAAG,CAAC,KAAK3C,SAAS,EAAE;QACtC6C,IAAI,IAAI,IAAI,GAAGG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAGL,GAAG,GAAG,MAAM;QAAC,IAAAM,UAAA,GAAAxB,0BAAA,CAChCc,iBAAiB,CAACI,GAAG,CAAC;UAAAO,MAAA;QAAA;UAA9C,KAAAD,UAAA,CAAAtB,CAAA,MAAAuB,MAAA,GAAAD,UAAA,CAAArB,CAAA,IAAAC,IAAA,GAAgD;YAAA,IAArCa,UAAS,GAAAQ,MAAA,CAAAnB,KAAA;YAChBc,IAAI,IAAI,IAAI,GAAGH,UAAS,CAACA,SAAS,GAAG,MAAM;UAC/C;QAAC,SAAAT,GAAA;UAAAgB,UAAA,CAAAf,CAAA,CAAAD,GAAA;QAAA;UAAAgB,UAAA,CAAAd,CAAA;QAAA;MACL;MACAQ,GAAG,EAAE;IACT;EAAC,SAAAV,GAAA;IAAAa,UAAA,CAAAZ,CAAA,CAAAD,GAAA;EAAA;IAAAa,UAAA,CAAAX,CAAA;EAAA;EACD,OAAOU,IAAI;AACf,CAAC;AAAC,IACmBM,UAAU;EAC3B,SAAAA,WAAYC,GAAG,EAAE;IAAAC,eAAA,OAAAF,UAAA;IACb,IAAI,CAACG,GAAG,GAAGF,GAAG,CAACE,GAAG;IAClB,IAAI,CAACC,KAAK,GAAGH,GAAG,CAACG,KAAK;IACtB,IAAI,CAACC,EAAE,GAAG,IAAI;IACd,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,UAAU,GAAG,EAAE;IACpB,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,KAAK,CAAC,CAAC;EAChB;EAACC,YAAA,CAAAV,UAAA;IAAAW,GAAA;IAAA/B,KAAA,EACD,SAAA6B,MAAA,EAAQ;MAAA,IAAAG,KAAA;MACJC,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACrCC,KAAK,CAAC,IAAIC,GAAG,CAAC,MAAM,EAAE,IAAI,CAACb,GAAG,CAAC,EAAE;QAC7Bc,MAAM,EAAE;MACZ,CAAC,CAAC,CACGC,IAAI,CAAC,UAACC,GAAG;QAAA,OAAKP,KAAI,CAACQ,YAAY,CAACD,GAAG,CAAC;MAAA,EAAC,SAChC,CAAC,UAACrC,GAAG,EAAK;QAChB+B,OAAO,CAACC,GAAG,CAAC,SAAS,GAAGhC,GAAG,CAAC;QAC5B8B,KAAI,CAACS,eAAe,CAAC,CAAC;MAC1B,CAAC,CAAC;IACN;EAAC;IAAAV,GAAA;IAAA/B,KAAA,EACD,SAAAwC,aAAaD,GAAG,EAAE;MAAA,IAAAG,MAAA;MACd,IAAI,CAACjB,EAAE,GAAG,IAAIkB,iBAAiB,CAAC;QAC5BC,UAAU,EAAEpF,gBAAgB,CAAC+E,GAAG,CAACM,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACxD,CAAC,CAAC;MACF,IAAMC,SAAS,GAAG,UAAU;MAC5B,IAAI,CAACtB,EAAE,CAACuB,cAAc,CAAC,OAAO,EAAE;QAAED,SAAS,EAATA;MAAU,CAAC,CAAC;MAC9C,IAAI,CAACtB,EAAE,CAACuB,cAAc,CAAC,OAAO,EAAE;QAAED,SAAS,EAATA;MAAU,CAAC,CAAC;MAC9C,IAAI,CAACtB,EAAE,CAACwB,cAAc,GAAG,UAACC,GAAG;QAAA,OAAKR,MAAI,CAACS,gBAAgB,CAACD,GAAG,CAAC;MAAA;MAC5D,IAAI,CAACzB,EAAE,CAAC2B,0BAA0B,GAAG;QAAA,OAAMV,MAAI,CAACW,iBAAiB,CAAC,CAAC;MAAA;MACnE,IAAI,CAAC5B,EAAE,CAAC6B,OAAO,GAAG,UAACJ,GAAG,EAAK;QACvBjB,OAAO,CAACC,GAAG,CAAC,YAAY,EAAEgB,GAAG,CAACK,KAAK,CAACC,IAAI,CAAC;QACzCd,MAAI,CAAClB,KAAK,CAACiC,SAAS,GAAGP,GAAG,CAACQ,OAAO,CAAC,CAAC,CAAC;MACzC,CAAC;MACD,IAAI,CAACjC,EAAE,CAACkC,WAAW,CAAC,CAAC,CAACrB,IAAI,CAAC,UAAC/D,KAAK;QAAA,OAAKmE,MAAI,CAACkB,YAAY,CAACrF,KAAK,CAAC;MAAA,EAAC;IACnE;EAAC;IAAAwD,GAAA;IAAA/B,KAAA,EACD,SAAA4D,aAAarF,KAAK,EAAE;MAAA,IAAAsF,MAAA;MAChBvF,SAAS,CAACC,KAAK,CAAC;MAChB,IAAI,CAAC+B,SAAS,GAAGjB,UAAU,CAACd,KAAK,CAACE,GAAG,CAAC;MACtC,IAAI,CAACgD,EAAE,CAACqC,mBAAmB,CAACvF,KAAK,CAAC;MAClC0D,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;MAC5BC,KAAK,CAAC,IAAIC,GAAG,CAAC,MAAM,EAAE,IAAI,CAACb,GAAG,CAAC,EAAE;QAC7Bc,MAAM,EAAE,MAAM;QACdQ,OAAO,EAAE;UACL,cAAc,EAAE;QACpB,CAAC;QACDkB,IAAI,EAAExF,KAAK,CAACE;MAChB,CAAC,CAAC,CACG6D,IAAI,CAAC,UAACC,GAAG,EAAK;QACf,IAAIA,GAAG,CAACyB,MAAM,KAAK,GAAG,EAAE;UACpB,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;QACtC;QACAJ,MAAI,CAAClC,UAAU,GAAG,IAAIS,GAAG,CAACG,GAAG,CAACM,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC,EAAEe,MAAI,CAACtC,GAAG,CAAC,CAAC2C,QAAQ,CAAC,CAAC;QAC3E,OAAO3B,GAAG,CAAC4B,IAAI,CAAC,CAAC;MACrB,CAAC,CAAC,CACG7B,IAAI,CAAC,UAAC7D,GAAG;QAAA,OAAKoF,MAAI,CAACO,cAAc,CAAC,IAAIC,qBAAqB,CAAC;UAC7DC,IAAI,EAAE,QAAQ;UACd7F,GAAG,EAAHA;QACJ,CAAC,CAAC,CAAC;MAAA,EAAC,SACM,CAAC,UAACyB,GAAG,EAAK;QAChB+B,OAAO,CAACC,GAAG,CAAC,SAAS,GAAGhC,GAAG,CAAC;QAC5B2D,MAAI,CAACpB,eAAe,CAAC,CAAC;MAC1B,CAAC,CAAC;IACN;EAAC;IAAAV,GAAA;IAAA/B,KAAA,EACD,SAAAqD,kBAAA,EAAoB;MAChB,IAAI,IAAI,CAAC3B,cAAc,KAAK,IAAI,EAAE;QAC9B;MACJ;MACAO,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAACT,EAAE,CAAC8C,kBAAkB,CAAC;MACjE,QAAQ,IAAI,CAAC9C,EAAE,CAAC8C,kBAAkB;QAC9B,KAAK,cAAc;UACf,IAAI,CAAC9B,eAAe,CAAC,CAAC;MAC9B;IACJ;EAAC;IAAAV,GAAA;IAAA/B,KAAA,EACD,SAAAoE,eAAeI,MAAM,EAAE;MACnB,IAAI,IAAI,CAAC9C,cAAc,KAAK,IAAI,EAAE;QAC9B;MACJ;MACA,IAAI,CAACD,EAAE,CAACgD,oBAAoB,CAACD,MAAM,CAAC;MACpC,IAAI,IAAI,CAAC5C,gBAAgB,CAACjD,MAAM,KAAK,CAAC,EAAE;QACpC,IAAI,CAAC+F,mBAAmB,CAAC,IAAI,CAAC9C,gBAAgB,CAAC;QAC/C,IAAI,CAACA,gBAAgB,GAAG,EAAE;MAC9B;IACJ;EAAC;IAAAG,GAAA;IAAA/B,KAAA,EACD,SAAAmD,iBAAiBD,GAAG,EAAE;MAClB,IAAI,IAAI,CAACxB,cAAc,KAAK,IAAI,EAAE;QAC9B;MACJ;MACA,IAAIwB,GAAG,CAACvC,SAAS,KAAK,IAAI,EAAE;QACxB,IAAI,IAAI,CAACgB,UAAU,KAAK,EAAE,EAAE;UACxB,IAAI,CAACC,gBAAgB,CAAC3B,IAAI,CAACiD,GAAG,CAACvC,SAAS,CAAC;QAC7C,CAAC,MACI;UACD,IAAI,CAAC+D,mBAAmB,CAAC,CAACxB,GAAG,CAACvC,SAAS,CAAC,CAAC;QAC7C;MACJ;IACJ;EAAC;IAAAoB,GAAA;IAAA/B,KAAA,EACD,SAAA0E,oBAAoBnE,UAAU,EAAE;MAAA,IAAAoE,MAAA;MAC5BxC,KAAK,CAAC,IAAI,CAACR,UAAU,GAAGiD,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE;QAC5CzC,MAAM,EAAE,OAAO;QACfQ,OAAO,EAAE;UACL,cAAc,EAAE,iCAAiC;UACjD,UAAU,EAAE;QAChB,CAAC;QACDkB,IAAI,EAAE1D,mBAAmB,CAAC,IAAI,CAACC,SAAS,EAAEC,UAAU;MACxD,CAAC,CAAC,CACG+B,IAAI,CAAC,UAACC,GAAG,EAAK;QACf,IAAIA,GAAG,CAACyB,MAAM,KAAK,GAAG,EAAE;UACpB,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;QACtC;MACJ,CAAC,CAAC,SACQ,CAAC,UAAC/D,GAAG,EAAK;QAChB+B,OAAO,CAACC,GAAG,CAAC,SAAS,GAAGhC,GAAG,CAAC;QAC5ByE,MAAI,CAAClC,eAAe,CAAC,CAAC;MAC1B,CAAC,CAAC;IACN;EAAC;IAAAV,GAAA;IAAA/B,KAAA,EACD,SAAAyC,gBAAA,EAAkB;MAAA,IAAAsC,MAAA;MACd,IAAI,IAAI,CAACrD,cAAc,KAAK,IAAI,EAAE;QAC9B;MACJ;MACA,IAAI,IAAI,CAACD,EAAE,KAAK,IAAI,EAAE;QAClB,IAAI,CAACA,EAAE,CAACuD,KAAK,CAAC,CAAC;QACf,IAAI,CAACvD,EAAE,GAAG,IAAI;MAClB;MACA,IAAI,CAACC,cAAc,GAAGkD,MAAM,CAACK,UAAU,CAAC,YAAM;QAC1CF,MAAI,CAACrD,cAAc,GAAG,IAAI;QAC1BqD,MAAI,CAAClD,KAAK,CAAC,CAAC;MAChB,CAAC,EAAEtE,YAAY,CAAC;MAChB,IAAI,IAAI,CAACoE,UAAU,EAAE;QACjBQ,KAAK,CAAC,IAAI,CAACR,UAAU,EAAE;UACnBU,MAAM,EAAE;QACZ,CAAC,CAAC,CACGC,IAAI,CAAC,UAACC,GAAG,EAAK;UACf,IAAIA,GAAG,CAACyB,MAAM,KAAK,GAAG,EAAE;YACpB,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;UACtC;QACJ,CAAC,CAAC,SACQ,CAAC,UAAC/D,GAAG,EAAK;UAChB+B,OAAO,CAACC,GAAG,CAAC,wBAAwB,GAAGhC,GAAG,CAAC;QAC/C,CAAC,CAAC;MACN;MACA,IAAI,CAACyB,UAAU,GAAG,EAAE;MACpB,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC9B;EAAC;EAAA,OAAAR,UAAA;AAAA;AAAA8D,OAAA,cAAA9D,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"WhepManager.js","names":["restartPause","linkToIceServers","links","split","map","link","m","match","ret","urls","undefined","username","unquoteCredential","credential","credentialType","editOffer","offer","sections","sdp","i","length","section","startsWith","enableStereoOpus","join","opusPayloadFormat","lines","toLowerCase","includes","slice","parseOffer","iceUfrag","icePwd","medias","_iterator","_createForOfIteratorHelper","_step","s","n","done","line","value","push","err","e","f","generateSdpFragment","offerData","candidates","candidatesByMedia","_iterator2","_step2","candidate","mid","sdpMLineIndex","frag","_iterator3","_step3","media","_iterator4","_step4","WHEPClient","exports","opt","_classCallCheck","url","video","pc","restartTimeout","sessionUrl","queuedCandidates","start","_createClass","key","_this","console","log","fetch","URL","method","then","res","onIceServers","scheduleRestart","_this2","RTCPeerConnection","iceServers","headers","get","direction","addTransceiver","onicecandidate","evt","onLocalCandidate","oniceconnectionstatechange","onConnectionState","ontrack","track","kind","srcObject","streams","createOffer","onLocalOffer","_this3","setLocalDescription","body","status","Error","toString","text","onRemoteAnswer","RTCSessionDescription","type","iceConnectionState","answer","setRemoteDescription","sendLocalCandidates","_this4","window","location","search","_this5","close","setTimeout"],"sources":["vtxHls/WhepManager.js"],"sourcesContent":["const restartPause = 2000;\nconst linkToIceServers = (links) => links !== null\n ? links.split(', ').map((link) => {\n const m = link.match(/^<(.+?)>; rel=\"ice-server\"(; username=\"(.*?)\"; credential=\"(.*?)\"; credential-type=\"password\")?/i);\n const ret = {\n urls: [m[1]],\n };\n if (m[3] !== undefined) {\n ret.username = unquoteCredential(m[3]);\n ret.credential = unquoteCredential(m[4]);\n ret.credentialType = 'password';\n }\n return ret;\n })\n : [];\nconst editOffer = (offer) => {\n const sections = offer.sdp.split('m=');\n for (let i = 0; i < sections.length; i++) {\n const section = sections[i];\n if (section.startsWith('audio')) {\n sections[i] = enableStereoOpus(section);\n }\n }\n offer.sdp = sections.join('m=');\n};\nconst enableStereoOpus = (section) => {\n let opusPayloadFormat = '';\n let lines = section.split('\\r\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('a=rtpmap:') && lines[i].toLowerCase().includes('opus/')) {\n opusPayloadFormat = lines[i].slice('a=rtpmap:'.length).split(' ')[0];\n break;\n }\n }\n if (opusPayloadFormat === '') {\n return section;\n }\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('a=fmtp:' + opusPayloadFormat + ' ')) {\n if (!lines[i].includes('stereo')) {\n lines[i] += ';stereo=1';\n }\n if (!lines[i].includes('sprop-stereo')) {\n lines[i] += ';sprop-stereo=1';\n }\n }\n }\n return lines.join('\\r\\n');\n};\nconst parseOffer = (offer) => {\n const ret = {\n iceUfrag: '',\n icePwd: '',\n medias: [],\n };\n for (const line of offer.split('\\r\\n')) {\n if (line.startsWith('m=')) {\n ret.medias.push(line.slice('m='.length));\n }\n else if (ret.iceUfrag === '' && line.startsWith('a=ice-ufrag:')) {\n ret.iceUfrag = line.slice('a=ice-ufrag:'.length);\n }\n else if (ret.icePwd === '' && line.startsWith('a=ice-pwd:')) {\n ret.icePwd = line.slice('a=ice-pwd:'.length);\n }\n }\n return ret;\n};\nconst generateSdpFragment = (offerData, candidates) => {\n const candidatesByMedia = {};\n for (const candidate of candidates) {\n const mid = candidate.sdpMLineIndex;\n if (candidatesByMedia[mid] === undefined) {\n candidatesByMedia[mid] = [];\n }\n candidatesByMedia[mid].push(candidate);\n }\n let frag = 'a=ice-ufrag:' + offerData.iceUfrag + '\\r\\n' + 'a=ice-pwd:' + offerData.icePwd + '\\r\\n';\n let mid = 0;\n for (const media of offerData.medias) {\n if (candidatesByMedia[mid] !== undefined) {\n frag += 'm=' + media + '\\r\\n' + 'a=mid:' + mid + '\\r\\n';\n for (const candidate of candidatesByMedia[mid]) {\n frag += 'a=' + candidate.candidate + '\\r\\n';\n }\n }\n mid++;\n }\n return frag;\n};\nexport default class WHEPClient {\n constructor(opt) {\n this.url = opt.url;\n this.video = opt.video;\n this.pc = null;\n this.restartTimeout = null;\n this.sessionUrl = '';\n this.queuedCandidates = [];\n this.start();\n }\n start() {\n console.log('requesting ICE servers');\n fetch(new URL('whep', this.url), {\n method: 'OPTIONS',\n })\n .then((res) => this.onIceServers(res))\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n onIceServers(res) {\n this.pc = new RTCPeerConnection({\n iceServers: linkToIceServers(res.headers.get('Link')),\n });\n const direction = 'sendrecv';\n this.pc.addTransceiver('video', { direction });\n this.pc.addTransceiver('audio', { direction });\n this.pc.onicecandidate = (evt) => this.onLocalCandidate(evt);\n this.pc.oniceconnectionstatechange = () => this.onConnectionState();\n this.pc.ontrack = (evt) => {\n console.log('new track:', evt.track.kind);\n this.video.srcObject = evt.streams[0];\n };\n this.pc.createOffer().then((offer) => this.onLocalOffer(offer));\n }\n onLocalOffer(offer) {\n editOffer(offer);\n this.offerData = parseOffer(offer.sdp);\n this.pc.setLocalDescription(offer);\n console.log('sending offer');\n fetch(new URL('whep', this.url), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/sdp',\n },\n body: offer.sdp,\n })\n .then((res) => {\n if (res.status !== 201) {\n throw new Error('bad status code');\n }\n this.sessionUrl = new URL(res.headers.get('location'), this.url).toString();\n return res.text();\n })\n .then((sdp) => this.onRemoteAnswer(new RTCSessionDescription({\n type: 'answer',\n sdp,\n })))\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n onConnectionState() {\n if (this.restartTimeout !== null) {\n return;\n }\n console.log('peer connection state:', this.pc.iceConnectionState);\n switch (this.pc.iceConnectionState) {\n case 'disconnected':\n this.scheduleRestart();\n }\n }\n onRemoteAnswer(answer) {\n if (this.restartTimeout !== null) {\n return;\n }\n this.pc.setRemoteDescription(answer);\n if (this.queuedCandidates.length !== 0) {\n this.sendLocalCandidates(this.queuedCandidates);\n this.queuedCandidates = [];\n }\n }\n onLocalCandidate(evt) {\n if (this.restartTimeout !== null) {\n return;\n }\n if (evt.candidate !== null) {\n if (this.sessionUrl === '') {\n this.queuedCandidates.push(evt.candidate);\n }\n else {\n this.sendLocalCandidates([evt.candidate]);\n }\n }\n }\n sendLocalCandidates(candidates) {\n fetch(this.sessionUrl + window.location.search, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/trickle-ice-sdpfrag',\n 'If-Match': '*',\n },\n body: generateSdpFragment(this.offerData, candidates),\n })\n .then((res) => {\n if (res.status !== 204) {\n throw new Error('bad status code');\n }\n })\n .catch((err) => {\n console.log('error: ' + err);\n this.scheduleRestart();\n });\n }\n scheduleRestart() {\n if (this.restartTimeout !== null) {\n return;\n }\n if (this.pc !== null) {\n this.pc.close();\n this.pc = null;\n }\n this.restartTimeout = window.setTimeout(() => {\n this.restartTimeout = null;\n this.start();\n }, restartPause);\n if (this.sessionUrl) {\n fetch(this.sessionUrl, {\n method: 'DELETE',\n })\n .then((res) => {\n if (res.status !== 200) {\n throw new Error('bad status code');\n }\n })\n .catch((err) => {\n console.log('delete session error: ' + err);\n });\n }\n this.sessionUrl = '';\n this.queuedCandidates = [];\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,9 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
13
  var SrsRtcPlayerConstructor = SrsRtcPlayerAsync;
11
14
  /**
12
15
  * WSPlayer是核心组件
@@ -35,7 +38,7 @@ var WebrtcPlayerManager = /*#__PURE__*/function () {
35
38
  this.recordList = [];
36
39
  this.init(opt);
37
40
  }
38
- _createClass(WebrtcPlayerManager, [{
41
+ return _createClass(WebrtcPlayerManager, [{
39
42
  key: "init",
40
43
  value: function init(opt) {
41
44
  this.initPlayer(opt);
@@ -140,8 +143,6 @@ var WebrtcPlayerManager = /*#__PURE__*/function () {
140
143
  // this.player.jumpPlayByTime(time);
141
144
  }
142
145
  }]);
143
- return WebrtcPlayerManager;
144
146
  }();
145
- var _default = WebrtcPlayerManager;
146
- exports["default"] = _default;
147
+ var _default = exports["default"] = WebrtcPlayerManager;
147
148
  //# sourceMappingURL=PlayerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["SrsRtcPlayerConstructor","SrsRtcPlayerAsync","WebrtcPlayerManager","opt","_classCallCheck","el","realPlayer","recordPlayer","player","url","type","playNum","playIndex","currentChannelId","recordList","init","_createClass","key","value","initPlayer","num","$","concat","prop","stream","play","reason","close","console","error","pause","playSpeed","speed","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["webrtc/PlayerManager.js"],"sourcesContent":["let SrsRtcPlayerConstructor = SrsRtcPlayerAsync;\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass WebrtcPlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.init(opt);\n }\n init(opt) {\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer(opt) {\n this.playNum = opt.num;\n this.realPlayer = new SrsRtcPlayerConstructor();\n if (this.type) {\n $(`#${this.el}`).prop('srcObject', this.realPlayer.stream);\n }\n else {\n $(`#${this.el}`).prop('src', this.realPlayer.stream);\n }\n this.realPlayer.play(this.url).catch(function (reason) {\n this.realPlayer.close();\n console.error(reason);\n });\n this.player = this.realPlayer;\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.realPlayer && this.realPlayer.play(this.url);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close() {\n this.player && this.player.close();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n // this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n // this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n // this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n // this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n // this.player.jumpPlayByTime(time);\n }\n}\nexport default WebrtcPlayerManager;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PlayerManager.js","names":["SrsRtcPlayerConstructor","SrsRtcPlayerAsync","WebrtcPlayerManager","opt","_classCallCheck","el","realPlayer","recordPlayer","player","url","type","playNum","playIndex","currentChannelId","recordList","init","_createClass","key","value","initPlayer","num","$","concat","prop","stream","play","reason","close","console","error","pause","playSpeed","speed","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["webrtc/PlayerManager.js"],"sourcesContent":["let SrsRtcPlayerConstructor = SrsRtcPlayerAsync;\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass WebrtcPlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.init(opt);\n }\n init(opt) {\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer(opt) {\n this.playNum = opt.num;\n this.realPlayer = new SrsRtcPlayerConstructor();\n if (this.type) {\n $(`#${this.el}`).prop('srcObject', this.realPlayer.stream);\n }\n else {\n $(`#${this.el}`).prop('src', this.realPlayer.stream);\n }\n this.realPlayer.play(this.url).catch(function (reason) {\n this.realPlayer.close();\n console.error(reason);\n });\n this.player = this.realPlayer;\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.realPlayer && this.realPlayer.play(this.url);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close() {\n this.player && this.player.close();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n // this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n // this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n // this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n // this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n // this.player.jumpPlayByTime(time);\n }\n}\nexport default WebrtcPlayerManager;\n"],"mappings":"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","ignoreList":[]}
@@ -4,9 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
10
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
13
  var WfsPlayerManager = /*#__PURE__*/function () {
11
14
  function WfsPlayerManager(opt) {
12
15
  _classCallCheck(this, WfsPlayerManager);
@@ -30,7 +33,7 @@ var WfsPlayerManager = /*#__PURE__*/function () {
30
33
  this.recordList = [];
31
34
  this.init();
32
35
  }
33
- _createClass(WfsPlayerManager, [{
36
+ return _createClass(WfsPlayerManager, [{
34
37
  key: "init",
35
38
  value: function init() {
36
39
  if (H5Player.isSupported()) {
@@ -139,8 +142,6 @@ var WfsPlayerManager = /*#__PURE__*/function () {
139
142
  // this.player.jumpPlayByTime(time);
140
143
  }
141
144
  }]);
142
- return WfsPlayerManager;
143
145
  }();
144
- var _default = WfsPlayerManager;
145
- exports["default"] = _default;
146
+ var _default = exports["default"] = WfsPlayerManager;
146
147
  //# sourceMappingURL=PlayerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["WfsPlayerManager","opt","_classCallCheck","el","realPlayer","recordPlayer","player","url","type","playNum","playIndex","currentChannelId","recordList","init","_createClass","key","value","H5Player","isSupported","initPlayer","unload","sourcetype","domId","attachMedia","document","getElementById","load","play","pause","resume","playSpeed","speed","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["wfs/PlayerManager.js"],"sourcesContent":["class WfsPlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.init();\n }\n init() {\n if (H5Player.isSupported()) {\n this.initPlayer();\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer() {\n if (this.player) {\n this.player.unload();\n this.player = null;\n }\n let player = null;\n if (H5Player.isSupported()) {\n player = new H5Player({\n sourcetype: this.type || 'live',\n url: this.url,\n });\n const domId = this.el;\n player.attachMedia(document.getElementById(domId));\n player.load();\n // player.registerAppEvents('play_over', mediaplayover);\n // player.registerAppEvents('websocket_error', websocketerror);\n player.play();\n }\n this.player = player;\n }\n pause() {\n // this.recordPlayer && this.recordPlayer.pause();\n this.player && this.player.resume();\n }\n play() {\n this.initPlayer();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close() {\n if (this.player !== null) {\n this.player.unload();\n this.player = null;\n }\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n // this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n // this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n // this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n // this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n // this.player.jumpPlayByTime(time);\n }\n}\nexport default WfsPlayerManager;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PlayerManager.js","names":["WfsPlayerManager","opt","_classCallCheck","el","realPlayer","recordPlayer","player","url","type","playNum","playIndex","currentChannelId","recordList","init","_createClass","key","value","H5Player","isSupported","initPlayer","unload","sourcetype","domId","attachMedia","document","getElementById","load","play","pause","resume","playSpeed","speed","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["wfs/PlayerManager.js"],"sourcesContent":["class WfsPlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.init();\n }\n init() {\n if (H5Player.isSupported()) {\n this.initPlayer();\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer() {\n if (this.player) {\n this.player.unload();\n this.player = null;\n }\n let player = null;\n if (H5Player.isSupported()) {\n player = new H5Player({\n sourcetype: this.type || 'live',\n url: this.url,\n });\n const domId = this.el;\n player.attachMedia(document.getElementById(domId));\n player.load();\n // player.registerAppEvents('play_over', mediaplayover);\n // player.registerAppEvents('websocket_error', websocketerror);\n player.play();\n }\n this.player = player;\n }\n pause() {\n // this.recordPlayer && this.recordPlayer.pause();\n this.player && this.player.resume();\n }\n play() {\n this.initPlayer();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close() {\n if (this.player !== null) {\n this.player.unload();\n this.player = null;\n }\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n // this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n // this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n // this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n // this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n // this.player.jumpPlayByTime(time);\n }\n}\nexport default WfsPlayerManager;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,125 +1,125 @@
1
- {
2
- "name": "@vtx/player",
3
- "version": "1.9.4",
4
- "private": false,
5
- "description": "视频业务组件",
6
- "main": "./lib/index.js",
7
- "module": "./lib/index.js",
8
- "types": "./lib/index.d.ts",
9
- "files": [
10
- "lib"
11
- ],
12
- "scripts": {
13
- "start": "start-storybook -p 6006",
14
- "start:huanwei": "cross-env PREFIX=/huanwei umi dev",
15
- "build": "npm run compile",
16
- "compile": "gulp compile",
17
- "build:old": "npm run clean && rollup --config",
18
- "build-docs": "build-storybook",
19
- "build:huanwei": "cross-env UMI_ENV=prod UMI_COLOR=default PREFIX=/huanwei umi build",
20
- "lint:script": "eslint src --ext .ts,.tsx",
21
- "lint:style": "stylelint src/**/*.less --custom-syntax postcss-less --fix",
22
- "clean": "rimraf dist"
23
- },
24
- "husky": {
25
- "hooks": {
26
- "pre-commit": "lint-staged",
27
- "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
28
- }
29
- },
30
- "lint-staged": {
31
- "src/**/*.{ts,tsx,less,md,mdx,json}": "npm run lint:script",
32
- "src/**/*.{less}": "npm run lint:style"
33
- },
34
- "peerDependencies": {
35
- "react": ">=16.9.0",
36
- "react-dom": ">=16.9.0"
37
- },
38
- "dependencies": {
39
- "ahooks": "^3.4.0",
40
- "antd": "^4.20.7",
41
- "hls.js": "^1.1.5",
42
- "js-base64": "^3.7.2",
43
- "merge2": "^1.4.1",
44
- "react-collapsed": "3.3.2"
45
- },
46
- "devDependencies": {
47
- "@babel/cli": "^7.6.4",
48
- "@babel/core": "^7.6.4",
49
- "@babel/plugin-proposal-class-properties": "^7.5.5",
50
- "@babel/plugin-transform-runtime": "^7.6.2",
51
- "@babel/preset-env": "^7.6.3",
52
- "@babel/preset-react": "^7.6.3",
53
- "@babel/preset-typescript": "^7.17.12",
54
- "@babel/runtime": "^7.6.3",
55
- "@commitlint/cli": "^17.0.2",
56
- "@commitlint/config-conventional": "^17.0.2",
57
- "@rollup/plugin-babel": "^5.3.1",
58
- "@rollup/plugin-commonjs": "^22.0.0",
59
- "@rollup/plugin-node-resolve": "^13.3.0",
60
- "@rollup/plugin-typescript": "^8.3.2",
61
- "@rollup/plugin-url": "^7.0.0",
62
- "@storybook/addon-actions": "^6.5.7",
63
- "@storybook/addon-essentials": "^6.5.7",
64
- "@storybook/addon-interactions": "^6.5.7",
65
- "@storybook/addon-links": "^6.5.7",
66
- "@storybook/builder-vite": "^0.1.36",
67
- "@storybook/react": "^6.5.7",
68
- "@storybook/testing-library": "^0.0.11",
69
- "@trivago/prettier-plugin-sort-imports": "^3.2.0",
70
- "@types/react": "^18.0.0",
71
- "@types/react-dom": "^18.0.0",
72
- "@typescript-eslint/eslint-plugin": "^5.26.0",
73
- "@typescript-eslint/parser": "^5.26.0",
74
- "@vitejs/plugin-react": "^1.3.0",
75
- "@vtx/utils": "^1.0.12",
76
- "consola": "^2.15.3",
77
- "eslint": "^8.16.0",
78
- "eslint-config-prettier": "^8.5.0",
79
- "eslint-import-resolver-typescript": "^2.7.1",
80
- "eslint-plugin-import": "^2.26.0",
81
- "eslint-plugin-prettier": "^4.0.0",
82
- "eslint-plugin-react": "^7.30.0",
83
- "eslint-plugin-react-hooks": "^4.5.0",
84
- "eslint-plugin-storybook": "^0.5.12",
85
- "gulp": "^4.0.2",
86
- "gulp-babel": "^8.0.0",
87
- "gulp-bump": "^3.2.0",
88
- "gulp-clean": "^0.4.0",
89
- "gulp-less": "^4.0.1",
90
- "gulp-sourcemaps": "^3.0.0",
91
- "gulp-typescript": "^6.0.0-alpha.1",
92
- "husky": "^8.0.1",
93
- "less": "3.13.1",
94
- "less-plugin-autoprefix": "^2.0.0",
95
- "less-plugin-npm-import": "^2.1.0",
96
- "lint-staged": "^13.0.1",
97
- "postcss": "^8.4.14",
98
- "postcss-less": "^6.0.0",
99
- "prettier": "^2.6.2",
100
- "react": "^16.14.0",
101
- "react-dom": "^16.14.0",
102
- "rimraf": "^3.0.2",
103
- "rollup-plugin-dts": "^4.2.2",
104
- "rollup-plugin-peer-deps-external": "^2.2.4",
105
- "rollup-plugin-postcss": "^4.0.2",
106
- "rollup-plugin-terser": "^7.0.2",
107
- "stylelint": "^14.8.5",
108
- "stylelint-config-prettier": "^9.0.3",
109
- "stylelint-config-recess-order": "^3.0.0",
110
- "stylelint-config-recommended": "^7.0.0",
111
- "stylelint-config-standard": "^25.0.0",
112
- "stylelint-order": "^5.0.0",
113
- "through2": "^4.0.2",
114
- "typescript": "^4.6.3",
115
- "typescript-transform-paths": "^2.0.1",
116
- "vite": "^2.9.9",
117
- "vite-plugin-style-import": "^2.0.0"
118
- },
119
- "repository": "https://git.cloudhw.cn:3443/front-end/business/vtx-vis.git",
120
- "author": "chenxinyu <chenxinyu@vortexInfo.cn>",
121
- "license": "MIT",
122
- "publishConfig": {
123
- "registry": "https://registry.npmjs.org/"
124
- }
125
- }
1
+ {
2
+ "name": "@vtx/player",
3
+ "version": "1.9.6",
4
+ "private": false,
5
+ "description": "视频业务组件",
6
+ "main": "./lib/index.js",
7
+ "module": "./lib/index.js",
8
+ "types": "./lib/index.d.ts",
9
+ "files": [
10
+ "lib"
11
+ ],
12
+ "scripts": {
13
+ "start": "start-storybook -p 6006",
14
+ "start:huanwei": "cross-env PREFIX=/huanwei umi dev",
15
+ "build": "npm run compile",
16
+ "compile": "gulp compile",
17
+ "build:old": "npm run clean && rollup --config",
18
+ "build-docs": "build-storybook",
19
+ "build:huanwei": "cross-env UMI_ENV=prod UMI_COLOR=default PREFIX=/huanwei umi build",
20
+ "lint:script": "eslint src --ext .ts,.tsx",
21
+ "lint:style": "stylelint src/**/*.less --custom-syntax postcss-less --fix",
22
+ "clean": "rimraf dist"
23
+ },
24
+ "husky": {
25
+ "hooks": {
26
+ "pre-commit": "lint-staged",
27
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
28
+ }
29
+ },
30
+ "lint-staged": {
31
+ "src/**/*.{ts,tsx,less,md,mdx,json}": "npm run lint:script",
32
+ "src/**/*.{less}": "npm run lint:style"
33
+ },
34
+ "peerDependencies": {
35
+ "react": ">=16.9.0",
36
+ "react-dom": ">=16.9.0"
37
+ },
38
+ "dependencies": {
39
+ "ahooks": "^3.4.0",
40
+ "antd": "^4.20.7",
41
+ "hls.js": "^1.1.5",
42
+ "js-base64": "^3.7.2",
43
+ "merge2": "^1.4.1",
44
+ "react-collapsed": "3.3.2"
45
+ },
46
+ "devDependencies": {
47
+ "@babel/cli": "^7.6.4",
48
+ "@babel/core": "^7.6.4",
49
+ "@babel/plugin-proposal-class-properties": "^7.5.5",
50
+ "@babel/plugin-transform-runtime": "^7.6.2",
51
+ "@babel/preset-env": "^7.6.3",
52
+ "@babel/preset-react": "^7.6.3",
53
+ "@babel/preset-typescript": "^7.17.12",
54
+ "@babel/runtime": "^7.6.3",
55
+ "@commitlint/cli": "^17.0.2",
56
+ "@commitlint/config-conventional": "^17.0.2",
57
+ "@rollup/plugin-babel": "^5.3.1",
58
+ "@rollup/plugin-commonjs": "^22.0.0",
59
+ "@rollup/plugin-node-resolve": "^13.3.0",
60
+ "@rollup/plugin-typescript": "^8.3.2",
61
+ "@rollup/plugin-url": "^7.0.0",
62
+ "@storybook/addon-actions": "^6.5.7",
63
+ "@storybook/addon-essentials": "^6.5.7",
64
+ "@storybook/addon-interactions": "^6.5.7",
65
+ "@storybook/addon-links": "^6.5.7",
66
+ "@storybook/builder-vite": "^0.1.36",
67
+ "@storybook/react": "^6.5.7",
68
+ "@storybook/testing-library": "^0.0.11",
69
+ "@trivago/prettier-plugin-sort-imports": "^3.2.0",
70
+ "@types/react": "^18.0.0",
71
+ "@types/react-dom": "^18.0.0",
72
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
73
+ "@typescript-eslint/parser": "^5.26.0",
74
+ "@vitejs/plugin-react": "^1.3.0",
75
+ "@vtx/utils": "^1.0.12",
76
+ "consola": "^2.15.3",
77
+ "eslint": "^8.16.0",
78
+ "eslint-config-prettier": "^8.5.0",
79
+ "eslint-import-resolver-typescript": "^2.7.1",
80
+ "eslint-plugin-import": "^2.26.0",
81
+ "eslint-plugin-prettier": "^4.0.0",
82
+ "eslint-plugin-react": "^7.30.0",
83
+ "eslint-plugin-react-hooks": "^4.5.0",
84
+ "eslint-plugin-storybook": "^0.5.12",
85
+ "gulp": "^4.0.2",
86
+ "gulp-babel": "^8.0.0",
87
+ "gulp-bump": "^3.2.0",
88
+ "gulp-clean": "^0.4.0",
89
+ "gulp-less": "^4.0.1",
90
+ "gulp-sourcemaps": "^3.0.0",
91
+ "gulp-typescript": "^6.0.0-alpha.1",
92
+ "husky": "^8.0.1",
93
+ "less": "3.13.1",
94
+ "less-plugin-autoprefix": "^2.0.0",
95
+ "less-plugin-npm-import": "^2.1.0",
96
+ "lint-staged": "^13.0.1",
97
+ "postcss": "^8.4.14",
98
+ "postcss-less": "^6.0.0",
99
+ "prettier": "^2.6.2",
100
+ "react": "^16.14.0",
101
+ "react-dom": "^16.14.0",
102
+ "rimraf": "^3.0.2",
103
+ "rollup-plugin-dts": "^4.2.2",
104
+ "rollup-plugin-peer-deps-external": "^2.2.4",
105
+ "rollup-plugin-postcss": "^4.0.2",
106
+ "rollup-plugin-terser": "^7.0.2",
107
+ "stylelint": "^14.8.5",
108
+ "stylelint-config-prettier": "^9.0.3",
109
+ "stylelint-config-recess-order": "^3.0.0",
110
+ "stylelint-config-recommended": "^7.0.0",
111
+ "stylelint-config-standard": "^25.0.0",
112
+ "stylelint-order": "^5.0.0",
113
+ "through2": "^4.0.2",
114
+ "typescript": "^4.6.3",
115
+ "typescript-transform-paths": "^2.0.1",
116
+ "vite": "^2.9.9",
117
+ "vite-plugin-style-import": "^2.0.0"
118
+ },
119
+ "repository": "https://git.cloudhw.cn:3443/front-end/business/vtx-vis.git",
120
+ "author": "chenxinyu <chenxinyu@vortexInfo.cn>",
121
+ "license": "MIT",
122
+ "publishConfig": {
123
+ "registry": "https://registry.npmjs.org/"
124
+ }
125
+ }