@mediakind/mkplayer 1.0.22 → 1.0.24

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 (307) hide show
  1. package/README.md +80 -121
  2. package/mkplayer-ui.css +12 -0
  3. package/mkplayer.js +1 -0
  4. package/package.json +23 -49
  5. package/src/alias/index.d.ts +10 -0
  6. package/src/classes/common/MKAzukiResponseUtils.d.ts +8 -0
  7. package/src/classes/common/MKEventBase.d.ts +9 -0
  8. package/src/classes/common/MKLocalStorage.d.ts +28 -0
  9. package/src/classes/common/MKLog.d.ts +10 -0
  10. package/src/classes/common/MKPlatform.d.ts +29 -0
  11. package/src/classes/common/MKProgramManager.d.ts +13 -0
  12. package/src/classes/common/MKSubtitleOverlay.d.ts +25 -0
  13. package/src/classes/common/MKThumbnailManager.d.ts +22 -0
  14. package/src/classes/common/MKUtils.d.ts +19 -0
  15. package/src/classes/common/MKUtils.spec.d.ts +1 -0
  16. package/src/classes/common/index.d.ts +9 -0
  17. package/src/classes/error/MKAzukiRequestError.d.ts +8 -0
  18. package/src/classes/error/MKBitmovinPlayerError.d.ts +5 -0
  19. package/src/classes/error/MKHttpError.d.ts +10 -0
  20. package/src/classes/error/MKPlayerError.d.ts +7 -0
  21. package/src/classes/error/MKProgramRestrictionError.d.ts +9 -0
  22. package/src/classes/error/index.d.ts +5 -0
  23. package/src/classes/index.d.ts +4 -0
  24. package/src/classes/player/MKBitmovinPlayer.d.ts +106 -0
  25. package/src/classes/player/MKPlayer.d.ts +104 -0
  26. package/src/classes/player/index.d.ts +2 -0
  27. package/src/classes/request/MKAzukiRequest.d.ts +27 -0
  28. package/src/classes/request/MKHttpRequest.d.ts +11 -0
  29. package/src/classes/request/index.d.ts +2 -0
  30. package/src/constants/MKAzukiRequestEndpoint.d.ts +36 -0
  31. package/src/constants/MKConstants.d.ts +16 -0
  32. package/src/constants/MKCustomError.d.ts +14 -0
  33. package/src/constants/index.d.ts +3 -0
  34. package/src/enums/MKAdQuartile.d.ts +5 -0
  35. package/src/enums/MKAdType.d.ts +6 -0
  36. package/src/enums/MKBufferType.d.ts +4 -0
  37. package/src/enums/MKDrmType.d.ts +6 -0
  38. package/src/enums/MKHttpRequestType.d.ts +21 -0
  39. package/src/enums/MKHttpResponseType.d.ts +7 -0
  40. package/src/enums/MKLatencyMode.d.ts +6 -0
  41. package/src/enums/MKLiveSynchronizationMethod.d.ts +5 -0
  42. package/src/enums/MKLocalStorageKeys.d.ts +6 -0
  43. package/src/enums/MKLogLevel.d.ts +7 -0
  44. package/src/enums/MKMediaType.d.ts +4 -0
  45. package/src/enums/MKMetadataType.d.ts +10 -0
  46. package/src/enums/MKPlatformType.d.ts +4 -0
  47. package/src/enums/MKPlayerEvent.d.ts +81 -0
  48. package/src/enums/MKProgramRestrictionType.d.ts +10 -0
  49. package/src/enums/MKRightsMode.d.ts +4 -0
  50. package/src/enums/MKRttEstimationMethod.d.ts +4 -0
  51. package/src/enums/MKSourceType.d.ts +7 -0
  52. package/src/enums/MKStartOffsetTimelineReference.d.ts +4 -0
  53. package/src/enums/MKStreamType.d.ts +6 -0
  54. package/src/enums/MKTimeMode.d.ts +4 -0
  55. package/src/enums/MKViewMode.d.ts +5 -0
  56. package/src/enums/index.d.ts +22 -0
  57. package/src/external/index.d.ts +2 -0
  58. package/src/index.d.ts +5 -0
  59. package/src/interfaces/MKAdCompanion.d.ts +2 -0
  60. package/src/interfaces/MKAdaptationConfig.d.ts +19 -0
  61. package/src/interfaces/MKAdaptationData.d.ts +7 -0
  62. package/src/interfaces/MKAdaptationPlatformConfig.d.ts +6 -0
  63. package/src/interfaces/MKAnalyticsConfig.d.ts +38 -0
  64. package/src/interfaces/MKAudioAdaptationData.d.ts +3 -0
  65. package/src/interfaces/MKAudioQuality.d.ts +3 -0
  66. package/src/interfaces/MKAudioTrack.d.ts +6 -0
  67. package/src/interfaces/MKAzukiConfig.d.ts +7 -0
  68. package/src/interfaces/MKBitrateLimitationConfig.d.ts +7 -0
  69. package/src/interfaces/MKBufferConfig.d.ts +6 -0
  70. package/src/interfaces/MKBufferLevel.d.ts +7 -0
  71. package/src/interfaces/MKBufferMediaTypeConfig.d.ts +5 -0
  72. package/src/interfaces/MKCastConfig.d.ts +6 -0
  73. package/src/interfaces/MKCdn.d.ts +8 -0
  74. package/src/interfaces/MKCdnOptions.d.ts +5 -0
  75. package/src/interfaces/MKDownloadedAudioData.d.ts +3 -0
  76. package/src/interfaces/MKDownloadedData.d.ts +5 -0
  77. package/src/interfaces/MKDownloadedVideoData.d.ts +5 -0
  78. package/src/interfaces/MKDrmConfig.d.ts +9 -0
  79. package/src/interfaces/MKDrmLicense.d.ts +5 -0
  80. package/src/interfaces/MKError.d.ts +5 -0
  81. package/src/interfaces/MKFairplayDrmConfig.d.ts +20 -0
  82. package/src/interfaces/MKHttpRequestOptions.d.ts +7 -0
  83. package/src/interfaces/MKImageMediaPlaylist.d.ts +9 -0
  84. package/src/interfaces/MKLiveConfig.d.ts +6 -0
  85. package/src/interfaces/MKLogConfig.d.ts +4 -0
  86. package/src/interfaces/MKLowLatencyConfig.d.ts +6 -0
  87. package/src/interfaces/MKLowLatencySyncConfig.d.ts +5 -0
  88. package/src/interfaces/MKMediaTrack.d.ts +6 -0
  89. package/src/interfaces/MKMediaTrackRole.d.ts +6 -0
  90. package/src/interfaces/MKMetadata.d.ts +7 -0
  91. package/src/interfaces/MKPeriodContentInformation.d.ts +5 -0
  92. package/src/interfaces/MKPeriodInformation.d.ts +5 -0
  93. package/src/interfaces/MKPeriodSwitchObject.d.ts +3 -0
  94. package/src/interfaces/MKPlayReadyDrmConfig.d.ts +12 -0
  95. package/src/interfaces/MKPlaybackConfig.d.ts +14 -0
  96. package/src/interfaces/MKPlayerAPI.d.ts +95 -0
  97. package/src/interfaces/MKPlayerConfig.d.ts +21 -0
  98. package/src/interfaces/MKPlayerEngine.d.ts +3 -0
  99. package/src/interfaces/MKPlayerEventCallback.d.ts +4 -0
  100. package/src/interfaces/MKPlayerEventConfig.d.ts +4 -0
  101. package/src/interfaces/MKProgramInfo.d.ts +6 -0
  102. package/src/interfaces/MKProgramRestrictions.d.ts +5 -0
  103. package/src/interfaces/MKQuality.d.ts +7 -0
  104. package/src/interfaces/MKRegisteredSource.d.ts +7 -0
  105. package/src/interfaces/MKRollInfo.d.ts +14 -0
  106. package/src/interfaces/MKSourceConfig.d.ts +26 -0
  107. package/src/interfaces/MKSourceOptions.d.ts +18 -0
  108. package/src/interfaces/MKSubtitleCue.d.ts +14 -0
  109. package/src/interfaces/MKSubtitleCuePosition.d.ts +4 -0
  110. package/src/interfaces/MKSubtitleTrack.d.ts +5 -0
  111. package/src/interfaces/MKSynchronizationConfigEntry.d.ts +5 -0
  112. package/src/interfaces/MKTextTrack.d.ts +7 -0
  113. package/src/interfaces/MKThumbnail.d.ts +10 -0
  114. package/src/interfaces/MKThumbnailTrack.d.ts +3 -0
  115. package/src/interfaces/MKTimeRange.d.ts +4 -0
  116. package/src/interfaces/MKULLSource.d.ts +4 -0
  117. package/src/interfaces/MKVTTProperties.d.ts +13 -0
  118. package/src/interfaces/MKVTTRegionProperties.d.ts +10 -0
  119. package/src/interfaces/MKVideoAdaptationData.d.ts +3 -0
  120. package/src/interfaces/MKVideoQuality.d.ts +6 -0
  121. package/src/interfaces/MKVideoSizeLimitationConfig.d.ts +6 -0
  122. package/src/interfaces/MKVideoTrack.d.ts +5 -0
  123. package/src/interfaces/MKViewModeOptions.d.ts +3 -0
  124. package/src/interfaces/MKWidevineModularDrmConfig.d.ts +13 -0
  125. package/src/interfaces/events/MKAdBreakFinishedEvent.d.ts +4 -0
  126. package/src/interfaces/events/MKAdBreakStartedEvent.d.ts +10 -0
  127. package/src/interfaces/events/MKAdClickThroughEvent.d.ts +6 -0
  128. package/src/interfaces/events/MKAdCompanionEvent.d.ts +6 -0
  129. package/src/interfaces/events/MKAdFinishedEvent.d.ts +4 -0
  130. package/src/interfaces/events/MKAdMarkerEvent.d.ts +5 -0
  131. package/src/interfaces/events/MKAdQuartileEvent.d.ts +6 -0
  132. package/src/interfaces/events/MKAdStartedEvent.d.ts +12 -0
  133. package/src/interfaces/events/MKAdaptationEvent.d.ts +4 -0
  134. package/src/interfaces/events/MKAirplayChangedEvent.d.ts +4 -0
  135. package/src/interfaces/events/MKAspectRatioChangedEvent.d.ts +5 -0
  136. package/src/interfaces/events/MKAudioAdaptationEvent.d.ts +3 -0
  137. package/src/interfaces/events/MKAudioChangedEvent.d.ts +6 -0
  138. package/src/interfaces/events/MKAudioDownloadQualityChangeEvent.d.ts +3 -0
  139. package/src/interfaces/events/MKAudioDownloadQualityChangedEvent.d.ts +3 -0
  140. package/src/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +3 -0
  141. package/src/interfaces/events/MKAudioQualityChangedEvent.d.ts +3 -0
  142. package/src/interfaces/events/MKAudioQualityEvent.d.ts +3 -0
  143. package/src/interfaces/events/MKAudioTrackEvent.d.ts +5 -0
  144. package/src/interfaces/events/MKCastAvailableEvent.d.ts +4 -0
  145. package/src/interfaces/events/MKCastStartedEvent.d.ts +5 -0
  146. package/src/interfaces/events/MKCastWaitingForDeviceEvent.d.ts +9 -0
  147. package/src/interfaces/events/MKCueEnterEvent.d.ts +4 -0
  148. package/src/interfaces/events/MKCueExitEvent.d.ts +4 -0
  149. package/src/interfaces/events/MKCueParsedEvent.d.ts +4 -0
  150. package/src/interfaces/events/MKCueUpdateEvent.d.ts +4 -0
  151. package/src/interfaces/events/MKDownloadFinishedEvent.d.ts +14 -0
  152. package/src/interfaces/events/MKDrmLicenseAddedEvent.d.ts +5 -0
  153. package/src/interfaces/events/MKDurationChangedEvent.d.ts +5 -0
  154. package/src/interfaces/events/MKErrorEvent.d.ts +4 -0
  155. package/src/interfaces/events/MKLatencyModeChangedEvent.d.ts +6 -0
  156. package/src/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +6 -0
  157. package/src/interfaces/events/MKMediaQualityChangeEvent.d.ts +8 -0
  158. package/src/interfaces/events/MKMediaQualityEvent.d.ts +5 -0
  159. package/src/interfaces/events/MKMetadataChangedEvent.d.ts +3 -0
  160. package/src/interfaces/events/MKMetadataEvent.d.ts +8 -0
  161. package/src/interfaces/events/MKMetadataParsedEvent.d.ts +3 -0
  162. package/src/interfaces/events/MKPeriodSwitchedEvent.d.ts +6 -0
  163. package/src/interfaces/events/MKPlaybackEvent.d.ts +4 -0
  164. package/src/interfaces/events/MKPlaybackSpeedChangedEvent.d.ts +5 -0
  165. package/src/interfaces/events/MKPlayerEventBase.d.ts +5 -0
  166. package/src/interfaces/events/MKPlayerResizedEvent.d.ts +5 -0
  167. package/src/interfaces/events/MKProgramRestrictionsEvent.d.ts +5 -0
  168. package/src/interfaces/events/MKProgramTimeChangedEvent.d.ts +5 -0
  169. package/src/interfaces/events/MKSeekEvent.d.ts +5 -0
  170. package/src/interfaces/events/MKSegmentPlaybackEvent.d.ts +23 -0
  171. package/src/interfaces/events/MKSegmentRequestFinishedEvent.d.ts +11 -0
  172. package/src/interfaces/events/MKSubtitleEvent.d.ts +5 -0
  173. package/src/interfaces/events/MKTargetLatencyChangedEvent.d.ts +5 -0
  174. package/src/interfaces/events/MKTimeChangedEvent.d.ts +3 -0
  175. package/src/interfaces/events/MKUserInteractionEvent.d.ts +4 -0
  176. package/src/interfaces/events/MKVideoAdaptationEvent.d.ts +3 -0
  177. package/src/interfaces/events/MKVideoDownloadQualityChangeEvent.d.ts +3 -0
  178. package/src/interfaces/events/MKVideoDownloadQualityChangedEvent.d.ts +3 -0
  179. package/src/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +3 -0
  180. package/src/interfaces/events/MKVideoQualityChangedEvent.d.ts +3 -0
  181. package/src/interfaces/events/MKVideoQualityEvent.d.ts +3 -0
  182. package/src/interfaces/events/MKViewModeChangedEvent.d.ts +7 -0
  183. package/src/interfaces/events/MKVolumeChangedEvent.d.ts +5 -0
  184. package/src/interfaces/events/index.d.ts +59 -0
  185. package/src/interfaces/index.d.ts +67 -0
  186. package/azure-pipelines.yml +0 -19
  187. package/dist/BufferLevel.d.ts +0 -4
  188. package/dist/LabelConfig.d.ts +0 -4
  189. package/dist/Logger.d.ts +0 -9
  190. package/dist/MKPlayer.d.ts +0 -31
  191. package/dist/MKPlayerConfiguration.d.ts +0 -15
  192. package/dist/MKStream.d.ts +0 -34
  193. package/dist/SubtitleTrack.d.ts +0 -4
  194. package/dist/URLHelper.d.ts +0 -5
  195. package/dist/events/MKEvent.d.ts +0 -16
  196. package/dist/events/MKPlayerEventCallback.d.ts +0 -4
  197. package/dist/events/UrlType.d.ts +0 -4
  198. package/dist/index.d.ts +0 -6
  199. package/dist/lib/BufferLevel.d.ts +0 -4
  200. package/dist/lib/BufferLevel.js +0 -3
  201. package/dist/lib/BufferLevel.js.map +0 -1
  202. package/dist/lib/LabelConfig.d.ts +0 -4
  203. package/dist/lib/LabelConfig.js +0 -3
  204. package/dist/lib/LabelConfig.js.map +0 -1
  205. package/dist/lib/Logger.d.ts +0 -9
  206. package/dist/lib/Logger.js +0 -72
  207. package/dist/lib/Logger.js.map +0 -1
  208. package/dist/lib/MKPlayer.d.ts +0 -31
  209. package/dist/lib/MKPlayer.js +0 -289
  210. package/dist/lib/MKPlayer.js.map +0 -1
  211. package/dist/lib/MKPlayerConfiguration.d.ts +0 -15
  212. package/dist/lib/MKPlayerConfiguration.js +0 -3
  213. package/dist/lib/MKPlayerConfiguration.js.map +0 -1
  214. package/dist/lib/MKStream.d.ts +0 -34
  215. package/dist/lib/MKStream.js +0 -126
  216. package/dist/lib/MKStream.js.map +0 -1
  217. package/dist/lib/SubtitleTrack.d.ts +0 -4
  218. package/dist/lib/SubtitleTrack.js +0 -3
  219. package/dist/lib/SubtitleTrack.js.map +0 -1
  220. package/dist/lib/URLHelper.d.ts +0 -5
  221. package/dist/lib/URLHelper.js +0 -63
  222. package/dist/lib/URLHelper.js.map +0 -1
  223. package/dist/lib/events/MKEvent.d.ts +0 -16
  224. package/dist/lib/events/MKEvent.js +0 -21
  225. package/dist/lib/events/MKEvent.js.map +0 -1
  226. package/dist/lib/events/MKPlayerEventCallback.d.ts +0 -4
  227. package/dist/lib/events/MKPlayerEventCallback.js +0 -3
  228. package/dist/lib/events/MKPlayerEventCallback.js.map +0 -1
  229. package/dist/lib/events/UrlType.d.ts +0 -4
  230. package/dist/lib/events/UrlType.js +0 -9
  231. package/dist/lib/events/UrlType.js.map +0 -1
  232. package/dist/lib/index.d.ts +0 -6
  233. package/dist/lib/index.js +0 -10
  234. package/dist/lib/index.js.map +0 -1
  235. package/dist/lib-esm/BufferLevel.d.ts +0 -4
  236. package/dist/lib-esm/BufferLevel.js +0 -2
  237. package/dist/lib-esm/BufferLevel.js.map +0 -1
  238. package/dist/lib-esm/LabelConfig.d.ts +0 -4
  239. package/dist/lib-esm/LabelConfig.js +0 -2
  240. package/dist/lib-esm/LabelConfig.js.map +0 -1
  241. package/dist/lib-esm/Logger.d.ts +0 -9
  242. package/dist/lib-esm/Logger.js +0 -69
  243. package/dist/lib-esm/Logger.js.map +0 -1
  244. package/dist/lib-esm/MKPlayer.d.ts +0 -31
  245. package/dist/lib-esm/MKPlayer.js +0 -286
  246. package/dist/lib-esm/MKPlayer.js.map +0 -1
  247. package/dist/lib-esm/MKPlayerConfiguration.d.ts +0 -15
  248. package/dist/lib-esm/MKPlayerConfiguration.js +0 -2
  249. package/dist/lib-esm/MKPlayerConfiguration.js.map +0 -1
  250. package/dist/lib-esm/MKStream.d.ts +0 -34
  251. package/dist/lib-esm/MKStream.js +0 -123
  252. package/dist/lib-esm/MKStream.js.map +0 -1
  253. package/dist/lib-esm/SubtitleTrack.d.ts +0 -4
  254. package/dist/lib-esm/SubtitleTrack.js +0 -2
  255. package/dist/lib-esm/SubtitleTrack.js.map +0 -1
  256. package/dist/lib-esm/URLHelper.d.ts +0 -5
  257. package/dist/lib-esm/URLHelper.js +0 -60
  258. package/dist/lib-esm/URLHelper.js.map +0 -1
  259. package/dist/lib-esm/events/MKEvent.d.ts +0 -16
  260. package/dist/lib-esm/events/MKEvent.js +0 -18
  261. package/dist/lib-esm/events/MKEvent.js.map +0 -1
  262. package/dist/lib-esm/events/MKPlayerEventCallback.d.ts +0 -4
  263. package/dist/lib-esm/events/MKPlayerEventCallback.js +0 -2
  264. package/dist/lib-esm/events/MKPlayerEventCallback.js.map +0 -1
  265. package/dist/lib-esm/events/UrlType.d.ts +0 -4
  266. package/dist/lib-esm/events/UrlType.js +0 -6
  267. package/dist/lib-esm/events/UrlType.js.map +0 -1
  268. package/dist/lib-esm/index.d.ts +0 -6
  269. package/dist/lib-esm/index.js +0 -4
  270. package/dist/lib-esm/index.js.map +0 -1
  271. package/dist/mkplayer.js +0 -1
  272. package/doc/assets/css/main.css +0 -1
  273. package/doc/assets/images/icons.png +0 -0
  274. package/doc/assets/images/icons@2x.png +0 -0
  275. package/doc/assets/images/widgets.png +0 -0
  276. package/doc/assets/images/widgets@2x.png +0 -0
  277. package/doc/assets/js/main.js +0 -51
  278. package/doc/assets/js/search.json +0 -1
  279. package/doc/classes/mkplayer.html +0 -677
  280. package/doc/enums/mkevent.html +0 -348
  281. package/doc/enums/urltype.html +0 -180
  282. package/doc/globals.html +0 -150
  283. package/doc/index.html +0 -347
  284. package/doc/interfaces/bufferlevel.html +0 -143
  285. package/doc/interfaces/labelconfig.html +0 -198
  286. package/doc/interfaces/mkplayereventcallback.html +0 -170
  287. package/doc/interfaces/subtitletrack.html +0 -198
  288. package/favicon.ico +0 -0
  289. package/index.html +0 -539
  290. package/mk_logo.png +0 -0
  291. package/mkplayer-ui.min.css +0 -2
  292. package/multi-camera.html +0 -391
  293. package/src/BufferLevel.ts +0 -7
  294. package/src/LabelConfig.ts +0 -14
  295. package/src/Logger.ts +0 -51
  296. package/src/MKPlayer.ts +0 -390
  297. package/src/MKPlayerConfiguration.ts +0 -51
  298. package/src/MKStream.ts +0 -154
  299. package/src/SubtitleTrack.ts +0 -14
  300. package/src/URLHelper.ts +0 -71
  301. package/src/events/MKEvent.ts +0 -19
  302. package/src/events/MKPlayerEventCallback.ts +0 -8
  303. package/src/events/UrlType.ts +0 -7
  304. package/src/index.ts +0 -6
  305. package/tsconfig.json +0 -20
  306. package/tslint.json +0 -72
  307. package/typedoc.json +0 -11
