unified-video-framework 1.4.411 → 1.4.412
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts +22 -0
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts.map +1 -1
- package/packages/core/src/interfaces/IVideoPlayer.ts +27 -0
- package/packages/web/dist/WebPlayer.d.ts +4 -0
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +67 -0
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts +13 -0
- package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts.map +1 -0
- package/packages/web/dist/drm/BunnyCDNDRMProvider.js +65 -0
- package/packages/web/dist/drm/BunnyCDNDRMProvider.js.map +1 -0
- package/packages/web/dist/drm/DRMManager.d.ts +13 -0
- package/packages/web/dist/drm/DRMManager.d.ts.map +1 -0
- package/packages/web/dist/drm/DRMManager.js +59 -0
- package/packages/web/dist/drm/DRMManager.js.map +1 -0
- package/packages/web/dist/drm/FairPlayDRMHandler.d.ts +24 -0
- package/packages/web/dist/drm/FairPlayDRMHandler.d.ts.map +1 -0
- package/packages/web/dist/drm/FairPlayDRMHandler.js +190 -0
- package/packages/web/dist/drm/FairPlayDRMHandler.js.map +1 -0
- package/packages/web/dist/drm/WidevineDRMHandler.d.ts +21 -0
- package/packages/web/dist/drm/WidevineDRMHandler.d.ts.map +1 -0
- package/packages/web/dist/drm/WidevineDRMHandler.js +143 -0
- package/packages/web/dist/drm/WidevineDRMHandler.js.map +1 -0
- package/packages/web/dist/drm/types/DRMTypes.d.ts +52 -0
- package/packages/web/dist/drm/types/DRMTypes.d.ts.map +1 -0
- package/packages/web/dist/drm/types/DRMTypes.js +15 -0
- package/packages/web/dist/drm/types/DRMTypes.js.map +1 -0
- package/packages/web/dist/react/WebPlayerView.d.ts +18 -1
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +5 -0
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +95 -0
- package/packages/web/src/drm/BunnyCDNDRMProvider.ts +104 -0
- package/packages/web/src/drm/DRMManager.ts +99 -0
- package/packages/web/src/drm/FairPlayDRMHandler.ts +322 -0
- package/packages/web/src/drm/WidevineDRMHandler.ts +246 -0
- package/packages/web/src/drm/types/DRMTypes.ts +97 -0
- package/packages/web/src/react/WebPlayerView.tsx +28 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.412",
|
|
4
4
|
"description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
|
|
5
5
|
"main": "packages/core/dist/index.js",
|
|
6
6
|
"types": "packages/core/dist/index.d.ts",
|
|
@@ -19,11 +19,33 @@ export interface VideoSource {
|
|
|
19
19
|
error: any;
|
|
20
20
|
}>) => void;
|
|
21
21
|
}
|
|
22
|
+
export interface DRMToken {
|
|
23
|
+
token: string;
|
|
24
|
+
expires: number;
|
|
25
|
+
tokenVer?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface DRMTokenProvider {
|
|
28
|
+
getManifestToken(): Promise<DRMToken | null>;
|
|
29
|
+
getSegmentToken(): Promise<DRMToken | null>;
|
|
30
|
+
getLicenseToken(): Promise<DRMToken | null>;
|
|
31
|
+
shouldRenewToken(token: DRMToken): boolean;
|
|
32
|
+
renewToken(token: DRMToken): Promise<DRMToken>;
|
|
33
|
+
}
|
|
34
|
+
export interface BunnyCDNDRMConfig {
|
|
35
|
+
libraryId: string;
|
|
36
|
+
videoId: string;
|
|
37
|
+
pullZoneUrl: string;
|
|
38
|
+
tokenProvider: DRMTokenProvider;
|
|
39
|
+
certificateUrl?: string;
|
|
40
|
+
licenseUrl?: string;
|
|
41
|
+
enableReferrerProtection?: boolean;
|
|
42
|
+
}
|
|
22
43
|
export interface DRMConfig {
|
|
23
44
|
licenseUrl: string;
|
|
24
45
|
certificateUrl?: string;
|
|
25
46
|
headers?: Record<string, string>;
|
|
26
47
|
type: 'widevine' | 'playready' | 'fairplay' | 'clearkey';
|
|
48
|
+
bunny?: BunnyCDNDRMConfig;
|
|
27
49
|
}
|
|
28
50
|
export interface SubtitleTrack {
|
|
29
51
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/interfaces/IVideoPlayer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAGzB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"IVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/interfaces/IVideoPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,11 +24,38 @@ export interface VideoSource {
|
|
|
24
24
|
onAllSourcesFailed?: (errors: Array<{ url: string; error: any }>) => void; // Callback when all sources fail
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
export interface DRMToken {
|
|
28
|
+
token: string;
|
|
29
|
+
expires: number;
|
|
30
|
+
tokenVer?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface DRMTokenProvider {
|
|
34
|
+
getManifestToken(): Promise<DRMToken | null>;
|
|
35
|
+
getSegmentToken(): Promise<DRMToken | null>;
|
|
36
|
+
getLicenseToken(): Promise<DRMToken | null>;
|
|
37
|
+
shouldRenewToken(token: DRMToken): boolean;
|
|
38
|
+
renewToken(token: DRMToken): Promise<DRMToken>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface BunnyCDNDRMConfig {
|
|
42
|
+
libraryId: string;
|
|
43
|
+
videoId: string;
|
|
44
|
+
pullZoneUrl: string;
|
|
45
|
+
tokenProvider: DRMTokenProvider;
|
|
46
|
+
certificateUrl?: string;
|
|
47
|
+
licenseUrl?: string;
|
|
48
|
+
enableReferrerProtection?: boolean;
|
|
49
|
+
}
|
|
50
|
+
|
|
27
51
|
export interface DRMConfig {
|
|
28
52
|
licenseUrl: string;
|
|
29
53
|
certificateUrl?: string;
|
|
30
54
|
headers?: Record<string, string>;
|
|
31
55
|
type: 'widevine' | 'playready' | 'fairplay' | 'clearkey';
|
|
56
|
+
|
|
57
|
+
// Bunny CDN specific configuration (optional)
|
|
58
|
+
bunny?: BunnyCDNDRMConfig;
|
|
32
59
|
}
|
|
33
60
|
|
|
34
61
|
export interface SubtitleTrack {
|
|
@@ -52,6 +52,8 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
52
52
|
private selectedSubtitleKey;
|
|
53
53
|
private _kiTo;
|
|
54
54
|
private paywallController;
|
|
55
|
+
private drmManager;
|
|
56
|
+
private drmConfig;
|
|
55
57
|
private _playPromise;
|
|
56
58
|
private _deferredPause;
|
|
57
59
|
private _lastToggleAt;
|
|
@@ -104,6 +106,8 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
104
106
|
private getMediaErrorMessage;
|
|
105
107
|
private updateBufferProgress;
|
|
106
108
|
load(source: any): Promise<void>;
|
|
109
|
+
private initializeDRM;
|
|
110
|
+
private convertDRMConfig;
|
|
107
111
|
private loadVideoSource;
|
|
108
112
|
private tryFallbackSource;
|
|
109
113
|
private showFallbackPoster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BasePlayer } from "../../core/dist/BasePlayer.js";
|
|
|
2
2
|
import { ChapterManager as CoreChapterManager } from "../../core/dist/index.js";
|
|
3
3
|
import { ChapterManager } from "./chapters/ChapterManager.js";
|
|
4
4
|
import YouTubeExtractor from "./utils/YouTubeExtractor.js";
|
|
5
|
+
import { DRMManager } from "./drm/DRMManager.js";
|
|
5
6
|
export class WebPlayer extends BasePlayer {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(...arguments);
|
|
@@ -49,6 +50,8 @@ export class WebPlayer extends BasePlayer {
|
|
|
49
50
|
this.selectedSubtitleKey = 'off';
|
|
50
51
|
this._kiTo = null;
|
|
51
52
|
this.paywallController = null;
|
|
53
|
+
this.drmManager = null;
|
|
54
|
+
this.drmConfig = null;
|
|
52
55
|
this._playPromise = null;
|
|
53
56
|
this._deferredPause = false;
|
|
54
57
|
this._lastToggleAt = 0;
|
|
@@ -530,6 +533,10 @@ export class WebPlayer extends BasePlayer {
|
|
|
530
533
|
if (!this.video) {
|
|
531
534
|
throw new Error('Video element not initialized');
|
|
532
535
|
}
|
|
536
|
+
if (source.drm) {
|
|
537
|
+
this.debugLog('[WebPlayer] DRM configuration detected, initializing...');
|
|
538
|
+
await this.initializeDRM(source);
|
|
539
|
+
}
|
|
533
540
|
const sourceType = this.detectSourceType(source);
|
|
534
541
|
try {
|
|
535
542
|
await this.loadVideoSource(source.url, sourceType, source);
|
|
@@ -548,6 +555,45 @@ export class WebPlayer extends BasePlayer {
|
|
|
548
555
|
}
|
|
549
556
|
}
|
|
550
557
|
}
|
|
558
|
+
async initializeDRM(source) {
|
|
559
|
+
if (!source.drm)
|
|
560
|
+
return;
|
|
561
|
+
try {
|
|
562
|
+
const webDRMConfig = this.convertDRMConfig(source.drm);
|
|
563
|
+
this.drmManager = new DRMManager(webDRMConfig);
|
|
564
|
+
await this.drmManager.initialize();
|
|
565
|
+
this.debugLog('[WebPlayer] DRM initialized successfully');
|
|
566
|
+
this.drmConfig = webDRMConfig;
|
|
567
|
+
}
|
|
568
|
+
catch (error) {
|
|
569
|
+
console.error('[WebPlayer] Failed to initialize DRM:', error);
|
|
570
|
+
this.handleError({
|
|
571
|
+
code: 'DRM_INIT_ERROR',
|
|
572
|
+
message: 'Failed to initialize DRM protection',
|
|
573
|
+
type: 'drm',
|
|
574
|
+
fatal: true,
|
|
575
|
+
details: error
|
|
576
|
+
});
|
|
577
|
+
throw error;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
convertDRMConfig(drmConfig) {
|
|
581
|
+
if (drmConfig.bunny) {
|
|
582
|
+
return {
|
|
583
|
+
provider: 'bunny',
|
|
584
|
+
bunny: drmConfig.bunny
|
|
585
|
+
};
|
|
586
|
+
}
|
|
587
|
+
return {
|
|
588
|
+
provider: 'generic',
|
|
589
|
+
generic: {
|
|
590
|
+
type: drmConfig.type === 'fairplay' ? 'fairplay' : 'widevine',
|
|
591
|
+
licenseUrl: drmConfig.licenseUrl,
|
|
592
|
+
certificateUrl: drmConfig.certificateUrl,
|
|
593
|
+
headers: drmConfig.headers
|
|
594
|
+
}
|
|
595
|
+
};
|
|
596
|
+
}
|
|
551
597
|
async loadVideoSource(url, sourceType, source) {
|
|
552
598
|
switch (sourceType) {
|
|
553
599
|
case 'hls':
|
|
@@ -752,6 +798,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
752
798
|
this.debugLog(`⏩ HLS startPosition set to: ${this.config.startTime}s (continue watching)`);
|
|
753
799
|
}
|
|
754
800
|
this.hls = new window.Hls(hlsConfig);
|
|
801
|
+
if (this.drmManager && this.drmConfig) {
|
|
802
|
+
this.debugLog('[WebPlayer] Setting up DRM for HLS playback...');
|
|
803
|
+
await this.drmManager.setupDRM(this.video, url);
|
|
804
|
+
this.debugLog('[WebPlayer] DRM setup complete');
|
|
805
|
+
}
|
|
755
806
|
this.hls.loadSource(url);
|
|
756
807
|
this.hls.attachMedia(this.video);
|
|
757
808
|
this.hls.on(window.Hls.Events.MANIFEST_PARSED, (event, data) => {
|
|
@@ -782,6 +833,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
782
833
|
});
|
|
783
834
|
}
|
|
784
835
|
else if (this.video.canPlayType('application/vnd.apple.mpegurl')) {
|
|
836
|
+
if (this.drmManager && this.drmConfig) {
|
|
837
|
+
this.debugLog('[WebPlayer] Setting up DRM for native Safari HLS playback...');
|
|
838
|
+
await this.drmManager.setupDRM(this.video, url);
|
|
839
|
+
this.debugLog('[WebPlayer] DRM setup complete');
|
|
840
|
+
}
|
|
785
841
|
this.video.src = url;
|
|
786
842
|
}
|
|
787
843
|
else {
|
|
@@ -817,6 +873,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
817
873
|
await this.loadScript('https://cdn.dashjs.org/latest/dash.all.min.js');
|
|
818
874
|
}
|
|
819
875
|
this.dash = window.dashjs.MediaPlayer().create();
|
|
876
|
+
if (this.drmManager && this.drmConfig) {
|
|
877
|
+
this.debugLog('[WebPlayer] Setting up DRM for DASH playback...');
|
|
878
|
+
await this.drmManager.setupDRM(this.video, url);
|
|
879
|
+
this.debugLog('[WebPlayer] DRM setup complete');
|
|
880
|
+
}
|
|
820
881
|
if (this.config.startTime !== undefined && this.config.startTime > 0) {
|
|
821
882
|
this.debugLog(`⏩ DASH will seek to: ${this.config.startTime}s on ready (continue watching)`);
|
|
822
883
|
}
|
|
@@ -9668,6 +9729,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
9668
9729
|
}
|
|
9669
9730
|
async destroy() {
|
|
9670
9731
|
await this.cleanup();
|
|
9732
|
+
if (this.drmManager) {
|
|
9733
|
+
this.debugLog('[WebPlayer] Cleaning up DRM resources...');
|
|
9734
|
+
this.drmManager.destroy();
|
|
9735
|
+
this.drmManager = null;
|
|
9736
|
+
this.drmConfig = null;
|
|
9737
|
+
}
|
|
9671
9738
|
if (this.hideControlsTimeout) {
|
|
9672
9739
|
clearTimeout(this.hideControlsTimeout);
|
|
9673
9740
|
this.hideControlsTimeout = null;
|