@give-tech/ec-player 0.0.1-beta.5 → 0.0.1-beta.7

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.
@@ -2,6 +2,7 @@
2
2
  * HLS 播放器
3
3
  *
4
4
  * 支持 HLS TS 和 fMP4 格式
5
+ * 支持 H.264 (AVC) 和 H.265 (HEVC) 编码
5
6
  */
6
7
  import { type VideoSample } from '../demuxer/fMP4Demuxer';
7
8
  import { BasePlayer } from './BasePlayer';
@@ -18,17 +19,20 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
18
19
  private pesExtractor;
19
20
  private nalParser;
20
21
  private fmp4Demuxer;
22
+ private hevcDecoder;
21
23
  private isPrefetching;
22
24
  private currentSegmentIndex;
23
25
  private segments;
24
26
  private fmp4Segments;
25
27
  private initSegment;
26
28
  private _isFMP4;
29
+ private _isHevc;
27
30
  private currentPlaylistUrl;
28
31
  private _nalQueue;
29
32
  private _sampleQueue;
30
33
  private prefetcher;
31
34
  get isFMP4(): boolean;
35
+ get isHevc(): boolean;
32
36
  get nalQueue(): QueuedNAL[];
33
37
  get sampleQueue(): QueuedSample[];
34
38
  constructor(config?: HLSPlayerConfig, callbacks?: import('../types').PlayerCallbacks);
@@ -68,10 +72,22 @@ export declare class HLSPlayer extends BasePlayer<HLSPlayerConfig> {
68
72
  * 加载 fMP4 初始化段
69
73
  */
70
74
  private loadInitSegment;
75
+ /**
76
+ * 加载新的初始化段(用于不连续性流)
77
+ */
78
+ loadNewInitSegment(uri: string): Promise<void>;
79
+ /**
80
+ * 初始化 HEVC 解码器
81
+ */
82
+ private initHevcDecoder;
71
83
  /**
72
84
  * 从 avcC 初始化解码器
73
85
  */
74
86
  private initDecoderFromAvcC;
87
+ /**
88
+ * 从 hvcC 初始化 HEVC 解码器
89
+ */
90
+ private initDecoderFromHvcC;
75
91
  /**
76
92
  * 解析 HLS 播放列表
77
93
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HLSPlayer.d.ts","sourceRoot":"","sources":["../../src/player/HLSPlayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEtE,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,UAAU,CAAA;AAmCpE,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAGD,UAAU,YAAY;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AAoFD,qBAAa,SAAU,SAAQ,UAAU,CAAC,eAAe,CAAC;IAExD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAGvC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,UAAU,CAAoC;IAGtD,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAA0B;IACrD,IAAI,WAAW,IAAI,YAAY,EAAE,CAA6B;gBAElD,MAAM,GAAE,eAAoB,EAAE,SAAS,GAAE,OAAO,UAAU,EAAE,eAAoB;IAI5F;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDtC;;OAEG;IACY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3C;;OAEG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBpC;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;OAEG;cACsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEpD;;OAEG;IACH,OAAO,CAAC,cAAc;IAuCtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAqCvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAyBvC;;OAEG;YACW,eAAe;IAmC7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;YACW,aAAa;IA0F3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgFpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAE1B,UAAmB,UAAU,GAAI,YAAW,MAAU,KAAG,IAAI,CAqC5D;CACF"}
1
+ {"version":3,"file":"HLSPlayer.d.ts","sourceRoot":"","sources":["../../src/player/HLSPlayer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEtE,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,UAAU,CAAA;AAoCpE,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAGD,UAAU,YAAY;IACpB,MAAM,EAAE,WAAW,CAAA;CACpB;AA4FD,qBAAa,SAAU,SAAQ,UAAU,CAAC,eAAe,CAAC;IAExD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAGvC,OAAO,CAAC,WAAW,CAA2B;IAG9C,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,UAAU,CAAoC;IAGtD,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,MAAM,IAAI,OAAO,CAAwB;IAC7C,IAAI,QAAQ,IAAI,SAAS,EAAE,CAA0B;IACrD,IAAI,WAAW,IAAI,YAAY,EAAE,CAA6B;gBAElD,MAAM,GAAE,eAAoB,EAAE,SAAS,GAAE,OAAO,UAAU,EAAE,eAAoB;IAI5F;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDtC;;OAEG;IACY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3C;;OAEG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBpC;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;OAEG;cACsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEpD;;OAEG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAqCvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAyBvC;;OAEG;YACW,eAAe;IAkD7B;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDpD;;OAEG;YACW,eAAe;IAQ7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8C3B;;OAEG;YACW,aAAa;IA+G3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4FpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAE1B,UAAmB,UAAU,GAAI,YAAW,MAAU,KAAG,IAAI,CAqC5D;CACF"}
@@ -18,6 +18,8 @@ export interface SegmentInfo {
18
18
  start: number;
19
19
  end: number;
20
20
  };
21
+ /** 初始化段 URI(用于不连续性流) */
22
+ initSegmentUri?: string;
21
23
  }