package/index.html DELETED
@@ -1,539 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang='en'>
3
- <head>
4
- <title>MKPlayer 1.0.22</title>
5
- <meta charset='UTF-8'/>
6
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
7
- <meta name='viewport' content='width=device-width, initial-scale=1.0'>
8
- <link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css' integrity='sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm'
9
- crossorigin='anonymous'>
10
- <script
11
- src='https://code.jquery.com/jquery-3.4.1.min.js'
12
- integrity='sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo='
13
- crossorigin='anonymous'></script>
14
- <script src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js'></script>
15
- <script src='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js' integrity='sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl'
16
- crossorigin='anonymous'></script>
17
- <script type='text/javascript' src='./dist/mkplayer.js'></script>
18
- <link rel='stylesheet' href='mkplayer-ui.min.css'>
19
- <style>
20
- .player-wrapper {
21
- margin: 20px auto;
22
- box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
23
- }
24
-
25
- .meta-info {
26
- text-align: center;
27
- }
28
-
29
- .row {
30
- margin: 20px 0;
31
- }
32
-
33
- .content-selection {
34
- display: flex;
35
- flex-wrap: wrap;
36
- flex-direction: row;
37
- justify-content: center;
38
- align-items: center;
39
- }
40
-
41
- .content-selection > label {
42
- margin: 5px;
43
- }
44
- </style>
45
- </head>
46
- <body>
47
- <div class='container'>
48
- <div class='meta-info'>
49
- <div class='row'>
50
- <div class="col-10">
51
- <div class="float-left">
52
- <a href="doc/index.html">Check out our docs!</a>
53
- </div>
54
- </div>
55
- <div class="col-2">
56
- <div class="float-right"><a href="https://www.w3schools.com"><img src="mk_logo.png" alt="Girl in a jacket" width="50" height="30" href="www.mediakind.com"></a>
57
- </div>
58
- </div>
59
- </div>
60
- <div class='row'>
61
- <div class='col'>
62
- <div class='input-group mb-3'>
63
- <input id='steam-stream-url' type='text' class='form-control' placeholder='Custom primaryUrl' aria-label='Custom primaryUrl' value="">
64
- <input id='steam-stream-secondary-url' type='text' class='form-control' placeholder='Custom secondaryUrl' aria-label='Custom secondaryUrl' value="">
65
- <input id='subtitle-url' type='text' class='form-control' placeholder='SubtitleTrack url' aria-label='SubtitleTrack url' value="">
66
- <input id='subtitle-language' type='text' class='form-control' placeholder='SubtitleTrack language' aria-label='SubtitleTrack language' value="">
67
- <div class='input-group-append'>
68
- <button id='load-custom-steam' class='btn btn-outline-secondary' type='button'>Load</button>
69
- <button id='unload-stream' class='btn btn-outline-secondary' type='button'>Unload</button>
70
- </div>
71
- <br/>
72
- </div>
73
- </div>
74
- </div>
75
-
76
- </div>
77
- <div class='content'>
78
- <div class='player-wrapper'>
79
- <div id='testPlayer'></div>
80
- </div>
81
- </div>
82
- <div class='row'>
83
- <div class='col-12'>
84
- <div class='content-selection btn-group btn-group-toggle' data-toggle='buttons'>
85
- <label class='btn btn-outline-secondary'>
86
- <input type='radio' name='options' id='option-vod' autocomplete='off'>HLS VOD
87
- </label>
88
- <label class='btn btn-outline-secondary active'>
89
- <input type='radio' name='options' id='option-live' autocomplete='off' checked>Live
90
- </label>
91
- <label class='btn btn-outline-secondary'>
92
- <input type='radio' name='options' id='option-live-subtitle' autocomplete='off' checked>Live Subs
93
- </label>
94
- <label class='btn btn-outline-secondary'>
95
- <input type='radio' name='options' id='option-dash-vod' autocomplete='off'>DASH VOD
96
- </label>
97
- <label class='btn btn-outline-secondary'>
98
- <input type='radio' name='options' id='option-dash-subtitle' autocomplete='off'>DASH Subtitle
99
- </label>
100
- <label class='btn btn-outline-secondary'>
101
- <input type='radio' name='options' id='option-hls-subtitle' autocomplete='off'>HLS Subtitle
102
- </label>
103
- <label class='btn btn-outline-secondary'>
104
- <input type='radio' name='options' id='option-emsg-1' autocomplete='off'>EMSG Live
105
- </label>
106
- <label class='btn btn-outline-secondary'>
107
- <input type='radio' name='options' id='option-mp4-2' autocomplete='off'>MP4 Source 2
108
- </label>
109
- <label class='btn btn-outline-secondary'>
110
- <input type='radio' name='options' id='option-mp4-3' autocomplete='off'>MP4 Source 3
111
- </label>
112
- <label class='btn btn-outline-secondary'>
113
- <input type='radio' name='options' id='option-error' autocomplete='off'>Error Source
114
- </label>
115
- </div>
116
- </div>
117
- </div>
118
- <div class='row'>
119
- <div class='col-12'>
120
- <div class='content-selection btn-group btn-group-toggle' data-toggle='buttons'>
121
- <label class='btn btn-outline-secondary'>
122
- <input type='radio' name='options' id='option-destroy' autocomplete='off'>destroy()
123
- </label>
124
- </div>
125
- </div>
126
- </div>
127
-
128
- <div class='row'>
129
- <div class='col-12'>
130
- <p>Video Buffer </p>
131
- <div class='progress'>
132
- <div class='progress-bar progress-bar-striped progress-bar-animated' role='progressbar' aria-valuenow='0' aria-valuemin='0' aria-valuemax='100' style='width: 0'
133
- id='videoBuffer'></div>
134
- </div>
135
- </div>
136
- </div>
137
- <div class='row'>
138
- <div class='col-12'>
139
- <p>Audio Buffer</p>
140
- <div class='progress'>
141
- <div class='progress-bar progress-bar-striped progress-bar-animated' role='progressbar' aria-valuenow='0' aria-valuemin='0' aria-valuemax='100' style='width: 0'
142
- id='audioBuffer'></div>
143
- </div>
144
- </div>
145
- </div>
146
-
147
- <div class='row'>
148
- <div class='col-12'>
149
- <p id='startupTime'>Video Startup Time: unknown</p>
150
- </div>
151
- </div>
152
- <div class='row'>
153
- <div class='col-12'>
154
- <p id='playbackBitrate'>Video Playback Bitrate: unknown</p>
155
- </div>
156
- </div>
157
- <div class='row'>
158
- <div class='col-12'>
159
- <p id='wallClockTime'>Wall Clock Time: unknown</p>
160
- </div>
161
- </div>
162
- <div class='row'>
163
- <div class='col-12'>
164
- <p id='segmentTime'>Segment Time: unknown</p>
165
- </div>
166
- </div>
167
- <div class='row'>
168
- <div class='col-12'>
169
- <p id='segmentPlaybackLabel'>Segment: unknown</p>
170
- </div>
171
- </div>
172
- <div class='row'>
173
- <div class='col-12'>
174
- <p id='metadataLabel'>Metadata: unknown</p>
175
- </div>
176
- </div>
177
- </div>
178
- <script type='text/javascript'>
179
- let vodButton = $('#option-vod').parent();
180
- let dashVodButton = $('#option-dash-vod').parent();
181
- let dashSubtitleButton = $('#option-dash-subtitle').parent();
182
- let hlsSubtitleButton = $('#option-hls-subtitle').parent();
183
- let emsgButton = $('#option-emsg-1').parent();
184
- let mp4Button2 = $('#option-mp4-2').parent();
185
- let mp4Button3 = $('#option-mp4-3').parent();
186
- let liveButton = $('#option-live').parent();
187
- let liveSubtitleButton = $('#option-live-subtitle').parent();
188
- let errorButton = $('#option-error').parent();
189
- let destroyButton = $('#option-destroy').parent();
190
- let customStreamButton = $('#load-custom-steam');
191
- let unloadStream = $('#unload-stream');
192
- let loadTime;
193
- let startupTimeCalculated = false;
194
-
195
- function deselectCustomLoadButton() {
196
- $(customStreamButton).removeClass('active');
197
- }
198
-
199
- function load(source) {
200
- loadTime = Date.now();
201
- startupTimeCalculated = false;
202
- mkPlayer.load(source).then(function() {
203
- console.log('MKPlayer Example Page Loaded Source Successfully');
204
- }, function(reason) {
205
- console.error('MKPlayer Example Page - Error loading MKPlayer Source');
206
- console.error(reason);
207
- });
208
- }
209
-
210
- function formatTimestamp(timestamp) {
211
- var date = new Date(timestamp * 1000);
212
- var hours = date.getHours();
213
- var minutes = "0" + date.getMinutes();
214
- var seconds = "0" + date.getSeconds();
215
- var millis = "0" + date.getMilliseconds();
216
-
217
- var formattedTime = date.toDateString() + ' ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2) + ':' + millis.substr(-3);
218
-
219
- return formattedTime;
220
-
221
- }
222
-
223
- vodButton.on('click', function() {
224
- vodButton.button('toggle');
225
- deselectCustomLoadButton();
226
- load(vodSource);
227
- });
228
-
229
- destroyButton.on('click', function() {
230
- mkPlayer.unload();
231
- mkPlayer.destroy();
232
- });
233
-
234
- dashVodButton.on('click', function() {
235
- dashVodButton.button('toggle');
236
- deselectCustomLoadButton();
237
- load(dashVodSource);
238
- });
239
-
240
- hlsSubtitleButton.on('click', function() {
241
- hlsSubtitleButton.button('toggle');
242
- deselectCustomLoadButton();
243
- load(hlsSubtitleSource);
244
- });
245
-
246
- dashSubtitleButton.on('click', function() {
247
- dashSubtitleButton.button('toggle');
248
- deselectCustomLoadButton();
249
- load(dashSubtitleSource);
250
- });
251
-
252
- errorButton.on('click', function() {
253
- errorButton.button('toggle');
254
- deselectCustomLoadButton();
255
- load(errorSource);
256
- });
257
-
258
- emsgButton.on('click', function() {
259
- emsgButton.button('toggle');
260
- deselectCustomLoadButton();
261
- load(emsgSource);
262
- });
263
-
264
- mp4Button2.on('click', function() {
265
- mp4Button2.button('toggle');
266
- deselectCustomLoadButton();
267
- load(mp4Source2);
268
- });
269
-
270
- mp4Button3.on('click', function() {
271
- mp4Button3.button('toggle');
272
- deselectCustomLoadButton();
273
- load(mp4Source3);
274
- });
275
-
276
- liveButton.on('click', function() {
277
- liveButton.button('toggle');
278
- deselectCustomLoadButton();
279
-
280
- mkPlayer.unload();
281
- load(liveId3Source);
282
- });
283
-
284
- liveSubtitleButton.on('click', function() {
285
- liveSubtitleButton.button('toggle');
286
- deselectCustomLoadButton();
287
-
288
- mkPlayer.unload();
289
- load(liveSubtitle);
290
- });
291
-
292
- customStreamButton.on('click', function() {
293
- // remove active button of group
294
- $($('.btn-group-toggle .active')[0]).removeClass('active');
295
- let customSource = {
296
- primaryUrl: $('#steam-stream-url').val(),
297
- secondaryUrl: $('#steam-stream-secondary-url').val(),
298
- cdnFailoverPercent: 10,
299
- assetIdentifier: 'Custom Source',
300
- };
301
-
302
- if ($('#subtitle-url').val() && $('#subtitle-language').val()) {
303
- customSource.subtitleTracks = [{
304
- url: $('#subtitle-url').val(),
305
- language: $('#subtitle-language').val(),
306
- }]
307
- }
308
-
309
- mkPlayer.unload();
310
- load(customSource);
311
- });
312
-
313
- unloadStream.on('click', function() {
314
- $($('.btn-group-toggle .active')[0]).removeClass('active');
315
-
316
- // remove active button of group
317
- mkPlayer.unload();
318
- });
319
-
320
- let liveSource = {
321
- // primaryUrl: "https://ceslive-mediakind.akamaized.net/cmaftkn/CES-Hero/index.m3u8",
322
- // secondaryUrl:"https://ceslive-mediakind.akamaized.net/cmaftkn/CES-Hero/index.m3u8",
323
- primaryUrl: 'https://live-mkmsctacdn.azureedge.net/cmaftkn/CES-Hero-asl/index.m3u8',
324
- secondaryUrl: 'https://live-mkmsctacdn.azureedge.net/cmaftkn/CES-Hero-asl/index.m3u8',
325
- cdnFailoverPercent: 10,
326
- subtitleTracks: [],
327
- assetIdentifier: 'HLS Live',
328
- labelConfig: {
329
- audio: {'en': 'English', 'mis': 'Audio Descriptions'},
330
- captions: {'ENG': 'English', 'GER': 'German'},
331
- }
332
- };
333
-
334
- let liveSubtitle = {
335
- primaryUrl: "https://cesstatic.blob.core.windows.net/hls/Test1/master.m3u8?abc=123",
336
- cdnFailoverPercent: 10,
337
- assetIdentifier: 'DASH Live',
338
- subtitleTracks: [
339
- {
340
- url: "https://cesstatic.blob.core.windows.net/hls/Test1/master_captionENG.m3u8",
341
- language: 'ENG',
342
- },
343
- {
344
- url: "https://cesstatic.blob.core.windows.net/hls/Test1/master_captionGER.m3u8",
345
- language: 'GER',
346
- },
347
- {
348
- url: "https://cesstatic.blob.core.windows.net/hls/Test1/master_captionTA.m3u8",
349
- language: 'TA',
350
- },
351
- ],
352
- };
353
-
354
- let liveId3Source = {
355
- primaryUrl: "http://52.232.209.101/hls-ts/MKChannelOne/index.m3u8",
356
- cdnFailoverPercent: 10,
357
- assetIdentifier: 'ID3 Live',
358
- };
359
-
360
- let emsgSource = {
361
- primaryUrl: "https://livesim.dashif.org/livesim/scte35_2/testpic_2s/Manifest.mpd",
362
- cdnFailoverPercent: 0,
363
- assetIdentifier: 'EMSG Live',
364
- };
365
-
366
- let dashSubtitleSource = {
367
- primaryUrl: "https://bitmovin-a.akamaihd.net/content/sintel/sintel.mpd",
368
- subtitleTracks: [{
369
- url: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt',
370
- language: 'aa',
371
- }],
372
- assetIdentifier: 'DASH Subtitle',
373
- poster: 'https://bitmovin-a.akamaihd.net/content/sintel/poster.png',
374
- userId: 'badge1',
375
- };
376
-
377
- let dashVodSource = {
378
- primaryUrl: "https://mk-orionsedge.azureedge.net/d2ct1/dash/tenant1_ASMIK_ASMI0000000000000920/manifest.mpd",
379
- cdnFailoverPercent: 0,
380
- assetIdentifier: 'DASH VOD',
381
- subtitleTracks: [{
382
- url: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt',
383
- language: 'ms',
384
- }],
385
- userId: 'badge2',
386
- customData1: 'customData1',
387
- customData2: 'customData2',
388
- customData3: 'customData3',
389
- customData4: 'customData4',
390
- customData5: 'customData5',
391
- }
392
-
393
- let hlsSubtitleSource = {
394
- primaryUrl: 'https://mk-orionsedge.azureedge.net/test/hls/tos/index.m3u8',
395
- cdnFailoverPercent: 0,
396
- assetIdentifier: 'HLS Subtitle',
397
- userId: 'badge3',
398
- }
399
-
400
- var vodSource = {
401
- primaryUrl: "https://mk-orionsedge.azureedge.net/d2ct1/hls/tenant1_ASMIK_ASMI0000000000000920/index.m3u8",
402
- assetIdentifier: 'HLS Vod',
403
- cdnFailoverPercent: 10,
404
- subtitleTracks: [{
405
- url: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt',
406
- language: 'ms',
407
- }],
408
- };
409
-
410
- var mp4Source = {
411
- primaryUrl: "https://mkplayer.z13.web.core.windows.net/vectors/product.mp4",
412
- assetIdentifier: 'MP4 Source 1',
413
- }
414
-
415
- var mp4Source2 = {
416
- primaryUrl: "https://mkplayer.z13.web.core.windows.net/vectors/mys_video.mp4",
417
- assetIdentifier: 'MP4 Source 2',
418
- }
419
-
420
- var mp4Source3 = {
421
- primaryUrl: "https://mediusproduction.blob.core.windows.net/video-28731/Build2020Satya.mp4?sv=2018-03-28&sr=c&sig=KyUgEjjChf7RD5SzHisGTn3%2BXkof%2FHYSBMWSaj7EHCs%3D&se=2025-05-19T17%3A16%3A57Z&sp=r",
422
- assetIdentifier: 'MP4 Source 3',
423
- subtitleTracks: [
424
- {
425
- url: 'https://mediusproduction.blob.core.windows.net/video-28731/Caption_fi-FI.vtt?sv=2018-03-28&amp;sr=c&amp;sig=jsW7SssIhDY9ESoLoDjYgjmCSX1LyRVcM2AVa%2FPIZN8%3D&se=2025-05-22T14%3A22%3A12Z&sp=r',
426
- language: 'fi',
427
- },
428
- {
429
- url: 'https://mediusprodstatic.studios.ms/video-28731/Caption_ar-EG.vtt?sv=2018-03-28&sr=c&sig=qFHd87nMFTZWXNkDIEcq4656fFH6Zb%2Fd40q4zaVSOJA%3D&se=2025-05-26T15%3A52%3A20Z&sp=r',
430
- language: 'ms',
431
- },
432
- ],
433
- }
434
-
435
- let errorSource = {
436
- primaryUrl: "https://bitdash-a.akamaihd.net/content/sintel/hls/plaasdfasdfadfylist.m3u8",
437
- assetIdentifier: 'Error Asset',
438
- cdnFailoverPercent: 10,
439
- };
440
-
441
- let mkPlayerConfiguration = {
442
- debug: true,
443
- autoplay: true,
444
- muted: true,
445
- smallScreen: false,
446
- key: '84dc4716-55f9-43fa-ae8e-6fa334c5189b',
447
-
448
- refreshToken: (type) => {
449
- // if (type === 'primary') {
450
- // return {name: 'hdnts', value: 'exp=1610140360~acl=*~hmac=3662c21bdc6cfa7f2d0a0462c23a71982bfa0c176c7e164b0630195ee4003104'}
451
- // }else if (type === 'secondary') {
452
- // return {name: 'hdnts', value: 'exp=1610140360~acl=*~hmac=3662c21bdc6cfa7f2d0a0462c23a71982bfa0c176c7e164b0630195ee4003104'}
453
- // }
454
-
455
- return {name: 'hdnts', value: '5pIs6i6k5KbY0n5ezMaN-GGDUvq4zYUXMFUJzlHs-j_BuZKkd5zzbFCfudf52qL2'}
456
- },
457
- };
458
-
459
- let playerContainer = document.getElementById('testPlayer');
460
- let mkPlayer = new mkplayer.MKPlayer(playerContainer, mkPlayerConfiguration);
461
-
462
- mkPlayer.on('error', function(event) {
463
- console.error('[MKPlayer] error: %d - %s', event.code, event.name);
464
- })
465
-
466
- mkPlayer.on('warning', function(event) {
467
- console.error('[MKPlayer] warning: %d - %s', event.code, event.name);
468
- })
469
-
470
- mkPlayer.on('ready', function(event) {
471
- console.info('[MKPlayer] ready ' + event.timestamp);
472
- })
473
-
474
- const getAudioBufferLevel = function() {
475
- return mkPlayer.getBufferLevels().audio
476
- };
477
- const getVideoBufferLevel = function() {
478
- return mkPlayer.getBufferLevels().video
479
- };
480
- mkPlayer.on('timechanged', function(event) {
481
- let videoBufferLevel = Math.round(getVideoBufferLevel() * 100) / 100;
482
- $('#videoBuffer').css('width', videoBufferLevel + '%').attr('aria-valuenow', videoBufferLevel);
483
- $('#videoBuffer').text(videoBufferLevel)
484
-
485
- let audioBufferLevel = Math.round(getAudioBufferLevel() * 100) / 100;
486
- $('#audioBuffer').css('width', audioBufferLevel + '%').attr('aria-valuenow', audioBufferLevel);
487
- $('#audioBuffer').text(audioBufferLevel)
488
-
489
- $('#segmentTime').text('Segment Time: ' + formatTimestamp(event.time))
490
-
491
- $('#wallClockTime').text('Wall Clock Time: ' + formatTimestamp(Date.now() / 1000))
492
-
493
- })
494
-
495
- mkPlayer.on('playing', function(event) {
496
- if (!startupTimeCalculated) {
497
- const startupTime = new Date(Date.now() - loadTime);
498
- $('#startupTime').text('Video Startup Time: ' + startupTime.getSeconds() + "." + startupTime.getMilliseconds());
499
- startupTimeCalculated = true
500
- }
501
- console.info('[MKPlayer] playing: ' + JSON.stringify(event));
502
- })
503
-
504
- mkPlayer.on('paused', function(event) {
505
- console.info('[MKPlayer] paused: ' + JSON.stringify(event));
506
- })
507
-
508
- mkPlayer.on('playbackfinished', (event) => {
509
- console.info('[MKPlayer] playbackfinished' + JSON.stringify(event));
510
- })
511
-
512
- mkPlayer.on('segmentplayback', function(event) {
513
- if (event.mimeType === 'video/mp4') {
514
- let segmentUrl = event.url
515
- let fileNameIndex = segmentUrl.lastIndexOf("/") + 1;
516
- const filename = segmentUrl.substr(fileNameIndex);
517
- $('#segmentPlaybackLabel').text('[MKPlayer] Segment: url=' + filename + ' time=' + event.playbackTime)
518
- previousSegmentPlaybackTime = event.playbackTime;
519
- }
520
- })
521
-
522
- mkPlayer.on('qualitychanged', function(event) {
523
- currentPlayingBitrate = event.targetQuality.bitrate
524
- $('#playbackBitrate').text('Video Playback Quality: ' + currentPlayingBitrate)
525
- });
526
-
527
- mkPlayer.on('metadata', function(event) {
528
- $('#metadataLabel').text('Metadata: ' + JSON.stringify(event));
529
- });
530
-
531
- mkPlayer.on('metadataparsed', function(event) {
532
- console.info('[MKPlayer] metadata parsed' + JSON.stringify(event));
533
- });
534
-
535
- load(liveSource)
536
-
537
- </script>
538
- </body>
539
- </html>
package/mk_logo.png DELETED
Binary file