unified-video-framework 1.4.224 → 1.4.226
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/web/dist/WebPlayer.d.ts +6 -0
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +156 -3
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/react/WebPlayerView.d.ts +13 -0
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +2 -0
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +221 -4
- package/packages/web/src/react/WebPlayerView.tsx +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.226",
|
|
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",
|
|
@@ -77,6 +77,7 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
77
77
|
private coreChapterManager;
|
|
78
78
|
private chapterConfig;
|
|
79
79
|
private qualityFilter;
|
|
80
|
+
private premiumQualities;
|
|
80
81
|
private debugLog;
|
|
81
82
|
private debugError;
|
|
82
83
|
private debugWarn;
|
|
@@ -224,6 +225,9 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
224
225
|
private detectAvailableQualities;
|
|
225
226
|
private applyQualityFilter;
|
|
226
227
|
setQualityFilter(filter: any): void;
|
|
228
|
+
private isQualityPremium;
|
|
229
|
+
private isPremiumUser;
|
|
230
|
+
private handlePremiumQualityClick;
|
|
227
231
|
private detectAvailableSubtitles;
|
|
228
232
|
private setupSettingsEventListeners;
|
|
229
233
|
private toggleAccordionSection;
|
|
@@ -232,6 +236,8 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
232
236
|
private updateSettingsActiveStates;
|
|
233
237
|
private setPlaybackRateFromSettings;
|
|
234
238
|
private setQualityFromSettings;
|
|
239
|
+
private applyHLSQualityFilter;
|
|
240
|
+
private applyDASHQualityFilter;
|
|
235
241
|
private setSubtitle;
|
|
236
242
|
private _updateCastActiveTracks;
|
|
237
243
|
private onCastButtonClick;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,7 @@ export class WebPlayer extends BasePlayer {
|
|
|
80
80
|
this.coreChapterManager = null;
|
|
81
81
|
this.chapterConfig = { enabled: false };
|
|
82
82
|
this.qualityFilter = null;
|
|
83
|
+
this.premiumQualities = null;
|
|
83
84
|
this.autoplayAttempted = false;
|
|
84
85
|
this.clickToUnmuteHandler = null;
|
|
85
86
|
}
|
|
@@ -146,6 +147,10 @@ export class WebPlayer extends BasePlayer {
|
|
|
146
147
|
console.log('Quality filter config found:', config.qualityFilter);
|
|
147
148
|
this.qualityFilter = config.qualityFilter;
|
|
148
149
|
}
|
|
150
|
+
if (config && config.premiumQualities) {
|
|
151
|
+
console.log('Premium qualities config found:', config.premiumQualities);
|
|
152
|
+
this.premiumQualities = config.premiumQualities;
|
|
153
|
+
}
|
|
149
154
|
await super.initialize(container, config);
|
|
150
155
|
}
|
|
151
156
|
async setupPlayer() {
|
|
@@ -7541,7 +7546,16 @@ export class WebPlayer extends BasePlayer {
|
|
|
7541
7546
|
<div class="uvf-accordion-content" data-section="quality">`;
|
|
7542
7547
|
this.availableQualities.forEach(quality => {
|
|
7543
7548
|
const isActive = quality.value === this.currentQuality ? 'active' : '';
|
|
7544
|
-
|
|
7549
|
+
const isPremium = this.isQualityPremium(quality);
|
|
7550
|
+
const isLocked = isPremium && !this.isPremiumUser();
|
|
7551
|
+
const qualityHeight = quality.height || 0;
|
|
7552
|
+
if (isLocked) {
|
|
7553
|
+
const premiumLabel = this.premiumQualities?.premiumLabel || '🔒 Premium';
|
|
7554
|
+
menuHTML += `<div class="uvf-settings-option quality-option premium-locked ${isActive}" data-quality="${quality.value}" data-quality-height="${qualityHeight}" data-quality-label="${quality.label}">${quality.label} <span style="margin-left: 4px; opacity: 0.7; font-size: 11px;">${premiumLabel}</span></div>`;
|
|
7555
|
+
}
|
|
7556
|
+
else {
|
|
7557
|
+
menuHTML += `<div class="uvf-settings-option quality-option ${isActive}" data-quality="${quality.value}">${quality.label}</div>`;
|
|
7558
|
+
}
|
|
7545
7559
|
});
|
|
7546
7560
|
menuHTML += `</div></div>`;
|
|
7547
7561
|
}
|
|
@@ -7652,6 +7666,46 @@ export class WebPlayer extends BasePlayer {
|
|
|
7652
7666
|
this.updateSettingsMenu();
|
|
7653
7667
|
}
|
|
7654
7668
|
}
|
|
7669
|
+
isQualityPremium(quality) {
|
|
7670
|
+
if (!this.premiumQualities || !this.premiumQualities.enabled) {
|
|
7671
|
+
return false;
|
|
7672
|
+
}
|
|
7673
|
+
const config = this.premiumQualities;
|
|
7674
|
+
const height = quality.height || 0;
|
|
7675
|
+
const label = quality.label || '';
|
|
7676
|
+
if (config.requiredHeights && config.requiredHeights.length > 0) {
|
|
7677
|
+
if (config.requiredHeights.includes(height))
|
|
7678
|
+
return true;
|
|
7679
|
+
}
|
|
7680
|
+
if (config.requiredLabels && config.requiredLabels.length > 0) {
|
|
7681
|
+
if (config.requiredLabels.includes(label))
|
|
7682
|
+
return true;
|
|
7683
|
+
}
|
|
7684
|
+
if (config.minPremiumHeight !== undefined) {
|
|
7685
|
+
if (height >= config.minPremiumHeight)
|
|
7686
|
+
return true;
|
|
7687
|
+
}
|
|
7688
|
+
return false;
|
|
7689
|
+
}
|
|
7690
|
+
isPremiumUser() {
|
|
7691
|
+
return this.premiumQualities?.isPremiumUser === true;
|
|
7692
|
+
}
|
|
7693
|
+
handlePremiumQualityClick(element) {
|
|
7694
|
+
const height = parseInt(element.dataset.qualityHeight || '0');
|
|
7695
|
+
const label = element.dataset.qualityLabel || '';
|
|
7696
|
+
this.debugLog(`Premium quality clicked: ${label} (${height}p)`);
|
|
7697
|
+
if (this.premiumQualities?.onPremiumQualityClick) {
|
|
7698
|
+
this.premiumQualities.onPremiumQualityClick({ height, label });
|
|
7699
|
+
}
|
|
7700
|
+
const message = this.premiumQualities?.premiumLabel || 'Premium';
|
|
7701
|
+
this.showNotification(`${label} requires ${message.replace('🔒 ', '')}`);
|
|
7702
|
+
if (this.premiumQualities?.unlockUrl) {
|
|
7703
|
+
setTimeout(() => {
|
|
7704
|
+
window.location.href = this.premiumQualities.unlockUrl;
|
|
7705
|
+
}, 1500);
|
|
7706
|
+
}
|
|
7707
|
+
this.hideSettingsMenu();
|
|
7708
|
+
}
|
|
7655
7709
|
detectAvailableSubtitles() {
|
|
7656
7710
|
this.availableSubtitles = [{ value: 'off', label: 'Off' }];
|
|
7657
7711
|
if (this.video?.textTracks) {
|
|
@@ -7699,7 +7753,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
7699
7753
|
settingsMenu.querySelectorAll('.quality-option').forEach(option => {
|
|
7700
7754
|
option.addEventListener('click', (e) => {
|
|
7701
7755
|
e.stopPropagation();
|
|
7702
|
-
const
|
|
7756
|
+
const target = e.target;
|
|
7757
|
+
const quality = target.dataset.quality || 'auto';
|
|
7758
|
+
if (target.classList.contains('premium-locked')) {
|
|
7759
|
+
this.handlePremiumQualityClick(target);
|
|
7760
|
+
return;
|
|
7761
|
+
}
|
|
7703
7762
|
this.setQualityFromSettings(quality);
|
|
7704
7763
|
this.updateAccordionAfterSelection('quality');
|
|
7705
7764
|
});
|
|
@@ -7771,10 +7830,18 @@ export class WebPlayer extends BasePlayer {
|
|
|
7771
7830
|
this.currentQuality = quality;
|
|
7772
7831
|
if (quality === 'auto') {
|
|
7773
7832
|
if (this.hls) {
|
|
7774
|
-
this.
|
|
7833
|
+
if (this.qualityFilter) {
|
|
7834
|
+
this.applyHLSQualityFilter();
|
|
7835
|
+
}
|
|
7836
|
+
else {
|
|
7837
|
+
this.hls.currentLevel = -1;
|
|
7838
|
+
}
|
|
7775
7839
|
}
|
|
7776
7840
|
else if (this.dash) {
|
|
7777
7841
|
this.dash.setAutoSwitchQualityFor('video', true);
|
|
7842
|
+
if (this.qualityFilter) {
|
|
7843
|
+
this.applyDASHQualityFilter();
|
|
7844
|
+
}
|
|
7778
7845
|
}
|
|
7779
7846
|
}
|
|
7780
7847
|
else {
|
|
@@ -7789,6 +7856,92 @@ export class WebPlayer extends BasePlayer {
|
|
|
7789
7856
|
}
|
|
7790
7857
|
this.debugLog(`Quality set to ${quality}`);
|
|
7791
7858
|
}
|
|
7859
|
+
applyHLSQualityFilter() {
|
|
7860
|
+
if (!this.hls || !this.hls.levels)
|
|
7861
|
+
return;
|
|
7862
|
+
const allowedLevels = [];
|
|
7863
|
+
this.hls.levels.forEach((level, index) => {
|
|
7864
|
+
let allowed = true;
|
|
7865
|
+
if (this.qualityFilter) {
|
|
7866
|
+
const filter = this.qualityFilter;
|
|
7867
|
+
if (filter.allowedHeights && filter.allowedHeights.length > 0) {
|
|
7868
|
+
allowed = allowed && filter.allowedHeights.includes(level.height);
|
|
7869
|
+
}
|
|
7870
|
+
if (filter.minHeight !== undefined) {
|
|
7871
|
+
allowed = allowed && level.height >= filter.minHeight;
|
|
7872
|
+
}
|
|
7873
|
+
if (filter.maxHeight !== undefined) {
|
|
7874
|
+
allowed = allowed && level.height <= filter.maxHeight;
|
|
7875
|
+
}
|
|
7876
|
+
}
|
|
7877
|
+
if (this.premiumQualities && this.premiumQualities.enabled && !this.isPremiumUser()) {
|
|
7878
|
+
const isPremium = this.isQualityPremium({ height: level.height, label: `${level.height}p` });
|
|
7879
|
+
if (isPremium) {
|
|
7880
|
+
allowed = false;
|
|
7881
|
+
}
|
|
7882
|
+
}
|
|
7883
|
+
if (allowed) {
|
|
7884
|
+
allowedLevels.push(index);
|
|
7885
|
+
}
|
|
7886
|
+
});
|
|
7887
|
+
if (allowedLevels.length > 0) {
|
|
7888
|
+
this.hls.autoLevelCapping = Math.max(...allowedLevels);
|
|
7889
|
+
this.hls.minAutoLevel = Math.min(...allowedLevels);
|
|
7890
|
+
this.hls.currentLevel = -1;
|
|
7891
|
+
this.debugLog(`Auto quality limited to levels: ${allowedLevels.join(', ')}`);
|
|
7892
|
+
}
|
|
7893
|
+
else {
|
|
7894
|
+
this.hls.currentLevel = -1;
|
|
7895
|
+
}
|
|
7896
|
+
}
|
|
7897
|
+
applyDASHQualityFilter() {
|
|
7898
|
+
if (!this.dash)
|
|
7899
|
+
return;
|
|
7900
|
+
try {
|
|
7901
|
+
const videoQualities = this.dash.getBitrateInfoListFor('video');
|
|
7902
|
+
const allowedIndices = [];
|
|
7903
|
+
videoQualities.forEach((quality, index) => {
|
|
7904
|
+
let allowed = true;
|
|
7905
|
+
if (this.qualityFilter) {
|
|
7906
|
+
const filter = this.qualityFilter;
|
|
7907
|
+
if (filter.allowedHeights && filter.allowedHeights.length > 0) {
|
|
7908
|
+
allowed = allowed && filter.allowedHeights.includes(quality.height);
|
|
7909
|
+
}
|
|
7910
|
+
if (filter.minHeight !== undefined) {
|
|
7911
|
+
allowed = allowed && quality.height >= filter.minHeight;
|
|
7912
|
+
}
|
|
7913
|
+
if (filter.maxHeight !== undefined) {
|
|
7914
|
+
allowed = allowed && quality.height <= filter.maxHeight;
|
|
7915
|
+
}
|
|
7916
|
+
}
|
|
7917
|
+
if (this.premiumQualities && this.premiumQualities.enabled && !this.isPremiumUser()) {
|
|
7918
|
+
const isPremium = this.isQualityPremium({ height: quality.height, label: `${quality.height}p` });
|
|
7919
|
+
if (isPremium) {
|
|
7920
|
+
allowed = false;
|
|
7921
|
+
}
|
|
7922
|
+
}
|
|
7923
|
+
if (allowed) {
|
|
7924
|
+
allowedIndices.push(index);
|
|
7925
|
+
}
|
|
7926
|
+
});
|
|
7927
|
+
if (allowedIndices.length > 0) {
|
|
7928
|
+
const settings = {
|
|
7929
|
+
streaming: {
|
|
7930
|
+
abr: {
|
|
7931
|
+
limitBitrateByPortal: false,
|
|
7932
|
+
maxBitrate: { video: videoQualities[Math.max(...allowedIndices)].bitrate },
|
|
7933
|
+
minBitrate: { video: videoQualities[Math.min(...allowedIndices)].bitrate },
|
|
7934
|
+
}
|
|
7935
|
+
}
|
|
7936
|
+
};
|
|
7937
|
+
this.dash.updateSettings(settings);
|
|
7938
|
+
this.debugLog(`Auto quality limited to DASH indices: ${allowedIndices.join(', ')}`);
|
|
7939
|
+
}
|
|
7940
|
+
}
|
|
7941
|
+
catch (e) {
|
|
7942
|
+
this.debugError('Error applying DASH quality filter:', e);
|
|
7943
|
+
}
|
|
7944
|
+
}
|
|
7792
7945
|
setSubtitle(subtitle) {
|
|
7793
7946
|
this.currentSubtitle = subtitle;
|
|
7794
7947
|
if (subtitle === 'off') {
|