22
24
  /**
23
25
  * 分片预取器状态
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/SegmentPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe;IACf,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,eAAe;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACnE,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACpE;AAED;;;;;;GAMG;AACH,8BAAsB,iBAAkB,SAAQ,cAAc,CAC5D,uBAAuB,EACvB,uBAAuB,CACxB;IACC,yBAAyB;IACzB,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAK;IAEjD,WAAW;IACX,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAEtC,aAAa;IACb,SAAS,CAAC,mBAAmB,SAAI;IAEjC,eAAe;IACf,SAAS,CAAC,mBAAmB,SAAI;IAEjC,uBAAuB;IACvB,SAAS,CAAC,OAAO,SAAK;IAEtB,aAAa;IACb,SAAS,CAAC,oBAAoB,UAAQ;gBAGpC,MAAM,EAAE,uBAAuB,EAC/B,SAAS,GAAE,0BAA+B;IAK5C;;OAEG;cACgB,kBAAkB,IAAI,uBAAuB;IAUhE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAgBlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD1C;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAoCvB;;OAEG;IACM,OAAO,IAAI,IAAI;IAQxB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAM1B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAE/E;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAC/D"}
1
+ {"version":3,"file":"SegmentPrefetcher.d.ts","sourceRoot":"","sources":["../../src/prefetch/SegmentPrefetcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe;IACf,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,eAAe;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACnE,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACpE;AAED;;;;;;GAMG;AACH,8BAAsB,iBAAkB,SAAQ,cAAc,CAC5D,uBAAuB,EACvB,uBAAuB,CACxB;IACC,yBAAyB;IACzB,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAK;IAEjD,WAAW;IACX,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAEtC,aAAa;IACb,SAAS,CAAC,mBAAmB,SAAI;IAEjC,eAAe;IACf,SAAS,CAAC,mBAAmB,SAAI;IAEjC,uBAAuB;IACvB,SAAS,CAAC,OAAO,SAAK;IAEtB,aAAa;IACb,SAAS,CAAC,oBAAoB,UAAQ;gBAGpC,MAAM,EAAE,uBAAuB,EAC/B,SAAS,GAAE,0BAA+B;IAK5C;;OAEG;cACgB,kBAAkB,IAAI,uBAAuB;IAUhE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY3C;;OAEG;IACM,YAAY,IAAI,MAAM;IAI/B;;OAEG;IACM,cAAc,IAAI,OAAO;IAgBlC;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD1C;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAoCvB;;OAEG;IACM,OAAO,IAAI,IAAI;IAQxB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAM1B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAE/E;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAC/D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@give-tech/ec-player",
3
- "version": "0.0.1-beta.5",
3
+ "version": "0.0.1-beta.7",
4
4
  "description": "EcPlayer Core - HLS/FLV Streaming Video Player with WASM Decoder",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",